@charset "UTF-8";
/* line 1, app/assets/stylesheets/_sidebar_nav.scss */
.sidebar {
  background-color: #f8f9fa;
  width: 250px;
}

/* line 7, app/assets/stylesheets/_sidebar_nav.scss */
.sidebar-content {
  flex-grow: 1;
  overflow-y: auto;
}

/* line 12, app/assets/stylesheets/_sidebar_nav.scss */
.side-nav-link {
  text-decoration: none;
  color: var(--blue-grey-700);
  font-size: 0.875rem;
  /* 14px */
  padding: 0.375rem;
  /* 6px all around */
  transition: all 0.2s;
}

/* line 19, app/assets/stylesheets/_sidebar_nav.scss */
.side-nav-link:hover {
  background-color: #f8f9fa;
  color: var(--blue-grey-900);
}

/* line 24, app/assets/stylesheets/_sidebar_nav.scss */
.side-nav-link.active {
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-900);
  font-weight: 500;
}

/* line 31, app/assets/stylesheets/_sidebar_nav.scss */
.side-nav-link .badge {
  font-size: 0.75rem;
  padding: 0.15rem 0.4rem;
  line-height: 1;
}

/* line 40, app/assets/stylesheets/_sidebar_nav.scss */
.collapse .side-nav-link {
  color: var(--blue-grey-600);
  padding-left: 2rem;
}

/* line 44, app/assets/stylesheets/_sidebar_nav.scss */
.collapse .side-nav-link:hover {
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-800);
}

/* line 49, app/assets/stylesheets/_sidebar_nav.scss */
.collapse .side-nav-link.active {
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-900);
  font-weight: 500;
}

/* line 57, app/assets/stylesheets/_sidebar_nav.scss */
.sidebar-logo {
  max-width: 160px;
}

/* line 61, app/assets/stylesheets/_sidebar_nav.scss */
.sidebar-footer {
  position: fixed;
  bottom: 0;
  width: 250px;
  background-color: #f8f9fa;
  border-top: 1px solid var(--blue-grey-100);
  padding: 1rem;
}

/* line 70, app/assets/stylesheets/_sidebar_nav.scss */
.unified-sidebar-container {
  background-color: #f8f9fa;
}

/* line 75, app/assets/stylesheets/_sidebar_nav.scss */
.sidebar-context-title {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--blue-grey-600);
  line-height: 1.2;
}

/* line 83, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section {
  background-color: #f8f9fa;
  padding: 0;
  margin: -0.75rem -0.75rem 0.75rem -0.75rem;
  border-radius: 4px;
}

/* line 90, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section .nav-link.active {
  background-color: transparent !important;
  color: var(--light-blue-vivid-700) !important;
  font-weight: 700 !important;
}

/* line 98, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section > .nav {
  padding: 1.25rem 0.75rem;
  border-bottom: 1px solid var(--blue-grey-150);
}

/* line 102, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section > .nav > .nav-link {
  color: var(--blue-grey-700);
  font-size: 0.875rem;
  padding: 0.35rem 0.375rem;
  margin-bottom: 0;
  transition: all 0.2s;
}

/* line 109, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section > .nav > .nav-link:hover {
  background-color: #FFFFFF;
  color: var(--blue-grey-900);
}

/* line 114, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section > .nav > .nav-link.active {
  background-color: transparent !important;
  color: var(--light-blue-vivid-700) !important;
  font-weight: 700 !important;
}

/* line 125, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section > div:not(.nav) > div:first-child:not(.collapse) {
  font-weight: 400;
  letter-spacing: 0.08em;
  color: var(--blue-grey-500);
  font-size: 0.75rem;
  padding: 1.5rem 0.375rem 0.5rem 0.375rem;
  margin-top: 0.75rem;
}

/* line 133, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section > div:not(.nav) > div:first-child:not(.collapse):first-of-type {
  margin-top: 0;
}

/* line 137, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section > div:not(.nav) > div:first-child:not(.collapse) span {
  font-weight: 400;
}

/* line 144, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section .nav-link {
  color: var(--blue-grey-700);
  font-size: 0.875rem;
  padding: 0.5rem 0.375rem;
  margin-bottom: 0.25rem;
  transition: all 0.2s;
}

/* line 151, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section .nav-link:hover {
  background-color: #FFFFFF;
  color: var(--blue-grey-900);
}

/* line 156, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section .nav-link.active {
  background-color: transparent !important;
  color: var(--light-blue-vivid-700) !important;
  font-weight: 700 !important;
}

/* line 164, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section a[data-bs-toggle="collapse"] {
  text-decoration: none;
  color: var(--blue-grey-700);
  font-size: 0.875rem;
  padding: 0.5rem 0.375rem;
  margin-bottom: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: all 0.2s;
  cursor: pointer;
}

/* line 176, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section a[data-bs-toggle="collapse"]:hover {
  background-color: #FFFFFF;
  color: var(--blue-grey-900);
}

/* line 181, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section a[data-bs-toggle="collapse"] .bi-chevron-down,
.global-nav-section a[data-bs-toggle="collapse"] .bi-chevron-up {
  transition: transform 0.2s;
  font-size: 0.75rem;
}

/* line 189, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section .collapse {
  margin-bottom: 0.5rem;
}

/* line 192, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section .collapse .nav-link {
  padding: 0.25rem 0.375rem 0.25rem 2rem;
  margin-bottom: 0;
  color: var(--blue-grey-600);
  font-size: 0.875rem;
}

/* line 198, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section .collapse .nav-link:hover {
  background-color: var(--blue-grey-050);
  color: var(--blue-grey-800);
}

/* line 203, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section .collapse .nav-link.active {
  background-color: transparent !important;
  color: var(--light-blue-vivid-700) !important;
  font-weight: 700 !important;
}

/* line 212, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section .collapse .collapse .nav-link {
  padding-left: 3rem;
}

/* line 219, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-section > div[data-parent-section] {
  padding: 0 0.75rem;
}

/* line 224, app/assets/stylesheets/_sidebar_nav.scss */
.global-nav-divider {
  height: 1px;
  background: linear-gradient(to right, transparent, var(--blue-grey-200), transparent);
  opacity: 0.6;
}

/* line 230, app/assets/stylesheets/_sidebar_nav.scss */
.side-nav-header {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.75rem;
  color: var(--blue-grey-600);
  padding: 0 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 17, app/assets/stylesheets/_local_elections.scss */
.bb-contest-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
  margin-bottom: 1rem;
}

/* line 26, app/assets/stylesheets/_local_elections.scss */
.bb-contest-card-inline {
  border-radius: 8px;
  box-shadow: none;
  border: 1px solid #E5E7EB;
  margin-bottom: 0;
}

/* line 33, app/assets/stylesheets/_local_elections.scss */
.bb-contest-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 42, app/assets/stylesheets/_local_elections.scss */
.bb-contest-card-inline .bb-contest-header {
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
}

/* line 47, app/assets/stylesheets/_local_elections.scss */
.bb-contest-title-group {
  flex: 1;
  min-width: 0;
}

/* line 52, app/assets/stylesheets/_local_elections.scss */
.bb-contest-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
  line-height: 1.3;
}

/* line 60, app/assets/stylesheets/_local_elections.scss */
.bb-contest-card-inline .bb-contest-title {
  font-size: 0.875rem;
}

/* line 64, app/assets/stylesheets/_local_elections.scss */
.bb-contest-jurisdiction {
  font-size: 0.875rem;
  color: #9CA3AF;
  display: block;
  margin-top: 0.125rem;
}

/* line 71, app/assets/stylesheets/_local_elections.scss */
.bb-contest-meta {
  flex-shrink: 0;
  text-align: right;
}

/* line 76, app/assets/stylesheets/_local_elections.scss */
.bb-contest-election-date {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 81, app/assets/stylesheets/_local_elections.scss */
.bb-contest-body {
  padding: 1rem 1.25rem;
}

/* line 85, app/assets/stylesheets/_local_elections.scss */
.bb-contest-card-inline .bb-contest-body {
  padding: 0.75rem 1rem;
}

/* line 90, app/assets/stylesheets/_local_elections.scss */
.bb-contest-candidate {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid #F3F4F6;
}

/* line 97, app/assets/stylesheets/_local_elections.scss */
.bb-contest-candidate:last-child {
  border-bottom: none;
}

/* line 102, app/assets/stylesheets/_local_elections.scss */
.bb-contest-candidate.winner .bb-contest-candidate-name a {
  color: #1F2933;
}

/* line 106, app/assets/stylesheets/_local_elections.scss */
.bb-contest-candidate.winner .bb-contest-vote-fill {
  background-color: #1F6B4E;
}

/* line 112, app/assets/stylesheets/_local_elections.scss */
.bb-contest-candidate-rank {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
  color: #9CA3AF;
  background-color: #F3F4F6;
  border-radius: 9999px;
}

/* line 126, app/assets/stylesheets/_local_elections.scss */
.winner .bb-contest-candidate-rank {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 131, app/assets/stylesheets/_local_elections.scss */
.bb-contest-candidate-info {
  flex: 0 0 220px;
  min-width: 0;
}

/* line 136, app/assets/stylesheets/_local_elections.scss */
.bb-contest-card-inline .bb-contest-candidate-info {
  flex: 0 0 180px;
}

/* line 140, app/assets/stylesheets/_local_elections.scss */
.bb-contest-candidate-name {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.3;
}

/* line 148, app/assets/stylesheets/_local_elections.scss */
.bb-contest-candidate-name a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 152, app/assets/stylesheets/_local_elections.scss */
.bb-contest-candidate-name a:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 159, app/assets/stylesheets/_local_elections.scss */
.bb-winner-badge {
  color: #1F6B4E;
  font-size: 0.875rem;
}

/* line 164, app/assets/stylesheets/_local_elections.scss */
.bb-contest-candidate-designation {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.125rem;
  line-height: 1.3;
}

/* line 171, app/assets/stylesheets/_local_elections.scss */
.bb-contest-candidate-results {
  flex: 1;
  min-width: 0;
}

/* line 177, app/assets/stylesheets/_local_elections.scss */
.bb-contest-vote-bar-wrapper {
  margin-bottom: 0.375rem;
}

/* line 181, app/assets/stylesheets/_local_elections.scss */
.bb-contest-vote-bar {
  height: 8px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 188, app/assets/stylesheets/_local_elections.scss */
.bb-contest-vote-fill {
  height: 100%;
  background-color: #B8BFC7;
  border-radius: 9999px;
  transition: width 0.3s ease;
  min-width: 2px;
}

/* line 196, app/assets/stylesheets/_local_elections.scss */
.bb-contest-vote-stats {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

/* line 202, app/assets/stylesheets/_local_elections.scss */
.bb-contest-vote-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 209, app/assets/stylesheets/_local_elections.scss */
.bb-contest-vote-count {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-variant-numeric: tabular-nums;
}

/* line 216, app/assets/stylesheets/_local_elections.scss */
.bb-contest-candidates-hidden {
  display: none;
}

/* line 220, app/assets/stylesheets/_local_elections.scss */
.bb-contest-candidates-hidden.is-expanded {
  display: block;
}

/* line 225, app/assets/stylesheets/_local_elections.scss */
.bb-contest-candidate-hidden {
  display: none;
}

/* line 228, app/assets/stylesheets/_local_elections.scss */
.bb-contest-candidate-hidden.is-expanded {
  display: flex;
}

/* line 233, app/assets/stylesheets/_local_elections.scss */
.bb-contest-expand-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  width: 100%;
  padding: 0.625rem 1rem;
  margin-top: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  background-color: #F4F7FC;
  border: 1px solid #A3C4E0;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 250, app/assets/stylesheets/_local_elections.scss */
.bb-contest-expand-btn:hover {
  background-color: #E4EEF8;
  border-color: #4C7FB5;
}

/* line 255, app/assets/stylesheets/_local_elections.scss */
.bb-contest-expand-btn i {
  font-size: 0.875rem;
  transition: transform 0.2s ease;
}

/* line 260, app/assets/stylesheets/_local_elections.scss */
.bb-contest-expand-btn.is-expanded i {
  transform: rotate(180deg);
}

/* line 266, app/assets/stylesheets/_local_elections.scss */
.bb-contest-footer {
  padding: 0.75rem 1.25rem;
  border-top: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 272, app/assets/stylesheets/_local_elections.scss */
.bb-contest-footer-inline {
  padding: 0.5rem 1rem;
  border-top: 1px solid #F3F4F6;
  background-color: #F9FAFB;
}

/* line 278, app/assets/stylesheets/_local_elections.scss */
.bb-contest-total-votes {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 282, app/assets/stylesheets/_local_elections.scss */
.bb-contest-total-votes strong {
  color: #1F2933;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* line 290, app/assets/stylesheets/_local_elections.scss */
.bb-contests-list {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 298, app/assets/stylesheets/_local_elections.scss */
.bb-contests-list-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 303, app/assets/stylesheets/_local_elections.scss */
.bb-contests-list-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
}

/* line 310, app/assets/stylesheets/_local_elections.scss */
.bb-contests-list-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  display: block;
  margin-top: 0.125rem;
}

/* line 317, app/assets/stylesheets/_local_elections.scss */
.bb-contests-list-body {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1rem;
}

/* line 329, app/assets/stylesheets/_local_elections.scss */
.bb-measure-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
  margin-bottom: 1rem;
}

/* line 338, app/assets/stylesheets/_local_elections.scss */
.bb-measure-card-compact {
  border-radius: 8px;
  box-shadow: none;
  border: 1px solid #E5E7EB;
  margin-bottom: 0;
}

/* line 345, app/assets/stylesheets/_local_elections.scss */
.bb-measure-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 355, app/assets/stylesheets/_local_elections.scss */
.bb-measure-card-compact .bb-measure-header {
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
}

/* line 360, app/assets/stylesheets/_local_elections.scss */
.bb-measure-id-group {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 366, app/assets/stylesheets/_local_elections.scss */
.bb-measure-letter {
  font-weight: 700;
  font-size: 1rem;
  color: #1F2933;
}

/* line 372, app/assets/stylesheets/_local_elections.scss */
.bb-measure-outcome {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.25rem 0.625rem;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 381, app/assets/stylesheets/_local_elections.scss */
.bb-measure-passed {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 386, app/assets/stylesheets/_local_elections.scss */
.bb-measure-failed {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 391, app/assets/stylesheets/_local_elections.scss */
.bb-measure-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

/* line 397, app/assets/stylesheets/_local_elections.scss */
.bb-measure-tag {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.125rem 0.5rem;
  background-color: #F3F4F6;
  color: #6B7280;
  border-radius: 9999px;
}

/* line 406, app/assets/stylesheets/_local_elections.scss */
.bb-measure-body {
  padding: 1rem 1.25rem;
}

/* line 410, app/assets/stylesheets/_local_elections.scss */
.bb-measure-card-compact .bb-measure-body {
  padding: 0.75rem 1rem;
}

/* line 414, app/assets/stylesheets/_local_elections.scss */
.bb-measure-title {
  font-weight: 500;
  font-size: 1rem;
  color: #1F2933;
  margin: 0 0 0.5rem 0;
  line-height: 1.4;
}

/* line 422, app/assets/stylesheets/_local_elections.scss */
.bb-measure-card-compact .bb-measure-title {
  font-size: 0.875rem;
  margin-bottom: 0.375rem;
}

/* line 427, app/assets/stylesheets/_local_elections.scss */
.bb-measure-description {
  font-size: 0.875rem;
  color: #6B7280;
  line-height: 1.6;
  margin-bottom: 1rem;
}

/* line 435, app/assets/stylesheets/_local_elections.scss */
.bb-measure-results {
  margin-top: 1rem;
}

/* line 439, app/assets/stylesheets/_local_elections.scss */
.bb-measure-results-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

/* line 446, app/assets/stylesheets/_local_elections.scss */
.bb-measure-vote-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.625rem;
}

/* line 452, app/assets/stylesheets/_local_elections.scss */
.bb-measure-vote-row:last-child {
  margin-bottom: 0;
}

/* line 457, app/assets/stylesheets/_local_elections.scss */
.bb-measure-vote-label {
  flex: 0 0 40px;
}

/* line 461, app/assets/stylesheets/_local_elections.scss */
.bb-measure-vote-choice {
  font-weight: 500;
  font-size: 0.875rem;
  color: #1F2933;
}

/* line 467, app/assets/stylesheets/_local_elections.scss */
.bb-measure-vote-bar-wrapper {
  flex: 1;
  min-width: 0;
}

/* line 472, app/assets/stylesheets/_local_elections.scss */
.bb-measure-vote-bar {
  height: 12px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 479, app/assets/stylesheets/_local_elections.scss */
.bb-measure-vote-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
  min-width: 2px;
}

/* line 486, app/assets/stylesheets/_local_elections.scss */
.bb-measure-fill-yes {
  background-color: #1F6B4E;
}

/* line 490, app/assets/stylesheets/_local_elections.scss */
.bb-measure-fill-no {
  background-color: #9B2331;
}

/* line 494, app/assets/stylesheets/_local_elections.scss */
.bb-measure-vote-stats {
  flex: 0 0 auto;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  min-width: 120px;
}

/* line 502, app/assets/stylesheets/_local_elections.scss */
.bb-measure-vote-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 509, app/assets/stylesheets/_local_elections.scss */
.bb-measure-vote-count {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-variant-numeric: tabular-nums;
}

/* line 516, app/assets/stylesheets/_local_elections.scss */
.bb-measure-inline-result {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
}

/* line 522, app/assets/stylesheets/_local_elections.scss */
.bb-measure-inline-label {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 527, app/assets/stylesheets/_local_elections.scss */
.bb-measure-inline-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
}

/* line 532, app/assets/stylesheets/_local_elections.scss */
.bb-measure-inline-pct.bb-text-success {
  color: #1F6B4E;
}

/* line 537, app/assets/stylesheets/_local_elections.scss */
.bb-measure-inline-count {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 542, app/assets/stylesheets/_local_elections.scss */
.bb-measure-inline-total {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-left: auto;
}

/* line 549, app/assets/stylesheets/_local_elections.scss */
.bb-measure-footer {
  padding: 0.75rem 1.25rem;
  border-top: 1px solid #E5E7EB;
  background-color: #F9FAFB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 560, app/assets/stylesheets/_local_elections.scss */
.bb-measure-total-votes {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 564, app/assets/stylesheets/_local_elections.scss */
.bb-measure-total-votes strong {
  color: #1F2933;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* line 571, app/assets/stylesheets/_local_elections.scss */
.bb-measure-threshold {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-style: italic;
}

/* line 578, app/assets/stylesheets/_local_elections.scss */
.bb-measures-list {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 586, app/assets/stylesheets/_local_elections.scss */
.bb-measures-list-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 591, app/assets/stylesheets/_local_elections.scss */
.bb-measures-list-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
}

/* line 598, app/assets/stylesheets/_local_elections.scss */
.bb-measures-list-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  display: block;
  margin-top: 0.125rem;
}

/* line 605, app/assets/stylesheets/_local_elections.scss */
.bb-measures-list-body {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1rem;
}

/* line 617, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
  margin-bottom: 1rem;
}

/* line 626, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-card-compact {
  border-radius: 8px;
  box-shadow: none;
  border: 1px solid #E5E7EB;
  margin-bottom: 0;
}

/* line 633, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 642, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-card-compact .bb-statewide-header {
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
}

/* line 647, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-title-group {
  flex: 1;
  min-width: 0;
}

/* line 652, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
  line-height: 1.3;
}

/* line 660, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-card-compact .bb-statewide-title {
  font-size: 0.875rem;
}

/* line 664, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-scope {
  font-size: 0.75rem;
  color: #9CA3AF;
  display: block;
  margin-top: 0.125rem;
}

/* line 671, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-context {
  flex-shrink: 0;
  text-align: right;
}

/* line 676, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-jurisdiction {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 681, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-body {
  padding: 1rem 1.25rem;
}

/* line 685, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-card-compact .bb-statewide-body {
  padding: 0.75rem 1rem;
}

/* line 690, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-candidate {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid #F3F4F6;
}

/* line 697, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-candidate:last-child {
  border-bottom: none;
}

/* line 702, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-candidate.winner .bb-statewide-candidate-name a {
  color: #1F2933;
}

/* line 708, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-candidate-info {
  flex: 0 0 240px;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

/* line 717, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-card-compact .bb-statewide-candidate-info {
  flex: 0 0 200px;
}

/* line 721, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-candidate-name {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.3;
}

/* line 726, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-candidate-name a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 730, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-candidate-name a:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 738, app/assets/stylesheets/_local_elections.scss */
.bb-party-badge {
  font-size: 0.625rem;
  font-weight: 500;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 747, app/assets/stylesheets/_local_elections.scss */
.bb-party-dem {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 752, app/assets/stylesheets/_local_elections.scss */
.bb-party-rep {
  background-color: #F8E8E8;
  color: #9B2331;
}

/* line 757, app/assets/stylesheets/_local_elections.scss */
.bb-party-libertarian {
  background-color: #FEF3C7;
  color: #B45309;
}

/* line 762, app/assets/stylesheets/_local_elections.scss */
.bb-party-green {
  background-color: #D1FAE5;
  color: #047857;
}

/* line 767, app/assets/stylesheets/_local_elections.scss */
.bb-party-nonpartisan {
  background-color: #F3F4F6;
  color: #6B7280;
}

/* line 772, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-candidate-results {
  flex: 1;
  min-width: 0;
}

/* line 778, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-vote-bar-wrapper {
  margin-bottom: 0.375rem;
}

/* line 782, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-vote-bar {
  height: 8px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 789, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-vote-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
  min-width: 2px;
}

/* line 795, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-vote-fill.bb-party-dem {
  background-color: #1F5C96;
}

/* line 799, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-vote-fill.bb-party-rep {
  background-color: #9B2331;
}

/* line 803, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-vote-fill.bb-party-libertarian {
  background-color: #D97706;
}

/* line 807, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-vote-fill.bb-party-green {
  background-color: #059669;
}

/* line 811, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-vote-fill.bb-party-nonpartisan {
  background-color: #B8BFC7;
}

/* line 816, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-vote-stats {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

/* line 822, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-vote-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 829, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-vote-count {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-variant-numeric: tabular-nums;
}

/* line 836, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-footer {
  padding: 0.75rem 1.25rem;
  border-top: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 842, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-footer-compact {
  padding: 0.5rem 1rem;
  border-top: 1px solid #F3F4F6;
  background-color: #F9FAFB;
}

/* line 848, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-total-votes {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 852, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-total-votes strong {
  color: #1F2933;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* line 860, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-note {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background-color: #F4F7FC;
  border-top: 1px solid #E4EEF8;
  font-size: 0.875rem;
  color: #123B66;
}

/* line 870, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-note i {
  flex-shrink: 0;
  margin-top: 0.125rem;
}

/* line 877, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-list {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 885, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-list-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 894, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-list-title-group {
  flex: 1;
  min-width: 0;
}

/* line 899, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-list-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
}

/* line 906, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-list-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  display: block;
  margin-top: 0.125rem;
}

/* line 913, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-list-context {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 920, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-list-context i {
  color: #B8BFC7;
}

/* line 925, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-list-note {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background-color: #F4F7FC;
  border-bottom: 1px solid #E4EEF8;
  font-size: 0.875rem;
  color: #123B66;
}

/* line 935, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-list-note i {
  flex-shrink: 0;
}

/* line 944, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 952, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-card-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 957, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-card-title-group {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 963, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-card-title {
  font-weight: 500;
  font-size: 1rem;
  color: #1F2933;
  margin: 0;
}

/* line 970, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-card-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 976, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-filter-section {
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

/* line 985, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-filter-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 991, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-filter-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  min-width: 50px;
}

/* line 1001, app/assets/stylesheets/_local_elections.scss */
.bb-filter-row-secondary {
  padding-top: 0.5rem;
  border-top: 1px solid #E5E7EB;
}

/* line 1005, app/assets/stylesheets/_local_elections.scss */
.bb-filter-row-secondary .bb-statewide-filter-label {
  color: #B8BFC7;
  font-weight: 500;
}

/* line 1012, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #FFFFFF;
}

/* line 1021, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-controls-count {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1026, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-controls-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 1032, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-control-btn {
  background: none;
  border: none;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  color: #1F5C96;
  cursor: pointer;
  transition: color 0.15s ease;
}

/* line 1041, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-control-btn:hover {
  color: #123B66;
}

/* line 1046, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-control-separator {
  color: #D1D5DB;
  font-size: 0.875rem;
}

/* line 1051, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-card-body {
  padding: 0;
}

/* line 1055, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-card-body--padded {
  padding: 1.5rem;
}

/* line 1060, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-contest-row {
  border-bottom: 1px solid #E5E7EB;
}

/* line 1063, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-contest-row:last-child {
  border-bottom: none;
}

/* line 1068, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-contest-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
  background-color: #F9FAFB;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

/* line 1077, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-contest-header:hover {
  background-color: #F3F4F6;
}

/* line 1082, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-contest-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1087, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-contest-toggle i {
  color: #B8BFC7;
  font-size: 0.875rem;
  transition: transform 0.2s ease;
}

/* line 1094, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-contest-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #1F2933;
}

/* line 1100, app/assets/stylesheets/_local_elections.scss */
.bb-coverage-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  margin-left: 8px;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  background-color: #F3F4F6;
  border: 1px solid #E5E7EB;
  border-radius: 4px;
  white-space: nowrap;
}

/* line 1114, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-contest-preview {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1120, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-contest-winner {
  font-size: 0.875rem;
  color: #4B5563;
  max-width: 150px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 1129, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-contest-winner-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 1136, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-contest-body {
  padding: 0 1.25rem 1rem 2.5rem;
  overflow: hidden;
  transition: all 0.2s ease;
}

/* line 1142, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-contest-collapsed {
  display: none;
}

/* line 1146, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-contest-footer {
  padding-top: 0.75rem;
  margin-top: 0.5rem;
  border-top: 1px solid #F3F4F6;
}

/* line 1154, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-candidate + .bb-statewide-contest-footer {
  border-top: none;
  margin-top: 0;
}

/* line 1160, app/assets/stylesheets/_local_elections.scss */
.bb-statewide-list-body {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1rem;
}

/* line 1171, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 1179, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1184, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-disclaimer {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background-color: #F8F5ED;
  border-bottom: 1px solid #f1ebdb;
  font-size: 0.875rem;
  color: #8A6A06;
}

/* line 1194, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-disclaimer i {
  flex-shrink: 0;
}

/* line 1199, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-title-group {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 1205, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-title {
  font-weight: 500;
  font-size: 1rem;
  color: #1F2933;
  margin: 0;
}

/* line 1212, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1217, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-filter-section {
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 1223, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-filter-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 1229, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-filter-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  min-width: 50px;
}

/* line 1238, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #FFFFFF;
}

/* line 1247, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-controls-count {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1252, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-controls-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 1258, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-control-btn {
  background: none;
  border: none;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  color: #1F5C96;
  cursor: pointer;
  transition: color 0.15s ease;
}

/* line 1267, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-control-btn:hover {
  color: #123B66;
}

/* line 1272, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-control-separator {
  color: #D1D5DB;
  font-size: 0.875rem;
}

/* line 1277, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-body {
  padding: 0;
}

/* line 1283, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-date-group:not(:first-child) {
  border-top: 2px solid #E5E7EB;
}

/* line 1288, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-date-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background-color: #F4F7FC;
  font-size: 0.875rem;
  font-weight: 500;
  color: #123B66;
}

/* line 1299, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-date-header i {
  font-size: 0.875rem;
}

/* line 1304, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-date-header-left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1310, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-election-link {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  transition: all 0.15s ease;
}

/* line 1322, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-election-link:hover {
  color: #123B66;
  background-color: #E4EEF8;
  text-decoration: none;
}

/* line 1328, app/assets/stylesheets/_local_elections.scss */
.bb-local-contests-election-link i {
  font-size: 0.75rem;
}

/* line 1334, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-row {
  border-bottom: 1px solid #E5E7EB;
}

/* line 1337, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-row:last-child {
  border-bottom: none;
}

/* line 1344, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-row-single .bb-local-contest-single-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  padding: 0.875rem 1.25rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1353, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-row-single .bb-local-contest-single-title .bb-local-contest-name {
  font-weight: 500;
  color: #323C47;
}

/* line 1359, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-row-single .bb-local-contest-body {
  display: block;
  padding: 0.75rem 1.25rem;
}

/* line 1365, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
  background-color: #F9FAFB;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

/* line 1374, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-header:hover {
  background-color: #F3F4F6;
}

/* line 1379, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
}

/* line 1386, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-toggle > i {
  color: #B8BFC7;
  font-size: 0.875rem;
  flex-shrink: 0;
}

/* line 1393, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-title-area {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  min-width: 0;
}

/* line 1401, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #1F2933;
}

/* line 1407, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-preview {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 1414, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-winner {
  font-size: 0.875rem;
  color: #4B5563;
  max-width: 150px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 1423, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-winner-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 1430, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-body {
  padding: 0.75rem 1.25rem 1rem 2.5rem;
  overflow: hidden;
}

/* line 1435, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-collapsed {
  display: none;
}

/* line 1440, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-candidate {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.625rem 0;
  border-bottom: 1px solid #F3F4F6;
}

/* line 1447, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-candidate:last-of-type {
  border-bottom: none;
}

/* line 1452, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-candidate.winner .bb-local-contest-vote-fill {
  opacity: 1;
}

/* line 1458, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-candidate-info {
  flex: 0 0 240px;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
}

/* line 1467, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-candidate-name {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-weight: 500;
  font-size: 0.875rem;
  color: #1F2933;
}

/* line 1476, app/assets/stylesheets/_local_elections.scss */
.bb-winner-icon {
  color: #1F6B4E;
}

/* line 1480, app/assets/stylesheets/_local_elections.scss */
.bb-advanced-icon {
  color: #8A6A06;
}

/* line 1484, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-candidate-designation {
  width: 100%;
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.125rem;
}

/* line 1491, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-candidate-results {
  flex: 1;
  min-width: 0;
}

/* line 1496, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-vote-bar-wrapper {
  margin-bottom: 0.25rem;
}

/* line 1500, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-vote-bar {
  height: 8px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 1507, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-vote-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
  min-width: 2px;
  opacity: 0.7;
}

/* line 1514, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-vote-fill.bb-party-dem {
  background-color: #1F5C96;
}

/* line 1518, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-vote-fill.bb-party-rep {
  background-color: #9B2331;
}

/* line 1522, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-vote-fill.bb-party-nonpartisan {
  background-color: #B8BFC7;
}

/* line 1527, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-vote-stats {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

/* line 1533, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-vote-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 1540, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-vote-count {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-variant-numeric: tabular-nums;
}

/* line 1546, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-footer {
  padding-top: 0.75rem;
  margin-top: 0.5rem;
  border-top: 1px solid #F3F4F6;
}

/* line 1552, app/assets/stylesheets/_local_elections.scss */
.bb-local-contest-total-votes {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1558, app/assets/stylesheets/_local_elections.scss */
.bb-badge {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
}

/* line 1565, app/assets/stylesheets/_local_elections.scss */
.bb-badge-neutral {
  background-color: #F3F4F6;
  color: #6B7280;
}

/* line 1570, app/assets/stylesheets/_local_elections.scss */
.bb-badge-info {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 1575, app/assets/stylesheets/_local_elections.scss */
.bb-badge-success {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 1580, app/assets/stylesheets/_local_elections.scss */
.bb-badge-danger {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 1589, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 1597, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1602, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-title-group {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 1608, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-title {
  font-weight: 500;
  font-size: 1rem;
  color: #1F2933;
  margin: 0;
}

/* line 1615, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1620, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-filter-section {
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 1626, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-filter-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 1632, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-filter-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  min-width: 50px;
}

/* line 1641, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #FFFFFF;
}

/* line 1650, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-controls-count {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1655, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-controls-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 1661, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-control-btn {
  background: none;
  border: none;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  color: #1F5C96;
  cursor: pointer;
  transition: color 0.15s ease;
}

/* line 1670, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-control-btn:hover {
  color: #123B66;
}

/* line 1675, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-control-separator {
  color: #D1D5DB;
  font-size: 0.875rem;
}

/* line 1680, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-body {
  padding: 0;
}

/* line 1686, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-date-group:not(:first-child) {
  border-top: 2px solid #E5E7EB;
}

/* line 1691, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-date-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background-color: #F4F7FC;
  font-size: 0.875rem;
  font-weight: 500;
  color: #123B66;
}

/* line 1701, app/assets/stylesheets/_local_elections.scss */
.bb-local-measures-date-header i {
  font-size: 0.875rem;
}

/* line 1707, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-row {
  border-bottom: 1px solid #E5E7EB;
}

/* line 1710, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-row:last-child {
  border-bottom: none;
}

/* line 1715, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
  background-color: #F9FAFB;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

/* line 1724, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-header:hover {
  background-color: #F3F4F6;
}

/* line 1729, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
}

/* line 1736, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-toggle > i {
  color: #B8BFC7;
  font-size: 0.875rem;
  flex-shrink: 0;
}

/* line 1743, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-title-area {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  min-width: 0;
}

/* line 1751, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #1F2933;
}

/* line 1757, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-preview {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 1764, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-yes-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 1771, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-body {
  padding: 0.75rem 1.25rem 1rem 2.5rem;
  overflow: hidden;
}

/* line 1776, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-collapsed {
  display: none;
}

/* line 1781, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-bottom: 0.75rem;
}

/* line 1788, app/assets/stylesheets/_local_elections.scss */
.bb-measure-tag {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.125rem 0.5rem;
  background-color: #F3F4F6;
  color: #6B7280;
  border-radius: 9999px;
}

/* line 1797, app/assets/stylesheets/_local_elections.scss */
.bb-measure-tag-type {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 1802, app/assets/stylesheets/_local_elections.scss */
.bb-measure-tag-topic {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 1807, app/assets/stylesheets/_local_elections.scss */
.bb-measure-tag-threshold {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 1813, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-description {
  font-size: 0.875rem;
  color: #6B7280;
  line-height: 1.6;
  margin-bottom: 1rem;
}

/* line 1821, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-results {
  margin-top: 0.75rem;
}

/* line 1825, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-vote-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.625rem;
}

/* line 1831, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-vote-row:last-child {
  margin-bottom: 0;
}

/* line 1836, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-vote-label {
  flex: 0 0 50px;
}

/* line 1840, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-vote-choice {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-weight: 500;
  font-size: 0.875rem;
  color: #1F2933;
}

/* line 1849, app/assets/stylesheets/_local_elections.scss */
.bb-loser-icon {
  color: #9B2331;
}

/* line 1853, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-vote-bar-wrapper {
  flex: 1;
  min-width: 0;
}

/* line 1858, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-vote-bar {
  height: 12px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 1865, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-vote-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
  min-width: 2px;
}

/* line 1872, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-vote-stats {
  flex: 0 0 auto;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  min-width: 120px;
}

/* line 1880, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-vote-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 1887, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-vote-count {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-variant-numeric: tabular-nums;
}

/* line 1894, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-footer {
  padding-top: 0.75rem;
  margin-top: 0.5rem;
  border-top: 1px solid #F3F4F6;
}

/* line 1900, app/assets/stylesheets/_local_elections.scss */
.bb-local-measure-total-votes {
  font-size: 0.875rem;
  color: #9CA3AF;
}

@media (max-width: 767.98px) {
  /* line 1911, app/assets/stylesheets/_local_elections.scss */
  .bb-contest-candidate {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 1917, app/assets/stylesheets/_local_elections.scss */
  .bb-contest-candidate-info {
    flex: none;
    width: 100%;
  }
  /* line 1922, app/assets/stylesheets/_local_elections.scss */
  .bb-contest-candidate-results {
    width: 100%;
  }
  /* line 1926, app/assets/stylesheets/_local_elections.scss */
  .bb-contest-header {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 1931, app/assets/stylesheets/_local_elections.scss */
  .bb-contest-meta {
    text-align: left;
  }
  /* line 1936, app/assets/stylesheets/_local_elections.scss */
  .bb-measure-header {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 1941, app/assets/stylesheets/_local_elections.scss */
  .bb-measure-vote-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
  }
  /* line 1947, app/assets/stylesheets/_local_elections.scss */
  .bb-measure-vote-stats {
    min-width: 0;
    width: 100%;
    justify-content: space-between;
  }
  /* line 1953, app/assets/stylesheets/_local_elections.scss */
  .bb-measure-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 1959, app/assets/stylesheets/_local_elections.scss */
  .bb-measure-results-inline {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 1965, app/assets/stylesheets/_local_elections.scss */
  .bb-statewide-candidate {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 1971, app/assets/stylesheets/_local_elections.scss */
  .bb-statewide-candidate-info {
    flex: none;
    width: 100%;
  }
  /* line 1976, app/assets/stylesheets/_local_elections.scss */
  .bb-statewide-candidate-results {
    width: 100%;
  }
  /* line 1980, app/assets/stylesheets/_local_elections.scss */
  .bb-statewide-header {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 1985, app/assets/stylesheets/_local_elections.scss */
  .bb-statewide-list-header {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 1991, app/assets/stylesheets/_local_elections.scss */
  .bb-local-contest-candidate {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 1997, app/assets/stylesheets/_local_elections.scss */
  .bb-local-contest-candidate-info {
    flex: none;
    width: 100%;
  }
  /* line 2002, app/assets/stylesheets/_local_elections.scss */
  .bb-local-contest-candidate-results {
    width: 100%;
  }
  /* line 2006, app/assets/stylesheets/_local_elections.scss */
  .bb-local-contest-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 2012, app/assets/stylesheets/_local_elections.scss */
  .bb-local-contest-preview {
    padding-left: 1.375rem;
  }
  /* line 2017, app/assets/stylesheets/_local_elections.scss */
  .bb-local-measure-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 2023, app/assets/stylesheets/_local_elections.scss */
  .bb-local-measure-preview {
    padding-left: 1.375rem;
  }
  /* line 2027, app/assets/stylesheets/_local_elections.scss */
  .bb-local-measure-vote-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
  }
  /* line 2033, app/assets/stylesheets/_local_elections.scss */
  .bb-local-measure-vote-bar-wrapper {
    width: 100%;
  }
  /* line 2037, app/assets/stylesheets/_local_elections.scss */
  .bb-local-measure-vote-stats {
    min-width: 0;
    width: 100%;
    justify-content: space-between;
  }
}

/* line 2051, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-category {
  margin-bottom: 1.5rem;
}

/* line 2054, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-category:last-child {
  margin-bottom: 0;
}

/* line 2059, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-category-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
  font-weight: 500;
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 2070, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-category-header i {
  color: #9CA3AF;
}

/* line 2075, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-category-count {
  background-color: #E5E7EB;
  color: #6B7280;
  font-size: 0.625rem;
  font-weight: 500;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  margin-left: auto;
}

/* line 2086, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-wizard-body {
  padding: 1.25rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 2091, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-candidate-party {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-left: 0.25rem;
}

/* line 2097, app/assets/stylesheets/_local_elections.scss */
.bb-selected-candidate-icon {
  font-size: 0.75rem;
}

/* line 2102, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-selector {
  padding-bottom: 1rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 2108, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-contest-list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  max-height: 300px;
  overflow-y: auto;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 0.5rem;
}

/* line 2119, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-contest-option {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  color: #4B5563;
  text-decoration: none;
  font-size: 0.875rem;
  transition: background-color 0.15s ease;
}

/* line 2130, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-contest-option:hover {
  background-color: #F3F4F6;
  color: #1F2933;
  text-decoration: none;
}

/* line 2136, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-contest-option.active {
  background-color: #E4EEF8;
  color: #123B66;
  font-weight: 500;
}

/* line 2141, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-contest-option.active i {
  color: #1F5C96;
}

/* line 2146, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-contest-option i {
  font-size: 0.875rem;
  flex-shrink: 0;
}

/* line 2152, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-jurisdiction-link {
  color: #1F5C96;
  text-decoration: none;
  font-weight: 500;
}

/* line 2157, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-jurisdiction-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 2164, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-summary {
  padding: 1rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 2170, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-stat-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1rem;
  text-align: center;
}

/* line 2178, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-stat-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #9CA3AF;
  margin-bottom: 0.5rem;
}

/* line 2187, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
}

/* line 2194, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-stat-subtext {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
}

/* line 2200, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-stat-success {
  border-color: #EDF4F0;
  background-color: #EDF4F0;
}

/* line 2204, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-stat-success .bb-breakdown-stat-value {
  color: #1F6B4E;
}

/* line 2209, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-stat-danger {
  border-color: #F8F0F1;
  background-color: #F8F0F1;
}

/* line 2213, app/assets/stylesheets/_local_elections.scss */
.bb-breakdown-stat-danger .bb-breakdown-stat-value {
  color: #9B2331;
}

/* line 19, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-results {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: visible;
  min-height: 550px;
  margin-bottom: 2rem;
}

/* line 32, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}

/* line 40, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-row {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 47, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-group {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  flex: 1;
  min-width: 140px;
}

/* line 55, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-group-fixed {
  flex: 0 0 auto;
}

/* line 59, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 67, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-select {
  display: block;
  width: 100%;
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: #1F2933;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%234B5563' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 12px;
}

/* line 84, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-select:hover {
  border-color: #B8BFC7;
}

/* line 88, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-select:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.15);
}

/* line 94, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-select:disabled {
  background-color: #F3F4F6;
  color: #9CA3AF;
  cursor: not-allowed;
}

/* line 102, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-race-type-toggle {
  display: inline-flex;
  gap: 0.25rem;
}

/* line 107, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-race-type-btn {
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 118, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-race-type-btn:hover:not(.active) {
  background-color: #F9FAFB;
  border-color: #B8BFC7;
}

/* line 123, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-race-type-btn.active {
  background-color: #1F5C96;
  border-color: #1F5C96;
  color: #FFFFFF;
}

/* line 130, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-race-type-btn input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* line 138, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-election-type-toggle {
  display: inline-flex;
  gap: 0.25rem;
}

/* line 143, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-election-type-btn {
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 154, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-election-type-btn:hover:not(.active):not(.disabled) {
  background-color: #F9FAFB;
  border-color: #B8BFC7;
}

/* line 159, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-election-type-btn.active {
  background-color: #1F5C96;
  border-color: #1F5C96;
  color: #FFFFFF;
}

/* line 165, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-election-type-btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* line 172, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-election-type-btn input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* line 180, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-help-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  color: #9CA3AF;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 194, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-help-btn:hover {
  background-color: #F9FAFB;
  color: #4B5563;
  border-color: #B8BFC7;
}

/* line 200, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-help-btn i {
  font-size: 1rem;
}

/* line 206, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-load-data-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.4rem 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  background-color: #1F5C96;
  color: #FFFFFF;
  border: 1px solid #1F5C96;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}

/* line 221, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-load-data-btn:hover {
  background-color: #123B66;
  border-color: #123B66;
}

/* line 226, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-load-data-btn.is-loaded {
  background-color: #FFFFFF;
  color: #9CA3AF;
  border-color: #D1D5DB;
}

/* line 231, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-load-data-btn.is-loaded:hover {
  background-color: #F9FAFB;
  color: #4B5563;
  border-color: #B8BFC7;
}

/* line 238, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-load-data-btn.is-loading {
  opacity: 0.7;
  cursor: not-allowed;
  pointer-events: none;
}

/* line 244, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-load-data-btn i {
  font-size: 0.875rem;
}

/* line 250, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-empty-state {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1001;
}

/* line 263, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-empty-content {
  text-align: center;
}

/* line 267, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-empty-icon {
  font-size: 2.5rem;
  color: #B8BFC7;
  display: block;
  margin-bottom: 0.75rem;
}

/* line 274, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-empty-text {
  color: #9CA3AF;
  font-size: 1rem;
}

/* line 280, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-county-filter {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #E5E7EB;
}

/* line 290, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-content {
  position: relative;
  min-height: 550px;
}

/* line 299, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-map-section {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
}

/* line 309, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-map-container {
  flex: 1;
  background-color: #F3F4F6;
  position: relative;
  overflow: visible;
}

/* line 317, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-map {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 328, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-map-controls {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  z-index: 1000;
}

/* line 338, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-map-control-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  color: #4B5563;
  cursor: pointer;
  transition: all 0.15s ease;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 352, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-map-control-btn:hover {
  background-color: #F9FAFB;
  color: #1F2933;
}

/* line 357, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-map-control-btn:active {
  background-color: #F3F4F6;
}

/* line 363, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-map-legend {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 1rem;
  background-color: rgba(255, 255, 255, 0.95);
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  z-index: 1000;
}

/* line 379, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-gradient {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 385, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar {
  width: 60px;
  height: 10px;
  border-radius: 2px;
}

/* line 391, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-dem {
  background: linear-gradient(to right, rgba(31, 92, 150, 0.2), rgba(31, 92, 150, 0.5), #1F5C96);
}

/* line 395, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-rep {
  background: linear-gradient(to right, rgba(155, 35, 49, 0.2), rgba(155, 35, 49, 0.5), #9B2331);
}

/* line 399, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-nonpartisan {
  background: linear-gradient(to right, rgba(75, 85, 99, 0.2), rgba(75, 85, 99, 0.5), #4B5563);
}

/* line 404, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-candidate-a {
  background: linear-gradient(to right, rgba(31, 92, 150, 0.2), rgba(31, 92, 150, 0.5), #1F5C96);
}

/* line 408, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-candidate-b {
  background: linear-gradient(to left, rgba(155, 35, 49, 0.2), rgba(155, 35, 49, 0.5), #9B2331);
}

/* line 412, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-yes {
  background: linear-gradient(to right, rgba(31, 107, 78, 0.2), rgba(31, 107, 78, 0.5), #1F6B4E);
}

/* line 416, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-no {
  background: linear-gradient(to left, rgba(155, 35, 49, 0.2), rgba(155, 35, 49, 0.5), #9B2331);
}

/* line 421, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-nonpartisan-left {
  background: linear-gradient(to right, rgba(196, 104, 26, 0.2), rgba(196, 104, 26, 0.5), #C4681A);
}

/* line 425, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-nonpartisan-right {
  background: linear-gradient(to left, rgba(31, 107, 78, 0.2), rgba(31, 107, 78, 0.5), #1F6B4E);
}

/* line 430, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
}

/* line 436, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-label-strong {
  font-size: 0.75rem;
  font-weight: 500;
}

/* line 440, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-label-strong.bb-label-dem {
  color: #1F5C96;
}

/* line 444, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-label-strong.bb-label-rep {
  color: #9B2331;
}

/* line 448, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-label-strong.bb-label-yes {
  color: #1F6B4E;
}

/* line 452, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-label-strong.bb-label-no {
  color: #9B2331;
}

/* line 461, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-summary-panel {
  position: absolute;
  top: 1rem;
  left: 1rem;
  width: 320px;
  max-height: calc(100% - 2rem);
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  overflow: hidden;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

@media (max-width: 768px) {
  /* line 461, app/assets/stylesheets/_precinct_map.scss */
  .bb-precinct-summary-panel {
    width: calc(100% - 2rem);
    max-width: 320px;
  }
}

/* line 483, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-summary-panel.is-collapsed {
  transform: translateX(-100%);
  opacity: 0;
  pointer-events: none;
}

/* line 490, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 499, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 506, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 511, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: none;
  border: none;
  border-radius: 4px;
  color: #9CA3AF;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 524, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-close:hover {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 531, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-stats {
  display: flex;
  gap: 1.5rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #F3F4F6;
  background-color: #FFFFFF;
}

/* line 539, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-stat {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 545, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-stat-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 551, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-stat-label {
  font-size: 0.6875rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 559, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-candidates {
  flex: 1;
  overflow-y: auto;
  max-height: 300px;
}

/* line 565, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-candidate {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 572, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-candidate:last-child {
  border-bottom: none;
}

/* line 576, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-candidate.bb-panel-winner {
  background-color: rgba(31, 107, 78, 0.04);
}

/* line 581, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-rank {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  background-color: #F3F4F6;
  border-radius: 9999px;
}

/* line 595, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-candidate-info {
  flex: 1;
  min-width: 0;
}

/* line 600, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-candidate-name {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 609, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-party {
  font-size: 0.6875rem;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
}

/* line 614, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-party.bb-party-dem {
  background-color: rgba(31, 92, 150, 0.1);
  color: #1F5C96;
}

/* line 619, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-party.bb-party-rep {
  background-color: rgba(155, 35, 49, 0.1);
  color: #9B2331;
}

/* line 624, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-party.bb-party-nonpartisan {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 630, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-winner-icon {
  color: #1F6B4E;
  font-size: 0.75rem;
  margin-left: 0.25rem;
}

/* line 636, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-bar {
  margin-top: 0.25rem;
  height: 4px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 644, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-bar-fill {
  height: 100%;
  border-radius: 9999px;
}

/* line 649, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-results {
  flex: 0 0 auto;
  text-align: right;
}

/* line 654, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
}

/* line 660, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-votes {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 666, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-outcome {
  padding: 0.625rem 1rem;
  background-color: #EDF4F0;
  border-top: 1px solid #E5E7EB;
}

/* line 672, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-outcome-text {
  font-size: 0.75rem;
  color: #1F6B4E;
}

/* line 676, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-outcome-text strong {
  font-weight: 500;
}

/* line 683, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-measure-outcome.bb-outcome-passed {
  background-color: #EDF4F0;
}

/* line 686, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-measure-outcome.bb-outcome-passed .bb-precinct-panel-outcome-text {
  color: #1F6B4E;
}

/* line 691, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-measure-outcome.bb-outcome-failed {
  background-color: #F8F0F1;
}

/* line 694, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-measure-outcome.bb-outcome-failed .bb-precinct-panel-outcome-text {
  color: #9B2331;
}

/* line 700, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-disclaimer {
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
  color: #9CA3AF;
  border-top: 1px solid #E5E7EB;
  line-height: 1.4;
}

/* line 707, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-disclaimer a {
  color: #9CA3AF;
  text-decoration: underline;
}

/* line 714, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-measure-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 721, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-measure-option:last-child {
  border-bottom: none;
}

/* line 725, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-measure-option.bb-option-winner {
  background-color: rgba(31, 107, 78, 0.04);
}

/* line 730, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-label {
  flex: 0 0 36px;
  font-size: 1rem;
  font-weight: 700;
}

/* line 735, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-label.bb-label-yes {
  color: #1F6B4E;
}

/* line 739, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-label.bb-label-no {
  color: #9B2331;
}

/* line 744, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-bar-wrapper {
  flex: 1;
  min-width: 0;
}

/* line 749, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-bar {
  height: 20px;
  background-color: #F3F4F6;
  border-radius: 4px;
  overflow: hidden;
}

/* line 756, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-bar-fill {
  height: 100%;
  border-radius: 4px;
}

/* line 760, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-bar-fill.bb-fill-yes {
  background-color: #1F6B4E;
}

/* line 764, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-bar-fill.bb-fill-no {
  background-color: #9B2331;
}

/* line 769, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-pct {
  flex: 0 0 50px;
  text-align: right;
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 778, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-empty {
  padding: 1.5rem 1rem;
  text-align: center;
  color: #9CA3AF;
  font-size: 0.875rem;
}

/* line 789, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-show-panel-btn {
  position: absolute;
  top: 1rem;
  left: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.875rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  color: #4B5563;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
}

/* line 810, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-show-panel-btn:hover {
  background-color: #F9FAFB;
  color: #1F2933;
}

/* line 816, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-show-panel-btn.is-visible {
  opacity: 1;
  pointer-events: auto;
}

/* line 827, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-tooltip {
  background-color: #FFFFFF !important;
  color: #323C47 !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 6px !important;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03) !important;
  font-size: 0.875rem;
  padding: 0.625rem 0.875rem;
  max-width: 280px;
}

/* line 838, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-tooltip::before {
  border-top-color: #FFFFFF !important;
}

/* line 843, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-tooltip-header {
  font-weight: 500;
  margin-bottom: 0.375rem;
}

/* line 848, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-tooltip-results {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 854, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-tooltip-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

/* line 860, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-tooltip-candidate {
  color: #6B7280;
}

/* line 864, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-tooltip-value {
  font-weight: 500;
  color: #323C47;
}

/* line 869, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-tooltip-total {
  margin-top: 0.25rem;
  padding-top: 0.25rem;
  border-top: 1px solid #E5E7EB;
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 881, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.9);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1001;
}

/* line 894, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-loading-content {
  text-align: center;
  min-width: 280px;
}

/* line 899, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-loading-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #E5E7EB;
  border-top-color: #1F5C96;
  border-radius: 50%;
  animation: bb-precinct-spin 0.8s linear infinite;
  margin: 0 auto 0.75rem;
}

@keyframes bb-precinct-spin {
  to {
    transform: rotate(360deg);
  }
}

/* line 915, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-loading-text {
  font-size: 0.875rem;
  color: #123B66;
  margin-bottom: 0.75rem;
}

/* line 921, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-loading-progress {
  height: 8px;
  background-color: #E5E7EB;
  border-radius: 9999px;
  overflow: hidden;
  display: none;
}

/* line 929, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-loading-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #1F5C96 0%, #3A7AB8 50%, #1F5C96 100%);
  background-size: 200% 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
  animation: bb-progress-shimmer 1.5s ease-in-out infinite;
}

@keyframes bb-progress-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

/* line 956, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-explainer {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-bottom: 1rem;
  line-height: 1.5;
}

@media (max-width: 991.98px) {
  /* line 968, app/assets/stylesheets/_precinct_map.scss */
  .bb-precinct-filter-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
  /* line 974, app/assets/stylesheets/_precinct_map.scss */
  .bb-precinct-filter-group {
    flex: none;
    width: 100%;
  }
  /* line 979, app/assets/stylesheets/_precinct_map.scss */
  .bb-precinct-race-type-toggle {
    flex-wrap: wrap;
  }
}

@media (max-width: 767.98px) {
  /* line 985, app/assets/stylesheets/_precinct_map.scss */
  .bb-precinct-content {
    min-height: 450px;
  }
  /* line 989, app/assets/stylesheets/_precinct_map.scss */
  .bb-precinct-summary-panel {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    margin-bottom: 1rem;
    box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  }
  /* line 1001, app/assets/stylesheets/_precinct_map.scss */
  .bb-precinct-map-legend {
    flex-wrap: wrap;
    gap: 0.5rem;
    left: 0.5rem;
    right: 0.5rem;
    transform: none;
    width: auto;
    justify-content: center;
  }
}

/* line 14, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-compare {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 21, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #FFFFFF;
}

/* line 27, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 34, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
}

/* line 44, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-controls {
  padding: 1.25rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 50, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-controls-row {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}

/* line 57, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-controls-row:last-child {
  margin-bottom: 0;
}

/* line 62, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-control-group {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  min-width: 140px;
}

/* line 69, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-control-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
}

/* line 77, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-control-select {
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: #1F2933;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234B5563' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 91, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-control-select:hover {
  border-color: #B8BFC7;
}

/* line 95, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-control-select:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.1);
}

/* line 102, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-control-input {
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: #1F2933;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  width: 100px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 112, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-control-input:hover {
  border-color: #B8BFC7;
}

/* line 116, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-control-input:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.1);
}

/* line 122, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-control-input::placeholder {
  color: #B8BFC7;
}

/* line 128, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-contests {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1rem;
  align-items: stretch;
}

@media (max-width: 992px) {
  /* line 128, app/assets/stylesheets/_precinct_compare.scss */
  .bb-compare-contests {
    grid-template-columns: 1fr;
  }
}

/* line 139, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-contest-panel {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1rem;
}

/* line 146, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-contest-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 155, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-contest-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #FFFFFF;
  background-color: #1F5C96;
  border-radius: 9999px;
}

/* line 167, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-contest-badge.bb-contest-b {
  background-color: #127A7A;
}

/* line 172, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-contest-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 178, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-contest-selectors {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 184, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-vs-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.5rem;
}

@media (max-width: 992px) {
  /* line 184, app/assets/stylesheets/_precinct_compare.scss */
  .bb-compare-vs-divider {
    padding: 0.5rem 0;
  }
}

/* line 195, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-vs-text {
  font-size: 0.875rem;
  font-weight: 700;
  color: #B8BFC7;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 204, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-update-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #FFFFFF;
  background-color: #1F5C96;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

/* line 218, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-update-btn:hover {
  background-color: #123B66;
}

/* line 222, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-update-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.2);
}

/* line 227, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-update-btn i {
  font-size: 1rem;
}

/* line 236, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-correlation {
  display: none;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 244, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-correlation.is-visible {
  display: flex;
}

/* line 249, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-correlation-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
}

/* line 257, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-correlation-bar {
  flex: 1;
  height: 8px;
  background: linear-gradient(to right, #9B2331, #D1D5DB, #1F6B4E);
  border-radius: 9999px;
  position: relative;
  max-width: 200px;
}

/* line 266, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-correlation-marker {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background-color: #1F2933;
  border: 2px solid #FFFFFF;
  border-radius: 9999px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  left: 50%;
}

/* line 279, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-correlation-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  min-width: 50px;
}

/* line 286, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-correlation-desc {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 295, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-summary {
  display: none;
  grid-template-columns: 1fr auto 1fr;
  gap: 1.5rem;
  padding: 1.5rem;
  background-color: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
}

/* line 303, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-summary.is-visible {
  display: grid;
}

@media (max-width: 768px) {
  /* line 295, app/assets/stylesheets/_precinct_compare.scss */
  .bb-compare-summary {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* line 313, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-summary-panel {
  padding: 1rem 1.25rem;
  background-color: #F9FAFB;
  border-radius: 8px;
  border: 1px solid #E5E7EB;
}

/* line 320, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-summary-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

/* line 327, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-summary-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #FFFFFF;
  background-color: #1F5C96;
  border-radius: 9999px;
}

/* line 339, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-summary-badge.bb-summary-b {
  background-color: #127A7A;
}

/* line 344, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-summary-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 353, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-summary-contest {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-bottom: 1rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 362, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-summary-stats {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

/* line 368, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-summary-stat {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

/* line 374, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-summary-stat-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 379, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-summary-stat-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
}

/* line 384, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-summary-stat-value.bb-value-highlight {
  color: #1F5C96;
}

/* line 388, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-summary-stat-value.bb-value-highlight-b {
  color: #127A7A;
}

/* line 394, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-difference-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.5rem;
  background-color: #F3F4F6;
  border-radius: 8px;
  min-width: 160px;
}

@media (max-width: 768px) {
  /* line 394, app/assets/stylesheets/_precinct_compare.scss */
  .bb-compare-difference-panel {
    flex-direction: row;
    justify-content: space-around;
    padding: 1rem;
  }
}

/* line 411, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-difference-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
  margin-bottom: 0.375rem;
}

@media (max-width: 768px) {
  /* line 411, app/assets/stylesheets/_precinct_compare.scss */
  .bb-compare-difference-label {
    margin-bottom: 0;
    margin-right: 0.75rem;
  }
}

/* line 425, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-difference-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 430, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-difference-value.bb-diff-positive {
  color: #1F5C96;
}

/* line 434, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-difference-value.bb-diff-negative {
  color: #127A7A;
}

/* line 439, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-difference-desc {
  font-size: 0.75rem;
  color: #9CA3AF;
  text-align: center;
  margin-top: 0.25rem;
}

@media (max-width: 768px) {
  /* line 439, app/assets/stylesheets/_precinct_compare.scss */
  .bb-compare-difference-desc {
    margin-top: 0;
    margin-left: 0.75rem;
  }
}

/* line 455, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-container {
  overflow-x: auto;
}

/* line 459, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

/* line 465, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-header {
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 470, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
  white-space: nowrap;
  cursor: pointer;
}

/* line 481, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table th:hover {
  color: #4B5563;
}

/* line 485, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table th.bb-col-center {
  text-align: center;
}

/* line 489, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table th.bb-col-right {
  text-align: right;
}

/* line 494, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-header-contest {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 500, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  font-size: 0.625rem;
  font-weight: 700;
  color: #FFFFFF;
  background-color: #1F5C96;
  border-radius: 9999px;
}

/* line 512, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-badge.bb-badge-b {
  background-color: #127A7A;
}

/* line 517, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table tbody tr {
  border-bottom: 1px solid #F3F4F6;
  transition: background-color 0.15s ease;
}

/* line 521, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table tbody tr:hover {
  background-color: #F9FAFB;
}

/* line 525, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table tbody tr:last-child {
  border-bottom: none;
}

/* line 530, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table td {
  padding: 0.625rem 1rem;
  color: #1F2933;
}

/* line 534, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table td.bb-col-center {
  text-align: center;
}

/* line 538, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table td.bb-col-right {
  text-align: right;
}

/* line 543, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-precinct {
  font-weight: 500;
}

/* line 547, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-pct {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* line 551, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-pct.bb-pct-a {
  color: #1F5C96;
}

/* line 555, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-pct.bb-pct-b {
  color: #127A7A;
}

/* line 560, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-diff {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* line 564, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-diff.bb-diff-positive {
  color: #1F5C96;
}

/* line 568, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-diff.bb-diff-negative {
  color: #127A7A;
}

/* line 572, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-diff.bb-diff-neutral {
  color: #9CA3AF;
}

/* line 577, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-ballots {
  color: #6B7280;
  font-variant-numeric: tabular-nums;
}

/* line 583, app/assets/stylesheets/_precinct_compare.scss */
.bb-col-details {
  width: 90px;
}

/* line 587, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-details-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F5C96;
  background-color: transparent;
  border: 1px solid #4C7FB5;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}

/* line 602, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-details-btn i {
  font-size: 0.875rem;
}

/* line 606, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-details-btn:hover {
  background-color: #F4F7FC;
  border-color: #1F5C96;
}

/* line 611, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-details-btn:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(31, 92, 150, 0.2);
}

/* line 619, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table tbody tr.bb-row-highlight-a {
  background-color: rgba(31, 92, 150, 0.04);
}

/* line 622, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table tbody tr.bb-row-highlight-a:hover {
  background-color: rgba(31, 92, 150, 0.08);
}

/* line 627, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table tbody tr.bb-row-highlight-b {
  background-color: rgba(18, 122, 122, 0.04);
}

/* line 630, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table tbody tr.bb-row-highlight-b:hover {
  background-color: rgba(18, 122, 122, 0.08);
}

/* line 640, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-expanded-row {
  background-color: #F9FAFB !important;
}

/* line 643, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-expanded-row:hover {
  background-color: #F9FAFB !important;
}

/* line 648, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-expanded-content {
  padding: 1rem;
}

/* line 652, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-expanded-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

@media (max-width: 768px) {
  /* line 652, app/assets/stylesheets/_precinct_compare.scss */
  .bb-compare-expanded-grid {
    grid-template-columns: 1fr;
  }
}

/* line 662, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-expanded-map {
  height: 200px;
  background-color: #F3F4F6;
  border-radius: 6px;
  overflow: hidden;
}

/* line 669, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-expanded-stats {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 675, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-expanded-stat-group {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 0.75rem;
}

/* line 682, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-expanded-stat-title {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
  margin-bottom: 0.5rem;
}

/* line 691, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-expanded-stat-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 0.25rem 0;
}

/* line 698, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-expanded-stat-label {
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 703, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-expanded-stat-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
}

/* line 713, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 724, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-count {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 729, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 735, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-pagination {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 741, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-page-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  color: #4B5563;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 754, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-page-btn:hover:not(:disabled) {
  background-color: #F9FAFB;
  border-color: #D1D5DB;
}

/* line 759, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-page-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* line 764, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-page-btn.is-active {
  background-color: #1F5C96;
  border-color: #1F5C96;
  color: #FFFFFF;
}

/* line 772, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-display-toggle {
  display: flex;
  gap: 0.25rem;
  background-color: #F3F4F6;
  border-radius: 6px;
  padding: 2px;
}

/* line 780, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-display-btn {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  background: transparent;
  border: none;
  border-radius: calc(6px - 2px);
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 791, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-display-btn:hover:not(.is-active) {
  color: #4B5563;
}

/* line 795, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-display-btn.is-active {
  background-color: #FFFFFF;
  color: #1F2933;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 806, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 1.5rem;
  text-align: center;
}

/* line 815, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-empty-icon {
  font-size: 2.5rem;
  color: #D1D5DB;
  margin-bottom: 1rem;
}

/* line 821, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-empty-title {
  font-size: 1rem;
  font-weight: 500;
  color: #4B5563;
  margin-bottom: 0.375rem;
}

/* line 828, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-empty-desc {
  font-size: 0.875rem;
  color: #9CA3AF;
  max-width: 320px;
}

/* line 834, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 1.5rem;
  text-align: center;
}

/* line 843, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-loading-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid #E5E7EB;
  border-top-color: #1F5C96;
  border-radius: 50%;
  animation: bb-compare-spin 0.8s linear infinite;
  margin-bottom: 1rem;
}

@keyframes bb-compare-spin {
  to {
    transform: rotate(360deg);
  }
}

/* line 859, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-loading-text {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 868, app/assets/stylesheets/_precinct_compare.scss */
.bb-compare-table-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem 1rem;
  background-color: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
}

/* line 882, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(31, 41, 51, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1050;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  padding: 1rem;
}

/* line 898, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal.is-open {
  opacity: 1;
  visibility: visible;
}

/* line 904, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-content {
  background-color: #FFFFFF;
  border-radius: 12px;
  box-shadow: 0 20px 25px rgba(31, 41, 51, 0.08), 0 10px 10px rgba(31, 41, 51, 0.03);
  width: 100%;
  max-width: 900px;
  max-height: calc(100vh - 2rem);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: scale(0.95) translateY(10px);
  transition: transform 0.2s ease;
}

/* line 917, app/assets/stylesheets/_precinct_compare.scss */
.is-open .bb-precinct-modal-content {
  transform: scale(1) translateY(0);
}

/* line 922, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #FFFFFF;
}

/* line 931, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 938, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: #9CA3AF;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 951, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-close:hover {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 956, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-close i {
  font-size: 1.25rem;
}

/* line 961, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-body {
  flex: 1;
  overflow-y: auto;
  padding: 1.25rem;
}

/* line 968, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

@media (max-width: 768px) {
  /* line 968, app/assets/stylesheets/_precinct_compare.scss */
  .bb-precinct-modal-grid {
    grid-template-columns: 1fr;
  }
}

/* line 978, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-section {
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 985, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background-color: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
}

/* line 994, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-section-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 1002, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-toggle {
  display: flex;
  gap: 0.25rem;
  background-color: #F3F4F6;
  border-radius: 6px;
  padding: 2px;
}

/* line 1010, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-toggle-btn {
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  background: transparent;
  border: none;
  border-radius: calc(6px - 2px);
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 1021, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-toggle-btn:hover:not(.is-active) {
  color: #4B5563;
}

/* line 1025, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-toggle-btn.is-active {
  background-color: #FFFFFF;
  color: #1F2933;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 1032, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-section-content {
  padding: 1rem;
}

/* line 1036, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-loading {
  text-align: center;
  color: #9CA3AF;
  font-size: 0.875rem;
  padding: 1rem;
}

/* line 1044, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-party-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 1050, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-party-item {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

/* line 1056, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-party-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

/* line 1062, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-party-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #323C47;
}

/* line 1068, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-party-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 1075, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-party-bar-track {
  height: 8px;
  background-color: #E5E7EB;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 1082, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-party-bar-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
}

/* line 1087, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-party-bar-fill.bb-bar-dem {
  background-color: #1F5C96;
}

/* line 1091, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-party-bar-fill.bb-bar-rep {
  background-color: #9B2331;
}

/* line 1095, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-party-bar-fill.bb-bar-npp {
  background-color: #9CA3AF;
}

/* line 1099, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-party-bar-fill.bb-bar-other {
  background-color: #C4681A;
}

/* line 1103, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-party-bar-fill.bb-bar-green {
  background-color: #1F6B4E;
}

/* line 1107, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-party-bar-fill.bb-bar-lib {
  background-color: #8A6A06;
}

/* line 1113, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-ethnic-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 1119, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-ethnic-item {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

/* line 1125, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-ethnic-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

/* line 1131, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-ethnic-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #323C47;
}

/* line 1137, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-ethnic-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 1144, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-ethnic-bar-track {
  height: 8px;
  background-color: #E5E7EB;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 1151, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-ethnic-bar-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
  background-color: #127A7A;
}

/* line 1159, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-map {
  grid-column: 1 / -1;
}

/* line 1163, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-map-container {
  position: relative;
  height: 280px;
  background-color: #F3F4F6;
  border-radius: 6px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 1174, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-map-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  color: #B8BFC7;
}

/* line 1181, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-map-placeholder i {
  font-size: 2.5rem;
}

/* line 1185, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-map-placeholder span {
  font-size: 0.875rem;
}

/* line 1191, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-comparison {
  margin-top: 1.25rem;
  padding: 1rem;
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
}

/* line 1199, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-comparison-title {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
  margin-bottom: 0.75rem;
}

/* line 1208, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-comparison-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1rem;
  align-items: center;
}

@media (max-width: 576px) {
  /* line 1208, app/assets/stylesheets/_precinct_compare.scss */
  .bb-precinct-modal-comparison-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
}

/* line 1220, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-comparison-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1226, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-comparison-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #FFFFFF;
  background-color: #1F5C96;
  border-radius: 9999px;
}

/* line 1238, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-comparison-badge.bb-badge-b {
  background-color: #127A7A;
}

/* line 1243, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-comparison-label {
  font-size: 0.75rem;
  color: #6B7280;
}

/* line 1248, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-comparison-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
  margin-left: auto;
}

/* line 1254, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-comparison-value.bb-value-a {
  color: #1F5C96;
}

/* line 1258, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-comparison-value.bb-value-b {
  color: #127A7A;
}

/* line 1263, app/assets/stylesheets/_precinct_compare.scss */
.bb-precinct-modal-comparison-vs {
  font-size: 0.75rem;
  font-weight: 500;
  color: #B8BFC7;
  text-transform: uppercase;
  text-align: center;
}

@media (max-width: 576px) {
  /* line 1263, app/assets/stylesheets/_precinct_compare.scss */
  .bb-precinct-modal-comparison-vs {
    padding: 0.25rem 0;
    border-top: 1px dashed #E5E7EB;
    border-bottom: 1px dashed #E5E7EB;
  }
}

/* line 13, app/assets/stylesheets/_census_cards.scss */
.bb-census-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 20, app/assets/stylesheets/_census_cards.scss */
.bb-census-card-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #FFFFFF;
}

/* line 26, app/assets/stylesheets/_census_cards.scss */
.bb-census-card-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 36, app/assets/stylesheets/_census_cards.scss */
.bb-census-card-title-icon {
  color: #9CA3AF;
  font-size: 0.875rem;
}

/* line 41, app/assets/stylesheets/_census_cards.scss */
.bb-census-card-subtitle {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
}

/* line 48, app/assets/stylesheets/_census_cards.scss */
.bb-census-card-summary {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #F3F4F6;
}

/* line 57, app/assets/stylesheets/_census_cards.scss */
.bb-census-card-summary-item {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 63, app/assets/stylesheets/_census_cards.scss */
.bb-census-card-summary-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 70, app/assets/stylesheets/_census_cards.scss */
.bb-census-card-summary-value {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 76, app/assets/stylesheets/_census_cards.scss */
.bb-census-card-body {
  padding: 1rem 1.25rem;
}

/* line 81, app/assets/stylesheets/_census_cards.scss */
.bb-census-card-footer {
  padding: 0.875rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 87, app/assets/stylesheets/_census_cards.scss */
.bb-census-card-footer-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.375rem 0;
}

/* line 93, app/assets/stylesheets/_census_cards.scss */
.bb-census-card-footer-row:not(:last-child) {
  border-bottom: 1px dashed #E5E7EB;
}

/* line 98, app/assets/stylesheets/_census_cards.scss */
.bb-census-card-footer-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 104, app/assets/stylesheets/_census_cards.scss */
.bb-census-card-footer-value {
  font-size: 0.875rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 112, app/assets/stylesheets/_census_cards.scss */
.bb-census-card-notes {
  padding: 0.75rem 1.25rem;
  background-color: #EDF3F8;
  border-top: 1px solid #E5E7EB;
  font-size: 0.75rem;
  color: #1D5E96;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

/* line 122, app/assets/stylesheets/_census_cards.scss */
.bb-census-card-notes i {
  margin-top: 0.125rem;
}

/* line 135, app/assets/stylesheets/_census_cards.scss */
.bb-census-distribution-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 141, app/assets/stylesheets/_census_cards.scss */
.bb-census-distribution-item {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

/* line 147, app/assets/stylesheets/_census_cards.scss */
.bb-census-distribution-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 153, app/assets/stylesheets/_census_cards.scss */
.bb-census-distribution-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #323C47;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 162, app/assets/stylesheets/_census_cards.scss */
.bb-census-distribution-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 172, app/assets/stylesheets/_census_cards.scss */
.bb-census-distribution-bar-track {
  height: 8px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 179, app/assets/stylesheets/_census_cards.scss */
.bb-census-distribution-bar-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
  background-color: #1F5C96;
}

/* line 185, app/assets/stylesheets/_census_cards.scss */
.bb-census-distribution-bar-fill.bb-bar-primary {
  background-color: #1F5C96;
}

/* line 186, app/assets/stylesheets/_census_cards.scss */
.bb-census-distribution-bar-fill.bb-bar-primary-light {
  background-color: #4C7FB5;
}

/* line 187, app/assets/stylesheets/_census_cards.scss */
.bb-census-distribution-bar-fill.bb-bar-teal {
  background-color: #127A7A;
}

/* line 188, app/assets/stylesheets/_census_cards.scss */
.bb-census-distribution-bar-fill.bb-bar-orange {
  background-color: #C4681A;
}

/* line 189, app/assets/stylesheets/_census_cards.scss */
.bb-census-distribution-bar-fill.bb-bar-success {
  background-color: #1F6B4E;
}

/* line 190, app/assets/stylesheets/_census_cards.scss */
.bb-census-distribution-bar-fill.bb-bar-warning {
  background-color: #8A6A06;
}

/* line 191, app/assets/stylesheets/_census_cards.scss */
.bb-census-distribution-bar-fill.bb-bar-danger {
  background-color: #9B2331;
}

/* line 192, app/assets/stylesheets/_census_cards.scss */
.bb-census-distribution-bar-fill.bb-bar-neutral {
  background-color: #9CA3AF;
}

/* line 196, app/assets/stylesheets/_census_cards.scss */
.bb-census-indicator {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.375rem;
  font-size: 0.625rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border-radius: 4px;
}

/* line 206, app/assets/stylesheets/_census_cards.scss */
.bb-census-indicator.bb-indicator-high {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 211, app/assets/stylesheets/_census_cards.scss */
.bb-census-indicator.bb-indicator-low {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 216, app/assets/stylesheets/_census_cards.scss */
.bb-census-indicator.bb-indicator-avg {
  background-color: #F3F4F6;
  color: #6B7280;
}

/* line 226, app/assets/stylesheets/_census_cards.scss */
.bb-census-text-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 232, app/assets/stylesheets/_census_cards.scss */
.bb-census-text-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0.75rem 0;
  border-bottom: 1px solid #F3F4F6;
}

/* line 239, app/assets/stylesheets/_census_cards.scss */
.bb-census-text-item:last-child {
  border-bottom: none;
}

/* line 243, app/assets/stylesheets/_census_cards.scss */
.bb-census-text-item.bb-text-item-nested {
  padding-left: 1.25rem;
  border-left: 2px solid #E5E7EB;
  margin-left: 0.5rem;
}

/* line 250, app/assets/stylesheets/_census_cards.scss */
.bb-census-text-content {
  flex: 1;
  min-width: 0;
}

/* line 255, app/assets/stylesheets/_census_cards.scss */
.bb-census-text-label {
  font-size: 0.875rem;
  color: #323C47;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

/* line 263, app/assets/stylesheets/_census_cards.scss */
.bb-census-text-description {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
  line-height: 1.4;
}

/* line 270, app/assets/stylesheets/_census_cards.scss */
.bb-census-text-values {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.125rem;
  margin-left: 1rem;
}

/* line 278, app/assets/stylesheets/_census_cards.scss */
.bb-census-text-primary-value {
  font-size: 0.875rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 285, app/assets/stylesheets/_census_cards.scss */
.bb-census-text-confidence {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-variant-numeric: tabular-nums;
}

/* line 295, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-tree {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 301, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-branch {
  border-bottom: 1px solid #F3F4F6;
}

/* line 304, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-branch:last-child {
  border-bottom: none;
}

/* line 309, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-parent {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 0;
  font-weight: 500;
}

/* line 317, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-parent-label {
  font-size: 0.875rem;
  color: #1F2933;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 325, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-parent-icon {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #E4EEF8;
  color: #1F5C96;
  border-radius: 6px;
  font-size: 0.75rem;
}

/* line 337, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-parent-value {
  font-size: 0.875rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 344, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-children {
  padding-left: 2rem;
  padding-bottom: 0.5rem;
}

/* line 349, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-child {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  padding-left: 0.75rem;
  border-left: 2px solid #E5E7EB;
  position: relative;
}

/* line 358, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-child::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 0.5rem;
  height: 2px;
  background-color: #E5E7EB;
}

/* line 369, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-child-label {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 374, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-child-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #323C47;
  font-variant-numeric: tabular-nums;
}

/* line 382, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-grandchildren {
  padding-left: 1.5rem;
  margin-top: 0.25rem;
}

/* line 387, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-grandchild {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.375rem 0;
  padding-left: 0.75rem;
  border-left: 2px solid #F3F4F6;
  position: relative;
}

/* line 396, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-grandchild::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 0.375rem;
  height: 2px;
  background-color: #F3F4F6;
}

/* line 407, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-grandchild-label {
  font-size: 0.75rem;
  color: #6B7280;
}

/* line 412, app/assets/stylesheets/_census_cards.scss */
.bb-census-household-grandchild-value {
  font-size: 0.75rem;
  font-weight: 600;
  color: #4B5563;
  font-variant-numeric: tabular-nums;
}

/* line 423, app/assets/stylesheets/_census_cards.scss */
.bb-census-totals-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 432, app/assets/stylesheets/_census_cards.scss */
.bb-census-totals-item {
  flex: 1;
  min-width: 100px;
  padding: 0.625rem 0.75rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  text-align: center;
}

/* line 442, app/assets/stylesheets/_census_cards.scss */
.bb-census-totals-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-bottom: 0.25rem;
}

/* line 448, app/assets/stylesheets/_census_cards.scss */
.bb-census-totals-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 459, app/assets/stylesheets/_census_cards.scss */
.bb-census-help-link {
  color: #B8BFC7;
  font-size: 0.75rem;
  transition: color 0.15s ease;
}

/* line 464, app/assets/stylesheets/_census_cards.scss */
.bb-census-help-link:hover {
  color: #1F5C96;
}

/* line 473, app/assets/stylesheets/_census_cards.scss */
.bb-census-view-controls {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

/* line 479, app/assets/stylesheets/_census_cards.scss */
.bb-census-view-select {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  cursor: pointer;
}

/* line 488, app/assets/stylesheets/_census_cards.scss */
.bb-census-view-select:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 2px rgba(31, 92, 150, 0.1);
}

/* line 12, app/assets/stylesheets/_jurisdictions.scss */
#jurisdictionSearchInput:focus {
  outline: none;
  box-shadow: none;
  border-bottom-color: var(--blue-grey-600);
}

/* line 18, app/assets/stylesheets/_jurisdictions.scss */
#jurisdictionSearchInput::placeholder {
  color: var(--blue-grey-400);
}

/* line 22, app/assets/stylesheets/_jurisdictions.scss */
.district-tooltip {
  background: white;
  border: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 4px;
}

/* line 31, app/assets/stylesheets/_jurisdictions.scss */
#map-locked {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #dee2e6;
  border-radius: 4px;
}

/* line 40, app/assets/stylesheets/_jurisdictions.scss */
.hero-stats-header h1 {
  font-size: 1.75rem;
  /* Adjust as needed */
}

/* line 43, app/assets/stylesheets/_jurisdictions.scss */
.hero-stats-header .breadcrumb-item a {
  color: rgba(255, 255, 255, 0.8);
}

/* line 45, app/assets/stylesheets/_jurisdictions.scss */
.hero-stats-header .breadcrumb-item a:hover {
  color: #ffffff;
}

/* line 52, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-link {
  color: var(--light-blue-vivid-600);
  transition: color 0.2s ease;
}

/* line 56, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-link:hover {
  color: var(--light-blue-vivid-700);
}

/* line 62, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-sticky-header {
  transition: padding 160ms ease, margin 160ms ease;
}

/* line 65, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-sticky-header h1 {
  transition: font-size 160ms ease, line-height 160ms ease, margin 160ms ease, transform 160ms ease;
  transform-origin: left top;
  /* keep left edge anchored when scaling */
}

/* line 70, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-sticky-header.is-condensed {
  /* More breathing room at the top to avoid touching */
  padding-top: 0.75rem !important;
  padding-bottom: 0.5rem !important;
  /* Breadcrumb/parent indicator spacing tweaks */
  /* Normalize large utility margins that exist in helper output */
  /* Hide the incumbent line in condensed header to save vertical space */
}

/* line 75, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-sticky-header.is-condensed h1 {
  font-size: 1.25rem !important;
  line-height: 1.2 !important;
  margin-bottom: 0 !important;
  transform: translateZ(0) scale(0.985);
}

/* line 83, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-sticky-header.is-condensed .small.opacity-75 {
  margin-top: 0.2rem !important;
  /* ensure it never hugs the top */
  margin-bottom: 0.25rem !important;
  /* subtle gap before title */
  line-height: 1.2;
}

/* line 90, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-sticky-header.is-condensed .mt-3 {
  margin-top: 0.25rem !important;
}

/* line 91, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-sticky-header.is-condensed .mt-2 {
  margin-top: 0.25rem !important;
}

/* line 92, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-sticky-header.is-condensed .mt-1 {
  margin-top: 0.15rem !important;
}

/* line 95, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-sticky-header.is-condensed .incumbent-line {
  display: none !important;
}

/* line 106, app/assets/stylesheets/_jurisdictions.scss */
.compact-header {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  margin-bottom: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

/* line 118, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-identity {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  gap: 1.5rem;
  border-bottom: 1px solid #E5E7EB;
}

@media (max-width: 768px) {
  /* line 118, app/assets/stylesheets/_jurisdictions.scss */
  .compact-header-identity {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}

/* line 133, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-left {
  flex: 1;
  min-width: 0;
}

/* line 138, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-bottom: 0.125rem;
}

/* line 146, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-breadcrumb a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 150, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-breadcrumb a:hover {
  text-decoration: underline;
}

/* line 155, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-breadcrumb i {
  font-size: 0.625rem;
  color: #B8BFC7;
}

/* line 161, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-overlap {
  color: #6B7280;
  font-weight: 500;
}

/* line 166, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-county-link {
  color: #6B7280;
  text-decoration: none;
}

/* line 170, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-county-link:hover {
  color: #1F5C96;
  text-decoration: underline;
}

/* line 176, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-show-more,
.compact-header-show-less {
  background: none;
  border: none;
  padding: 0;
  font-size: inherit;
  font-weight: 500;
  color: #1F5C96;
  cursor: pointer;
  text-decoration: underline;
}

/* line 187, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-show-more:hover,
.compact-header-show-less:hover {
  color: #123B66;
}

/* line 194, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-counties-expanded .compact-header-county-link:last-of-type {
  margin-right: 0.25rem;
}

/* line 200, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0;
  line-height: 1.2;
}

@media (max-width: 768px) {
  /* line 200, app/assets/stylesheets/_jurisdictions.scss */
  .compact-header-name {
    font-size: 1.125rem;
  }
}

/* line 212, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-name.compact-header-name-large {
  font-size: 1.5rem;
}

@media (max-width: 768px) {
  /* line 212, app/assets/stylesheets/_jurisdictions.scss */
  .compact-header-name.compact-header-name-large {
    font-size: 1.25rem;
  }
}

/* line 221, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-subtitle {
  font-size: 0.875rem;
  color: #6B7280;
  margin-top: 0.125rem;
  font-weight: 400;
}

/* line 228, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.25rem;
}

/* line 236, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-official {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 240, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-official a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 244, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-official a:hover {
  text-decoration: underline;
}

/* line 250, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-official-label {
  color: #9CA3AF;
}

/* line 254, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-party {
  font-size: 0.875rem;
  font-weight: 500;
  margin-left: 0.25rem;
}

/* line 260, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-party-republican {
  color: #9B2331;
}

/* line 263, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-party-republican a {
  color: #9B2331;
}

/* line 266, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-party-republican a:hover {
  color: #711a24;
}

/* line 272, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-party-democrat,
.compact-header-party-democratic {
  color: #1D5E96;
}

/* line 276, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-party-democrat a,
.compact-header-party-democratic a {
  color: #1D5E96;
}

/* line 279, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-party-democrat a:hover,
.compact-header-party-democratic a:hover {
  color: #15436b;
}

/* line 285, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-party-independent,
.compact-header-party-no-party-preference,
.compact-header-party-nonpartisan {
  color: #9CA3AF;
}

/* line 290, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-party-independent a,
.compact-header-party-no-party-preference a,
.compact-header-party-nonpartisan a {
  color: #4B5563;
}

/* line 293, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-party-independent a:hover,
.compact-header-party-no-party-preference a:hover,
.compact-header-party-nonpartisan a:hover {
  color: #1F2933;
}

/* line 299, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-contact {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 305, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-contact-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  color: #1F5C96;
  background-color: #F4F7FC;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 317, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-contact-link:hover {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 322, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-contact-link i {
  font-size: 0.75rem;
}

/* line 327, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-officials-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  color: #1F5C96;
  text-decoration: none;
}

/* line 335, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-officials-link:hover {
  text-decoration: underline;
  color: #123B66;
}

/* line 340, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-officials-link i {
  font-size: 0.875rem;
}

/* line 345, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-right {
  display: flex;
  gap: 1.5rem;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  /* line 345, app/assets/stylesheets/_jurisdictions.scss */
  .compact-header-right {
    gap: 1rem;
  }
}

/* line 355, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-stat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0;
}

@media (max-width: 768px) {
  /* line 355, app/assets/stylesheets/_jurisdictions.scss */
  .compact-header-stat {
    align-items: flex-start;
  }
}

/* line 366, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-stat-value {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

/* line 374, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-stat-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  line-height: 1.2;
}

/* line 384, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1.25rem;
  background-color: #F9FAFB;
  gap: 1rem;
  min-height: 44px;
  border-radius: 0 0 8px 8px;
}

@media (max-width: 992px) {
  /* line 384, app/assets/stylesheets/_jurisdictions.scss */
  .compact-header-nav {
    flex-direction: column;
    align-items: stretch;
    padding: 0.5rem 1rem;
    gap: 0.5rem;
  }
}

/* line 402, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-sections {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

@media (max-width: 992px) {
  /* line 402, app/assets/stylesheets/_jurisdictions.scss */
  .compact-nav-sections {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  /* line 413, app/assets/stylesheets/_jurisdictions.scss */
  .compact-nav-sections::-webkit-scrollbar {
    display: none;
  }
}

/* line 419, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-link {
  padding: 0.25rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  text-decoration: none;
  border-radius: 4px;
  white-space: nowrap;
  transition: all 0.15s ease;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
}

/* line 433, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-link:hover {
  color: #1F2933;
  background-color: #F3F4F6;
}

/* line 438, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-link.active {
  color: #123B66;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
}

/* line 444, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-link i.bi-chevron-down {
  font-size: 0.625rem;
  margin-left: 0.25rem;
}

/* line 449, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-link.compact-nav-home {
  padding: 0.625rem 0.5rem;
  margin-right: 0.25rem;
}

/* line 453, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-link.compact-nav-home i {
  font-size: 1rem;
}

/* line 458, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-link.compact-nav-icon {
  padding: 0.625rem 0.5rem;
}

/* line 461, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-link.compact-nav-icon i {
  font-size: 1rem;
}

/* line 468, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-dropdown {
  position: relative;
}

/* line 472, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1100;
  min-width: 180px;
  padding: 0.5rem 0;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 485, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-dropdown.is-open .compact-nav-menu {
  display: block;
}

/* line 490, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-menu-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  color: #4B5563;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 500, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-menu-item:hover {
  background-color: #F9FAFB;
  color: #1F2933;
}

/* line 505, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-menu-item.active {
  color: #123B66;
  background-color: #F4F7FC;
}

/* line 510, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-menu-item i.bi-chevron-right {
  font-size: 0.625rem;
  color: #B8BFC7;
}

/* line 516, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-submenu-wrapper {
  position: relative;
}

/* line 519, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-submenu-wrapper:hover .compact-nav-submenu {
  display: block;
}

/* line 524, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1101;
  min-width: 160px;
  padding: 0.5rem 0;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 539, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-districts-wrapper {
  position: relative;
  flex: 1;
  min-width: 0;
  max-width: 50%;
}

/* line 546, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-districts-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 2rem;
  background: linear-gradient(to right, transparent, #F9FAFB);
  pointer-events: none;
}

@media (max-width: 992px) {
  /* line 539, app/assets/stylesheets/_jurisdictions.scss */
  .compact-nav-districts-wrapper {
    max-width: 100%;
  }
}

/* line 562, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-districts {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-right: 1.5rem;
}

/* line 572, app/assets/stylesheets/_jurisdictions.scss */
.compact-nav-districts::-webkit-scrollbar {
  display: none;
}

@media (max-width: 992px) {
  /* line 562, app/assets/stylesheets/_jurisdictions.scss */
  .compact-nav-districts {
    padding-bottom: 0.25rem;
  }
}

/* line 581, app/assets/stylesheets/_jurisdictions.scss */
.compact-district-chip {
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 400;
  color: #9CA3AF;
  background-color: transparent;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.15s ease;
}

/* line 593, app/assets/stylesheets/_jurisdictions.scss */
.compact-district-chip:hover {
  border-color: #D1D5DB;
  color: #6B7280;
  background-color: #FFFFFF;
}

/* line 599, app/assets/stylesheets/_jurisdictions.scss */
.compact-district-chip.active {
  background-color: #E4EEF8;
  border-color: #4C7FB5;
  color: #123B66;
  font-weight: 500;
}

/* line 611, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-mobile-nav {
  display: none;
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  gap: 0.75rem;
  flex-direction: column;
  border-radius: 0 0 8px 8px;
}

@media (max-width: 992px) {
  /* line 611, app/assets/stylesheets/_jurisdictions.scss */
  .compact-header-mobile-nav {
    display: flex;
  }
}

/* line 625, app/assets/stylesheets/_jurisdictions.scss */
.compact-mobile-select {
  display: block;
  width: 100%;
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: #1F2933;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%234B5563' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 12px;
}

/* line 642, app/assets/stylesheets/_jurisdictions.scss */
.compact-mobile-select:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.15);
}

@media (max-width: 992px) {
  /* line 651, app/assets/stylesheets/_jurisdictions.scss */
  .compact-header-nav {
    display: none;
  }
}

@media (min-width: 993px) {
  /* line 657, app/assets/stylesheets/_jurisdictions.scss */
  .compact-header-mobile-nav {
    display: none !important;
  }
}

/* line 666, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-note {
  margin-top: 1rem;
  padding: 0.75rem;
  background-color: #F8F5ED;
  border-radius: 6px;
  font-size: 0.875rem;
  color: #8A6A06;
}

@media (max-width: 992px) {
  /* line 666, app/assets/stylesheets/_jurisdictions.scss */
  .compact-header-note {
    display: none;
  }
}

/* line 679, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-note i {
  margin-right: 0.25rem;
}

/* line 683, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-note a {
  color: #1F5C96;
  text-decoration: none;
  font-weight: 500;
}

/* line 688, app/assets/stylesheets/_jurisdictions.scss */
.compact-header-note a:hover {
  text-decoration: underline;
}

/* line 700, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .lean-meter, .partisan-analysis .margin-bar {
  position: relative;
  height: 30px;
  background-color: #e9ecef;
  margin: 10px 0;
}

/* line 707, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .performance-range {
  position: relative;
  height: 60px;
  background-color: #e9ecef;
  margin: 10px 0;
}

/* line 714, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .lean-bar, .partisan-analysis .margin-indicator {
  position: absolute;
  top: 0;
  height: 100%;
}

/* line 720, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .dem-range, .partisan-analysis .rep-range {
  position: absolute;
  height: 25px;
}

/* line 725, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .dem-range {
  top: 0;
}

/* line 729, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .rep-range {
  bottom: 0;
}

/* line 733, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .lean-scale, .partisan-analysis .range-scale {
  display: flex;
  justify-content: space-between;
  font-size: 0.8em;
  color: #666;
}

/* line 740, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .lean-label, .partisan-analysis .range-label, .partisan-analysis .margin-label {
  position: absolute;
  white-space: nowrap;
  font-size: 0.9em;
  transform: translateX(-50%);
}

/* line 747, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .lean-label, .partisan-analysis .margin-label {
  top: -20px;
}

/* line 751, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .range-label {
  top: 100%;
  margin-top: 5px;
}

/* line 756, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .year-margin {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

/* line 762, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .year {
  width: 50px;
  text-align: right;
  margin-right: 10px;
}

/* line 768, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .margin-bar {
  flex-grow: 1;
}

/* line 772, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .dem {
  background-color: #1375b7;
}

/* line 776, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .rep {
  background-color: #c93135;
}

/* line 780, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .dem-range {
  background-color: rgba(19, 117, 183, 0.3);
}

/* line 784, app/assets/stylesheets/_jurisdictions.scss */
.partisan-analysis .rep-range {
  background-color: rgba(201, 49, 53, 0.3);
}

/* line 817, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-search {
  max-width: 400px;
}

/* line 821, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-search-input {
  display: block;
  width: 100%;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  color: #1F2933;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  background-color: #FFFFFF;
  transition: all 0.15s ease;
}

/* line 832, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-search-input:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.15);
}

/* line 838, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-search-input::placeholder {
  color: #9CA3AF;
}

/* line 844, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 851, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
}

/* line 866, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-chip:hover:not(.active) {
  border-color: #9CA3AF;
  background-color: #F9FAFB;
}

/* line 871, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-chip.active {
  background-color: #E4EEF8;
  border-color: #1F5C96;
  color: #123B66;
}

/* line 876, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-chip.active .sub-jurisdictions-chip-icon {
  display: inline;
  color: #1F5C96;
}

/* line 882, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-chip .sub-jurisdictions-chip-icon {
  display: none;
  font-size: 0.875rem;
}

/* line 887, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-chip-count {
  font-size: 0.75rem;
  color: #9CA3AF;
  background-color: #F3F4F6;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  margin-left: 0.125rem;
}

/* line 896, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-chip.active .sub-jurisdictions-chip-count {
  background-color: rgba(31, 92, 150, 0.15);
  color: #123B66;
}

/* line 903, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-empty {
  margin-bottom: 1.5rem;
}

/* line 907, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-empty-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.25rem;
}

/* line 914, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-empty-title {
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 0.25rem;
}

/* line 920, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-empty-text {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-bottom: 0;
}

/* line 927, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-section {
  padding: 1.5rem 0;
  border-top: 1px solid #E5E7EB;
}

/* line 931, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-section:first-of-type {
  border-top: none;
  padding-top: 0;
}

/* line 937, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 0.25rem;
}

/* line 944, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-section-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 951, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-section-count {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 956, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-section-desc {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-bottom: 1rem;
  max-width: 640px;
}

/* line 964, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 0.75rem;
}

/* line 971, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-card-wrapper {
  min-width: 0;
}

/* line 976, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1rem;
  height: 100%;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

/* line 984, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-card:hover {
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  border-color: #D1D5DB;
}

/* line 990, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-card-name {
  margin-bottom: 0.5rem;
}

/* line 993, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-card-name a {
  font-size: 0.9375rem;
  font-weight: 500;
  color: #1F2933;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 1000, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-card-name a:hover {
  color: #1F5C96;
}

/* line 1006, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-card-type {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 500;
  color: #9CA3AF;
  background-color: #F3F4F6;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  margin-left: 0.5rem;
  vertical-align: middle;
}

/* line 1019, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-card-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

/* line 1025, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.625rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
  background-color: #F3F4F6;
  color: #4B5563;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 1038, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-pill:hover {
  background-color: #E4EEF8;
  color: #123B66;
  text-decoration: none;
}

/* line 1046, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-segmented {
  display: inline-flex;
  background-color: #F3F4F6;
  border-radius: 6px;
  padding: 3px;
  gap: 2px;
}

/* line 1054, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-segmented-btn {
  padding: 0.375rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
  white-space: nowrap;
}

/* line 1067, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-segmented-btn:hover:not(.active) {
  color: #1F2933;
  background-color: #F9FAFB;
}

/* line 1072, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-segmented-btn.active {
  background-color: #FFFFFF;
  color: #123B66;
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 1080, app/assets/stylesheets/_jurisdictions.scss */
.sub-jurisdictions-legislative-group.d-none {
  display: none;
}

@media (max-width: 767.98px) {
  /* line 1087, app/assets/stylesheets/_jurisdictions.scss */
  .sub-jurisdictions-search {
    max-width: none;
  }
  /* line 1091, app/assets/stylesheets/_jurisdictions.scss */
  .sub-jurisdictions-grid {
    grid-template-columns: 1fr;
  }
  /* line 1095, app/assets/stylesheets/_jurisdictions.scss */
  .sub-jurisdictions-segmented {
    flex-wrap: wrap;
  }
}

/* line 1101, app/assets/stylesheets/_jurisdictions.scss */
.measure-details {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

/* line 1107, app/assets/stylesheets/_jurisdictions.scss */
.measure-description {
  font-size: 0.9rem;
  line-height: 1.4;
}

/* line 1112, app/assets/stylesheets/_jurisdictions.scss */
.badge {
  font-weight: normal;
}

/* line 1116, app/assets/stylesheets/_jurisdictions.scss */
.contest-details {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

/* line 1122, app/assets/stylesheets/_jurisdictions.scss */
.table-success {
  --bs-table-bg: rgba(25, 135, 84, 0.1);
}

/* line 1126, app/assets/stylesheets/_jurisdictions.scss */
.table-sm td {
  vertical-align: middle;
}

/* line 1130, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-hierarchy {
  margin-bottom: 1rem;
}

/* line 1133, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-hierarchy a {
  color: inherit;
  text-decoration: none;
}

/* line 1137, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-hierarchy a:hover {
  text-decoration: underline;
}

/* line 1142, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-hierarchy .jurisdiction-level-1 {
  font-size: 1rem;
  margin-bottom: 0.25rem;
}

/* line 1147, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-hierarchy .jurisdiction-level-2 {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}

/* line 1152, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-hierarchy .jurisdiction-level-3 {
  font-size: 1.5rem;
  margin-bottom: 0.75rem;
}

/* line 1157, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-hierarchy .jurisdiction-level-4 {
  font-size: 1.75rem;
  margin-bottom: 1rem;
}

/* line 1163, app/assets/stylesheets/_jurisdictions.scss */
.sample-btn {
  border-color: var(--light-blue-vivid-600) !important;
  color: var(--light-blue-vivid-600) !important;
  transition: all 0.2s ease-in-out !important;
}

/* line 1169, app/assets/stylesheets/_jurisdictions.scss */
.sample-btn:hover {
  background-color: var(--light-blue-vivid-600) !important;
  color: white !important;
}

/* line 1174, app/assets/stylesheets/_jurisdictions.scss */
.subscribe-btn {
  background-color: var(--light-blue-vivid-600) !important;
  border: none !important;
  transition: all 0.2s ease-in-out !important;
}

/* line 1180, app/assets/stylesheets/_jurisdictions.scss */
.subscribe-btn:hover {
  background-color: var(--light-blue-vivid-700) !important;
}

@media (max-width: 767.98px) {
  /* line 1185, app/assets/stylesheets/_jurisdictions.scss */
  .sample-preview-container {
    order: 2;
  }
  /* line 1188, app/assets/stylesheets/_jurisdictions.scss */
  .key-metrics-container {
    order: 1;
  }
}

/* line 1194, app/assets/stylesheets/_jurisdictions.scss */
.ideology {
  /* Progress bar styles */
}

/* line 1196, app/assets/stylesheets/_jurisdictions.scss */
.ideology .progress {
  background-color: #f8f9fa;
}

/* line 1200, app/assets/stylesheets/_jurisdictions.scss */
.ideology .progress-bar {
  transition: width 0.6s ease;
}

/* line 1204, app/assets/stylesheets/_jurisdictions.scss */
.ideology .btn:hover {
  background-color: var(--blue-grey-600);
  color: white;
}

@keyframes pulse-glow {
  0%, 100% {
    box-shadow: 0 0 0 2px rgba(25, 146, 212, 0.2);
  }
  50% {
    box-shadow: 0 0 0 4px rgba(25, 146, 212, 0.3);
  }
}

/* line 1221, app/assets/stylesheets/_jurisdictions.scss */
.obfuscated-value {
  filter: blur(6px);
  cursor: pointer;
  transition: filter 0.2s ease, opacity 0.2s ease;
}

/* line 1226, app/assets/stylesheets/_jurisdictions.scss */
.obfuscated-value:hover {
  filter: blur(8px);
  opacity: 0.8;
}

/* line 1233, app/assets/stylesheets/_jurisdictions.scss */
.obfuscated-light {
  filter: blur(2px);
  cursor: pointer;
  opacity: 0.8;
  transition: filter 0.2s ease, opacity 0.2s ease;
}

/* line 1239, app/assets/stylesheets/_jurisdictions.scss */
.obfuscated-light:hover {
  filter: blur(3px);
  opacity: 0.7;
}

/* line 1246, app/assets/stylesheets/_jurisdictions.scss */
.obfuscated-hidden {
  display: none !important;
}

/* line 1251, app/assets/stylesheets/_jurisdictions.scss */
.privacy-placeholder {
  background: linear-gradient(90deg, #f0f0f0 0%, #e0e0e0 50%, #f0f0f0 100%);
  height: 1rem;
  border-radius: 0.25rem;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

/* line 1260, app/assets/stylesheets/_jurisdictions.scss */
.privacy-placeholder::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent);
  animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}

/* line 1281, app/assets/stylesheets/_jurisdictions.scss */
.district-pill-nav-container {
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}

/* line 1287, app/assets/stylesheets/_jurisdictions.scss */
.district-pill-nav {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.5rem;
  overflow-x: auto;
  padding: 0.25rem 0;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: var(--blue-grey-300) transparent;
}

/* line 1299, app/assets/stylesheets/_jurisdictions.scss */
.district-pill-nav::-webkit-scrollbar {
  height: 6px;
}

/* line 1302, app/assets/stylesheets/_jurisdictions.scss */
.district-pill-nav::-webkit-scrollbar-track {
  background: transparent;
}

/* line 1305, app/assets/stylesheets/_jurisdictions.scss */
.district-pill-nav::-webkit-scrollbar-thumb {
  background: var(--blue-grey-300);
  border-radius: 3px;
}

/* line 1309, app/assets/stylesheets/_jurisdictions.scss */
.district-pill-nav::-webkit-scrollbar-thumb:hover {
  background: var(--blue-grey-400);
}

/* line 1316, app/assets/stylesheets/_jurisdictions.scss */
.district-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 1rem;
  border-radius: 999px;
  border: 1px solid var(--blue-grey-300);
  background-color: #ffffff;
  color: var(--blue-grey-700);
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
  text-decoration: none;
  transition: all 0.15s ease;
  cursor: pointer;
  flex-shrink: 0;
}

/* line 1332, app/assets/stylesheets/_jurisdictions.scss */
.district-pill:hover {
  background-color: var(--blue-grey-050);
  border-color: var(--blue-grey-400);
  color: var(--blue-grey-800);
  text-decoration: none;
}

/* line 1339, app/assets/stylesheets/_jurisdictions.scss */
.district-pill.active {
  background-color: var(--light-blue-vivid-50);
  border: 2px solid var(--light-blue-vivid-600);
  color: var(--blue-grey-900);
  font-weight: 500;
  box-shadow: none;
}

/* line 1353, app/assets/stylesheets/_jurisdictions.scss */
.expand-icon-container {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  margin-right: 8px;
  vertical-align: middle;
}

/* line 1362, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-name-cell {
  white-space: nowrap;
  position: relative;
  padding-left: 3.25rem !important;
}

/* line 1368, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-name-header {
  padding-left: 3.25rem !important;
}

/* line 1372, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-name-text {
  display: inline-block;
  vertical-align: middle;
}

/* line 1377, app/assets/stylesheets/_jurisdictions.scss */
.jurisdiction-name-cell .expand-icon-container {
  position: absolute;
  left: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  margin-right: 0;
}

/* line 1385, app/assets/stylesheets/_jurisdictions.scss */
.expandable-row:hover {
  background-color: var(--blue-grey-050) !important;
}

@media (max-width: 991.98px) {
  /* line 1397, app/assets/stylesheets/_jurisdictions.scss */
  .jurisdictions-index-table th:nth-child(3), .jurisdictions-index-table th:nth-child(4), .jurisdictions-index-table th:nth-child(5), .jurisdictions-index-table td:nth-child(3), .jurisdictions-index-table td:nth-child(4), .jurisdictions-index-table td:nth-child(5) {
    padding-left: 1rem;
  }
  /* line 1406, app/assets/stylesheets/_jurisdictions.scss */
  .jurisdictions-index-table th:nth-child(2), .jurisdictions-index-table td:nth-child(2) {
    border-right: 1px solid rgba(148, 163, 184, 0.2);
  }
  /* line 1412, app/assets/stylesheets/_jurisdictions.scss */
  .jurisdictions-index-table td:nth-child(3), .jurisdictions-index-table td:nth-child(4), .jurisdictions-index-table td:nth-child(5) {
    padding-right: 0.75rem;
    font-size: 0.875rem;
  }
  /* line 1419, app/assets/stylesheets/_jurisdictions.scss */
  .jurisdictions-index-table td:nth-child(3) span, .jurisdictions-index-table td:nth-child(4) span, .jurisdictions-index-table td:nth-child(5) span {
    display: inline-block;
    white-space: nowrap;
  }
  /* line 1426, app/assets/stylesheets/_jurisdictions.scss */
  .jurisdictions-index-table td:nth-child(2) {
    font-size: 0.875rem;
    color: var(--blue-grey-600);
  }
  /* line 1433, app/assets/stylesheets/_jurisdictions.scss */
  .jurisdictions-index-table tr.nested-row td {
    font-size: 0.875rem;
  }
  /* line 1439, app/assets/stylesheets/_jurisdictions.scss */
  .jurisdictions-index-table .btn-outline-secondary {
    padding: 0.25rem 0.75rem;
    font-size: 0.8125rem;
    border-color: var(--blue-grey-300);
    color: var(--blue-grey-600);
    font-weight: 400;
  }
  /* line 1446, app/assets/stylesheets/_jurisdictions.scss */
  .jurisdictions-index-table .btn-outline-secondary:hover {
    border-color: var(--blue-grey-400);
    background-color: var(--blue-grey-050);
    color: var(--blue-grey-700);
  }
  /* line 1454, app/assets/stylesheets/_jurisdictions.scss */
  .jurisdictions-index-table thead {
    position: sticky;
    top: 0;
    z-index: 10;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  }
  /* line 1462, app/assets/stylesheets/_jurisdictions.scss */
  .jurisdictions-index-table tbody tr:nth-child(4n+1),
.jurisdictions-index-table tbody tr:nth-child(4n+2) {
    background-color: rgba(241, 245, 249, 0.5);
  }
  /* line 1468, app/assets/stylesheets/_jurisdictions.scss */
  .jurisdictions-index-table tbody tr.nested-row {
    background-color: #FAFAFA !important;
  }
  /* line 1473, app/assets/stylesheets/_jurisdictions.scss */
  .jurisdictions-index-table .expandable-row:hover {
    background-color: var(--blue-grey-050) !important;
  }
}

/* line 1483, app/assets/stylesheets/_jurisdictions.scss */
.bb-map-card {
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  transition: box-shadow 0.15s ease;
  display: flex;
  flex-direction: column;
}

/* line 1492, app/assets/stylesheets/_jurisdictions.scss */
.bb-map-card:hover {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

/* line 1497, app/assets/stylesheets/_jurisdictions.scss */
.bb-map-card-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 1506, app/assets/stylesheets/_jurisdictions.scss */
.bb-map-card-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
}

/* line 1513, app/assets/stylesheets/_jurisdictions.scss */
.bb-map-card-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1519, app/assets/stylesheets/_jurisdictions.scss */
.bb-map-card-body {
  position: relative;
  flex: 1;
  min-height: 350px;
  padding: 0.75rem;
  margin: 0;
}

/* line 1528, app/assets/stylesheets/_jurisdictions.scss */
.bb-map-segmented-control {
  display: inline-flex;
  background-color: #F3F4F6;
  border-radius: 6px;
  padding: 2px;
}

/* line 1535, app/assets/stylesheets/_jurisdictions.scss */
.bb-map-segmented-btn {
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background: none;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}

/* line 1547, app/assets/stylesheets/_jurisdictions.scss */
.bb-map-segmented-btn:hover {
  color: #1F2933;
  text-decoration: none;
}

/* line 1552, app/assets/stylesheets/_jurisdictions.scss */
.bb-map-segmented-btn.active {
  background-color: #FFFFFF;
  color: #1F2933;
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
}

@media (max-width: 767px) {
  /* line 1561, app/assets/stylesheets/_jurisdictions.scss */
  .bb-map-card-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  /* line 1567, app/assets/stylesheets/_jurisdictions.scss */
  .bb-map-card-title {
    font-size: 0.95rem;
  }
}

/* line 1609, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 1617, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 1625, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-header .bb-overlap-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
}

/* line 1632, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-header .bb-overlap-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-top: 0.125rem;
}

/* line 1639, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-population {
  text-align: right;
  flex-shrink: 0;
}

/* line 1643, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-population .bb-overlap-population-label {
  display: block;
  font-size: 0.75rem;
  color: #9CA3AF;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 1652, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-population .bb-overlap-population-value {
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 1661, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-body {
  padding: 0;
}

/* line 1665, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 1673, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-footer .bb-overlap-footer-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 1680, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-category {
  border-bottom: 1px solid #E5E7EB;
}

/* line 1683, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-category:last-child {
  border-bottom: none;
}

/* line 1688, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-category-header {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

/* line 1696, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-category-header .bb-overlap-category-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 1705, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-category-header .bb-overlap-category-count {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 1713, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-category-single .bb-overlap-category-header {
  display: none;
}

/* line 1718, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

/* line 1725, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-item {
  display: flex;
  align-items: center;
  padding: 0.75rem 1.25rem;
  gap: 1rem;
  border-bottom: 1px solid #F3F4F6;
  transition: background-color 0.15s ease;
}

/* line 1733, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-item:last-child {
  border-bottom: none;
}

/* line 1737, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-item:hover {
  background-color: #F9FAFB;
}

/* line 1742, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-item-info {
  flex: 0 0 180px;
  min-width: 0;
}

/* line 1746, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-item-info .bb-overlap-item-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #1F5C96;
  text-decoration: none;
  display: block;
  line-height: 1.3;
  transition: color 0.15s ease;
}

/* line 1755, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-item-info .bb-overlap-item-name:hover {
  color: #123B66;
}

/* line 1760, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-item-info .bb-overlap-item-sub {
  font-size: 0.75rem;
  color: #9CA3AF;
  display: block;
  margin-top: 0.125rem;
}

/* line 1769, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-item-metrics {
  flex: 1;
  display: flex;
  gap: 1.5rem;
  min-width: 0;
}

/* line 1777, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-metric {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 1785, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-metric-bar-wrapper {
  flex: 1;
  min-width: 0;
}

/* line 1790, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-metric-bar {
  height: 8px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 1797, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-metric-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
  min-width: 2px;
}

/* line 1803, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-metric-fill.bb-overlap-fill-primary {
  background-color: #1F5C96;
}

/* line 1807, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-metric-fill.bb-overlap-fill-secondary {
  background-color: #127A7A;
}

/* line 1812, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-metric-values {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.0625rem;
  min-width: 60px;
}

/* line 1820, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-metric-values .bb-overlap-metric-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}

/* line 1828, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-metric-values .bb-overlap-metric-label {
  font-size: 0.65rem;
  color: #9CA3AF;
  white-space: nowrap;
  line-height: 1.2;
}

/* line 1838, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-category-collapsible .bb-overlap-category-header {
  cursor: pointer;
  user-select: none;
  transition: background-color 0.15s ease;
}

/* line 1843, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-category-collapsible .bb-overlap-category-header:hover {
  background-color: #F3F4F6;
}

/* line 1848, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-category-collapsible .bb-overlap-category-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
}

/* line 1854, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-category-collapsible .bb-overlap-category-toggle i {
  font-size: 0.75rem;
  color: #9CA3AF;
  transition: transform 0.15s ease;
}

/* line 1861, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-category-collapsible .bb-overlap-category-summary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 1869, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-category-collapsible .bb-overlap-category-preview {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 1874, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-category-collapsible .bb-overlap-category-preview .bb-overlap-preview-bar {
  width: 40px;
  height: 4px;
  background-color: #E5E7EB;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 1881, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-category-collapsible .bb-overlap-category-preview .bb-overlap-preview-bar .bb-overlap-preview-fill {
  height: 100%;
  border-radius: 9999px;
}

/* line 1885, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-category-collapsible .bb-overlap-category-preview .bb-overlap-preview-bar .bb-overlap-preview-fill.bb-overlap-fill-primary {
  background-color: #1F5C96;
}

/* line 1891, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-category-collapsible .bb-overlap-category-preview .bb-overlap-preview-value {
  font-weight: 600;
  color: #4B5563;
  min-width: 32px;
}

/* line 1900, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-list-collapsed {
  display: none;
}

/* line 1905, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.5rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #FFFFFF;
}

/* line 1914, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-controls .bb-overlap-control-btn {
  font-size: 0.75rem;
  color: #1F5C96;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  transition: all 0.15s ease;
  font-family: inherit;
}

/* line 1925, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-controls .bb-overlap-control-btn:hover {
  background-color: #F4F7FC;
  color: #123B66;
}

/* line 1931, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-controls .bb-overlap-control-separator {
  color: #D1D5DB;
}

/* line 1937, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-total-summary {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1945, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-total-summary .bb-overlap-total-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
}

/* line 1951, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-total-summary .bb-overlap-total-item .bb-overlap-total-count {
  font-weight: 700;
  color: #1F2933;
}

/* line 1956, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-total-summary .bb-overlap-total-item .bb-overlap-total-label {
  color: #9CA3AF;
}

/* line 1963, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistricts-wrapper {
  padding: 0.5rem 1.25rem 0.75rem;
  padding-left: 2rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #F3F4F6;
}

/* line 1970, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistricts-toggle-row {
  display: flex;
  align-items: center;
}

/* line 1975, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistricts-toggle {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: #1F5C96;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  padding-left: 0;
  font-family: inherit;
  transition: color 0.15s ease;
}

/* line 1989, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistricts-toggle:hover {
  color: #123B66;
}

/* line 1993, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistricts-toggle i {
  font-size: 0.625rem;
  transition: transform 0.15s ease;
}

/* line 1999, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistricts {
  margin-top: 0.5rem;
  padding-left: 0.875rem;
}

/* line 2004, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistricts-collapsed {
  display: none;
}

/* line 2008, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistrict-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 0;
  font-size: 0.75rem;
}

/* line 2015, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistrict-item:not(:last-child) {
  border-bottom: 1px solid #F3F4F6;
}

/* line 2020, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistrict-info {
  flex: 0 0 160px;
  min-width: 0;
}

/* line 2025, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistrict-name {
  color: #1F5C96;
  text-decoration: none;
  font-weight: 500;
  display: block;
  transition: color 0.15s ease;
}

/* line 2032, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistrict-name:hover {
  color: #123B66;
}

/* line 2037, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistrict-incumbent {
  color: #9CA3AF;
  display: block;
  margin-top: 0.125rem;
}

/* line 2043, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistrict-metrics {
  flex: 1;
  display: flex;
  gap: 1rem;
  min-width: 0;
}

/* line 2050, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistrict-metric {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

/* line 2058, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistrict-bar {
  flex: 1;
  height: 6px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
  min-width: 40px;
}

/* line 2067, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistrict-fill {
  height: 100%;
  border-radius: 9999px;
  min-width: 2px;
}

/* line 2072, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistrict-fill.bb-overlap-fill-primary {
  background-color: #1F5C96;
}

/* line 2076, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistrict-fill.bb-overlap-fill-secondary {
  background-color: #127A7A;
}

/* line 2081, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistrict-pct {
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* line 2088, app/assets/stylesheets/_jurisdictions.scss */
.bb-overlap-subdistrict-label {
  color: #9CA3AF;
  white-space: nowrap;
}

@media (max-width: 767.98px) {
  /* line 2095, app/assets/stylesheets/_jurisdictions.scss */
  .bb-overlap-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  /* line 2101, app/assets/stylesheets/_jurisdictions.scss */
  .bb-overlap-item-info {
    flex: none;
    width: 100%;
  }
  /* line 2106, app/assets/stylesheets/_jurisdictions.scss */
  .bb-overlap-item-metrics {
    width: 100%;
    flex-direction: column;
    gap: 0.75rem;
  }
  /* line 2112, app/assets/stylesheets/_jurisdictions.scss */
  .bb-overlap-metric {
    width: 100%;
  }
  /* line 2116, app/assets/stylesheets/_jurisdictions.scss */
  .bb-overlap-total-summary {
    flex-wrap: wrap;
  }
  /* line 2121, app/assets/stylesheets/_jurisdictions.scss */
  .bb-overlap-subdistricts-wrapper {
    padding-left: 1.25rem;
  }
  /* line 2125, app/assets/stylesheets/_jurisdictions.scss */
  .bb-overlap-subdistrict-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 2131, app/assets/stylesheets/_jurisdictions.scss */
  .bb-overlap-subdistrict-info {
    flex: none;
    width: 100%;
  }
  /* line 2136, app/assets/stylesheets/_jurisdictions.scss */
  .bb-overlap-subdistrict-metrics {
    width: 100%;
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 2142, app/assets/stylesheets/_jurisdictions.scss */
  .bb-overlap-subdistrict-metric {
    width: 100%;
  }
  /* line 2146, app/assets/stylesheets/_jurisdictions.scss */
  .bb-overlap-subdistrict-bar {
    min-width: 60px;
  }
}

/* line 2168, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-bar {
  display: flex;
  width: 100%;
  height: 12px;
  border-radius: 9999px;
  overflow: hidden;
  background-color: #F3F4F6;
}

/* line 2177, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-bar-xs {
  height: 4px;
}

/* line 2181, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-bar-sm {
  height: 8px;
}

/* line 2185, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-bar-lg {
  height: 24px;
}

/* line 2190, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-segment {
  height: 100%;
  position: relative;
  transition: opacity 150ms ease;
}

/* line 2195, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-segment:hover {
  opacity: 0.85;
}

/* line 2199, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-segment.bb-party-dem {
  background-color: #1F5C96;
}

/* line 2203, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-segment.bb-party-rep {
  background-color: #9B2331;
}

/* line 2207, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-segment.bb-party-npp {
  background-color: #4B5563;
}

/* line 2211, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-segment.bb-party-other {
  background-color: #9CA3AF;
}

/* line 2218, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-bar-labeled .bb-party-segment-label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.75rem;
  font-weight: 600;
  color: #ffffff;
  white-space: nowrap;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* line 2232, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.75rem;
}

/* line 2239, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-legend-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 2245, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-dot {
  width: 10px;
  height: 10px;
  border-radius: 9999px;
  flex-shrink: 0;
}

/* line 2251, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-dot.bb-party-dem {
  background-color: #1F5C96;
}

/* line 2255, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-dot.bb-party-rep {
  background-color: #9B2331;
}

/* line 2259, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-dot.bb-party-npp {
  background-color: #4B5563;
}

/* line 2263, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-dot.bb-party-other {
  background-color: #9CA3AF;
}

/* line 2268, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-legend-label {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 2273, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-legend-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  margin-left: 0.25rem;
}

/* line 2286, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-bar-comparison {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 2292, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-bar-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 2298, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-bar-row-label {
  flex: 0 0 100px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  white-space: nowrap;
  text-decoration: none;
}

/* line 2306, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-bar-row-label:hover {
  color: #1F5C96;
}

/* line 2311, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-bar-row .bb-party-bar {
  flex: 1;
}

/* line 2316, app/assets/stylesheets/_jurisdictions.scss */
.bb-party-bar-md {
  height: 18px;
}

/* line 2326, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 2335, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  gap: 1rem;
}

/* line 2344, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-header-left {
  flex: 1;
  min-width: 0;
}

/* line 2349, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
  line-height: 1.3;
}

/* line 2357, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0.25rem 0 0 0;
}

/* line 2363, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-header-right {
  flex-shrink: 0;
}

/* line 2368, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-type-toggle {
  display: inline-flex;
  background-color: #F3F4F6;
  border-radius: 6px;
  padding: 2px;
}

/* line 2375, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-type-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  font-size: 0.875rem;
  color: #9CA3AF;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 2390, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-type-btn:hover:not(.active) {
  color: #4B5563;
  background-color: #F9FAFB;
}

/* line 2395, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-type-btn.active {
  background-color: #FFFFFF;
  color: #1F5C96;
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 2401, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-type-btn i {
  font-size: 1rem;
}

/* line 2407, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 2419, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-view-toggles {
  display: inline-flex;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  padding: 2px;
}

/* line 2427, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-view-btn {
  padding: 0.375rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
  white-space: nowrap;
}

/* line 2440, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-view-btn:hover:not(.active) {
  color: #323C47;
  background-color: #F9FAFB;
}

/* line 2445, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-view-btn.active {
  background-color: #1F5C96;
  color: #FFFFFF;
}

/* line 2452, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-date-range {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 2458, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-year-select {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 2464, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-year-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin: 0;
}

/* line 2473, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-select {
  display: block;
  padding: 0.375rem 2rem 0.375rem 0.625rem;
  font-size: 0.875rem;
  color: #1F2933;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%234B5563' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 12px;
}

/* line 2489, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-select:hover {
  border-color: #B8BFC7;
}

/* line 2493, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-select:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.15);
}

/* line 2500, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-date-separator {
  color: #B8BFC7;
  font-size: 0.875rem;
}

/* line 2506, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-body {
  padding: 1.25rem;
  position: relative;
  min-height: 350px;
}

/* line 2513, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-stats {
  padding: 1rem 1.25rem;
  border-top: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 2519, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-stats-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  margin-bottom: 0.75rem;
}

/* line 2526, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.75rem;
}

/* line 2532, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-stat-card {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 0.75rem 1rem;
}

/* line 2539, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-stat-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-bottom: 0.25rem;
}

/* line 2545, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-stat-value {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 2551, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-stat-value.positive {
  color: #1F6B4E;
}

/* line 2555, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-stat-value.negative {
  color: #9B2331;
}

/* line 2561, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-footer {
  padding: 1rem 1.25rem;
  border-top: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 2567, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-footer-text {
  font-size: 0.875rem;
  color: #6B7280;
  margin: 0;
  line-height: 1.5;
}

/* line 2573, app/assets/stylesheets/_jurisdictions.scss */
.bb-chart-footer-text strong {
  color: #4B5563;
  font-weight: 600;
}

@media (max-width: 767.98px) {
  /* line 2581, app/assets/stylesheets/_jurisdictions.scss */
  .bb-chart-header {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 2586, app/assets/stylesheets/_jurisdictions.scss */
  .bb-chart-controls {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 2591, app/assets/stylesheets/_jurisdictions.scss */
  .bb-chart-view-toggles {
    width: 100%;
    justify-content: center;
  }
  /* line 2596, app/assets/stylesheets/_jurisdictions.scss */
  .bb-chart-date-range {
    justify-content: center;
  }
  /* line 2600, app/assets/stylesheets/_jurisdictions.scss */
  .bb-chart-body {
    min-height: 280px;
  }
}

/* line 2611, app/assets/stylesheets/_jurisdictions.scss */
.bb-jurisdiction-district-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  background-color: #F3F4F6;
  color: #4B5563;
  border-radius: 9999px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 2624, app/assets/stylesheets/_jurisdictions.scss */
.bb-jurisdiction-district-badge:hover {
  background-color: #E4EEF8;
  color: #123B66;
  text-decoration: none;
}

/* line 2632, app/assets/stylesheets/_jurisdictions.scss */
.bb-jurisdiction-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  justify-content: flex-end;
}

/* line 2640, app/assets/stylesheets/_jurisdictions.scss */
.bb-jurisdiction-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  font-size: 0.6875rem;
  font-weight: 500;
  background-color: #F9FAFB;
  color: #9CA3AF;
  border-radius: 9999px;
  white-space: nowrap;
}

/* line 2654, app/assets/stylesheets/_jurisdictions.scss */
.bb-jurisdiction-table .bb-table-card-header {
  padding: 0.75rem 1.25rem;
}

/* line 2658, app/assets/stylesheets/_jurisdictions.scss */
.bb-jurisdiction-table td {
  vertical-align: middle;
}

/* line 2663, app/assets/stylesheets/_jurisdictions.scss */
.bb-jurisdiction-table td:first-child {
  max-width: 300px;
}

/* line 2666, app/assets/stylesheets/_jurisdictions.scss */
.bb-jurisdiction-table td:first-child a {
  font-weight: 500;
}

/* line 2672, app/assets/stylesheets/_jurisdictions.scss */
.bb-jurisdiction-table .bb-jurisdiction-type-cell {
  width: 100px;
  text-align: center;
}

/* line 2678, app/assets/stylesheets/_jurisdictions.scss */
.bb-jurisdiction-table .bb-jurisdiction-districts-cell {
  text-align: right;
  min-width: 120px;
}

@media (max-width: 767.98px) {
  /* line 2687, app/assets/stylesheets/_jurisdictions.scss */
  .bb-jurisdiction-table td:first-child {
    max-width: none;
  }
  /* line 2691, app/assets/stylesheets/_jurisdictions.scss */
  .bb-jurisdiction-table .bb-jurisdiction-type-cell {
    width: auto;
  }
  /* line 2695, app/assets/stylesheets/_jurisdictions.scss */
  .bb-jurisdiction-table .bb-jurisdiction-badges {
    justify-content: flex-start;
    margin-top: 0.25rem;
  }
}

/* line 2708, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidates-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
  width: 100%;
}

/* line 2717, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidates-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 2726, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidates-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
}

/* line 2733, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidates-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-top: 0.125rem;
}

/* line 2739, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidates-count {
  font-size: 0.875rem;
  color: #9CA3AF;
  white-space: nowrap;
}

/* line 2745, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidates-body {
  padding: 0;
}

/* line 2750, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidates-controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #FFFFFF;
}

/* line 2759, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidates-control-btn {
  background: none;
  border: none;
  padding: 0;
  font-size: 0.75rem;
  color: #1F5C96;
  cursor: pointer;
  font-family: inherit;
}

/* line 2768, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidates-control-btn:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 2774, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidates-control-separator {
  color: #D1D5DB;
  font-size: 0.75rem;
}

/* line 2779, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidates-notice {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.625rem 1.25rem;
  background-color: #F8F5ED;
  font-size: 0.75rem;
  color: #4B5563;
  line-height: 1.4;
  border-bottom: 1px solid #E5E7EB;
}

/* line 2790, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidates-notice i {
  color: #8A6A06;
  font-size: 0.875rem;
  flex-shrink: 0;
  margin-top: 0.125rem;
}

/* line 2799, app/assets/stylesheets/_jurisdictions.scss */
.bb-office {
  border-bottom: 1px solid #E5E7EB;
}

/* line 2802, app/assets/stylesheets/_jurisdictions.scss */
.bb-office:last-child {
  border-bottom: none;
}

/* line 2807, app/assets/stylesheets/_jurisdictions.scss */
.bb-office-header {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

/* line 2816, app/assets/stylesheets/_jurisdictions.scss */
.bb-office-collapsible .bb-office-header {
  cursor: pointer;
  user-select: none;
}

/* line 2820, app/assets/stylesheets/_jurisdictions.scss */
.bb-office-collapsible .bb-office-header:hover {
  background-color: #F3F4F6;
}

/* line 2825, app/assets/stylesheets/_jurisdictions.scss */
.bb-office-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 2830, app/assets/stylesheets/_jurisdictions.scss */
.bb-office-toggle i {
  font-size: 0.875rem;
  color: #9CA3AF;
  transition: transform 0.2s ease;
}

/* line 2837, app/assets/stylesheets/_jurisdictions.scss */
.bb-office-candidate-count {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-weight: 500;
}

/* line 2843, app/assets/stylesheets/_jurisdictions.scss */
.bb-office-header-right {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 2849, app/assets/stylesheets/_jurisdictions.scss */
.bb-office-district-link {
  font-size: 0.75rem;
  color: #1F5C96;
  text-decoration: none;
  white-space: nowrap;
}

/* line 2855, app/assets/stylesheets/_jurisdictions.scss */
.bb-office-district-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 2861, app/assets/stylesheets/_jurisdictions.scss */
.bb-office-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 2867, app/assets/stylesheets/_jurisdictions.scss */
.bb-office-title a {
  color: inherit;
  text-decoration: none;
}

/* line 2871, app/assets/stylesheets/_jurisdictions.scss */
.bb-office-title a:hover {
  color: #1F5C96;
}

/* line 2878, app/assets/stylesheets/_jurisdictions.scss */
.bb-office-candidates-collapsed {
  display: none;
}

/* line 2882, app/assets/stylesheets/_jurisdictions.scss */
.bb-office-candidates {
  padding: 0;
}

/* line 2887, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 2891, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate:last-child {
  border-bottom: none;
}

/* line 2896, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 2903, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #1F2933;
  text-decoration: none;
}

/* line 2910, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-designation {
  font-size: 0.75rem;
  color: #9CA3AF;
  display: block;
  margin-top: 0.125rem;
}

/* line 2917, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-status {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
}

/* line 2924, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-incumbent {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 2929, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-website {
  color: #B8BFC7;
  font-size: 0.875rem;
  text-decoration: none;
  margin-left: 0.25rem;
}

/* line 2935, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-website:hover {
  color: #1F5C96;
}

/* line 2941, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-finance {
  display: grid;
  grid-template-columns: repeat(4, 5.5rem) 7rem 1fr;
  gap: 0.25rem 1rem;
  margin-bottom: 0.5rem;
}

/* line 2948, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-finance-empty {
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 2954, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-finance-item {
  display: flex;
  flex-direction: column;
  gap: 0.0625rem;
}

/* line 2960, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-finance-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 2967, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-finance-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 2975, app/assets/stylesheets/_jurisdictions.scss */
.bb-finance-raised {
  color: #127A7A;
}

/* line 2979, app/assets/stylesheets/_jurisdictions.scss */
.bb-finance-spent {
  color: #C4681A;
}

/* line 2983, app/assets/stylesheets/_jurisdictions.scss */
.bb-finance-cash {
  color: #1F5C96;
}

/* line 2987, app/assets/stylesheets/_jurisdictions.scss */
.bb-finance-debt {
  color: #9B2331;
}

/* line 2991, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-finance-date {
  font-size: 0.75rem;
  color: #B8BFC7;
  align-self: flex-end;
  margin-left: auto;
  font-style: italic;
}

/* line 3000, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-sources {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 3007, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-sources-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 3012, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-source-link {
  font-size: 0.75rem;
  color: #1F5C96;
  text-decoration: none;
}

/* line 3017, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-source-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 3024, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.5rem;
}

/* line 3031, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-link {
  font-size: 0.75rem;
  color: #1F5C96;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 3039, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-link:hover {
  color: #123B66;
}

/* line 3043, app/assets/stylesheets/_jurisdictions.scss */
.bb-candidate-link i {
  font-size: 0.875rem;
}

@media (max-width: 767.98px) {
  /* line 3050, app/assets/stylesheets/_jurisdictions.scss */
  .bb-candidates-header {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 3055, app/assets/stylesheets/_jurisdictions.scss */
  .bb-candidates-notice {
    padding: 0.5rem 1rem;
    gap: 0.375rem;
    font-size: 11px;
    line-height: 1.35;
  }
  /* line 3061, app/assets/stylesheets/_jurisdictions.scss */
  .bb-candidates-notice i {
    font-size: 0.75rem;
  }
  /* line 3066, app/assets/stylesheets/_jurisdictions.scss */
  .bb-candidate-finance {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 3072, app/assets/stylesheets/_jurisdictions.scss */
  .bb-candidate-finance-item {
    flex-direction: row;
    justify-content: space-between;
    gap: 1rem;
  }
}

/* line 3084, app/assets/stylesheets/_jurisdictions.scss */
#generateReportModal .bb-modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  background: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 3094, app/assets/stylesheets/_jurisdictions.scss */
#generateReportModal .bb-report-options {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 3100, app/assets/stylesheets/_jurisdictions.scss */
#generateReportModal .bb-report-option {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 3111, app/assets/stylesheets/_jurisdictions.scss */
#generateReportModal .bb-report-option:hover {
  border-color: #4C7FB5;
  background-color: #F4F7FC;
}

/* line 3116, app/assets/stylesheets/_jurisdictions.scss */
#generateReportModal .bb-report-option:has(.bb-report-checkbox:checked) {
  border-color: #3A7AB8;
  background-color: #F4F7FC;
}

/* line 3122, app/assets/stylesheets/_jurisdictions.scss */
#generateReportModal .bb-report-option-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* line 3126, app/assets/stylesheets/_jurisdictions.scss */
#generateReportModal .bb-report-option-disabled:hover {
  border-color: #E5E7EB;
  background-color: #FFFFFF;
}

/* line 3132, app/assets/stylesheets/_jurisdictions.scss */
#generateReportModal .bb-report-checkbox {
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.125rem;
  flex-shrink: 0;
  accent-color: #1F5C96;
  cursor: pointer;
}

/* line 3140, app/assets/stylesheets/_jurisdictions.scss */
#generateReportModal .bb-report-checkbox:disabled {
  cursor: not-allowed;
}

/* line 3145, app/assets/stylesheets/_jurisdictions.scss */
#generateReportModal .bb-report-option-content {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}

/* line 3152, app/assets/stylesheets/_jurisdictions.scss */
#generateReportModal .bb-report-option-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  line-height: 1.3;
}

/* line 3159, app/assets/stylesheets/_jurisdictions.scss */
#generateReportModal .bb-report-option-desc {
  font-size: 0.75rem;
  color: #9CA3AF;
  line-height: 1.4;
}

/* line 24, app/assets/stylesheets/_ideology.scss */
.bb-ideology-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 32, app/assets/stylesheets/_ideology.scss */
.bb-ideology-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 41, app/assets/stylesheets/_ideology.scss */
.bb-ideology-header-left {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 47, app/assets/stylesheets/_ideology.scss */
.bb-ideology-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
}

/* line 54, app/assets/stylesheets/_ideology.scss */
.bb-ideology-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 59, app/assets/stylesheets/_ideology.scss */
.bb-ideology-body {
  padding: 1rem 1.25rem;
}

/* line 66, app/assets/stylesheets/_ideology.scss */
.bb-ideology-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 75, app/assets/stylesheets/_ideology.scss */
.bb-ideology-legend {
  display: flex;
  gap: 1.5rem;
  font-size: 0.75rem;
  color: #4B5563;
}

/* line 82, app/assets/stylesheets/_ideology.scss */
.bb-ideology-legend-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 88, app/assets/stylesheets/_ideology.scss */
.bb-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* line 93, app/assets/stylesheets/_ideology.scss */
.bb-legend-dot.liberal, .bb-legend-dot.progressive {
  background-color: #1D5E96;
}

/* line 98, app/assets/stylesheets/_ideology.scss */
.bb-legend-dot.conservative {
  background-color: #9B2331;
}

/* line 102, app/assets/stylesheets/_ideology.scss */
.bb-legend-dot.centrist, .bb-legend-dot.moderate {
  background-color: #9CA3AF;
}

/* line 111, app/assets/stylesheets/_ideology.scss */
.bb-ideology-row {
  padding: 1rem 0;
  border-bottom: 1px solid #F3F4F6;
}

/* line 115, app/assets/stylesheets/_ideology.scss */
.bb-ideology-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* line 120, app/assets/stylesheets/_ideology.scss */
.bb-ideology-row:first-child {
  padding-top: 0;
}

/* line 128, app/assets/stylesheets/_ideology.scss */
.bb-ideology-category {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

/* line 135, app/assets/stylesheets/_ideology.scss */
.bb-ideology-category-left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 141, app/assets/stylesheets/_ideology.scss */
.bb-ideology-category-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #1F2933;
}

/* line 147, app/assets/stylesheets/_ideology.scss */
.bb-ideology-category-right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 153, app/assets/stylesheets/_ideology.scss */
.bb-ideology-value-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
}

/* line 159, app/assets/stylesheets/_ideology.scss */
.bb-ideology-details-btn {
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F5C96;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-decoration: none;
}

/* line 169, app/assets/stylesheets/_ideology.scss */
.bb-ideology-details-btn:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 178, app/assets/stylesheets/_ideology.scss */
.bb-ideology-methodology-btn {
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  text-decoration: none;
  padding: 0.25rem 0.5rem;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  background: transparent;
}

/* line 188, app/assets/stylesheets/_ideology.scss */
.bb-ideology-methodology-btn:hover {
  color: #1F2933;
  border-color: #B8BFC7;
}

/* line 197, app/assets/stylesheets/_ideology.scss */
.bb-ideology-spectrum {
  position: relative;
  height: 8px;
  margin: 0.5rem 0;
}

/* line 204, app/assets/stylesheets/_ideology.scss */
.bb-ideology-track {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 8px;
  transform: translateY(-50%);
  border-radius: 9999px;
  background: linear-gradient(to right, #1D5E96 0%, #549ede 25%, #D1D5DB 50%, #d74d5d 75%, #9B2331 100%);
  opacity: 0.25;
}

/* line 224, app/assets/stylesheets/_ideology.scss */
.bb-ideology-fill {
  position: absolute;
  top: 50%;
  height: 8px;
  transform: translateY(-50%);
  border-radius: 9999px;
}

/* line 232, app/assets/stylesheets/_ideology.scss */
.bb-ideology-fill.bb-ideology-fill-liberal, .bb-ideology-fill.bb-ideology-fill-progressive {
  right: 50%;
  background: linear-gradient(to left, #B8BFC7 0%, #1D5E96 100%);
}

/* line 243, app/assets/stylesheets/_ideology.scss */
.bb-ideology-fill.bb-ideology-fill-conservative {
  left: 50%;
  background: linear-gradient(to right, #B8BFC7 0%, #9B2331 100%);
}

/* line 254, app/assets/stylesheets/_ideology.scss */
.bb-ideology-marker {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #FFFFFF;
  border: 3px solid;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  z-index: 2;
  transition: left 0.3s ease;
}

/* line 267, app/assets/stylesheets/_ideology.scss */
.bb-ideology-marker.liberal, .bb-ideology-marker.progressive {
  border-color: #1D5E96;
}

/* line 272, app/assets/stylesheets/_ideology.scss */
.bb-ideology-marker.conservative {
  border-color: #9B2331;
}

/* line 276, app/assets/stylesheets/_ideology.scss */
.bb-ideology-marker.centrist, .bb-ideology-marker.moderate {
  border-color: #9CA3AF;
}

/* line 283, app/assets/stylesheets/_ideology.scss */
.bb-ideology-center-line {
  position: absolute;
  top: -2px;
  left: 50%;
  bottom: -2px;
  width: 2px;
  background-color: #D1D5DB;
  transform: translateX(-50%);
  z-index: 1;
}

/* line 295, app/assets/stylesheets/_ideology.scss */
.bb-ideology-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 0.375rem;
}

/* line 301, app/assets/stylesheets/_ideology.scss */
.bb-ideology-label {
  font-size: 0.65rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 307, app/assets/stylesheets/_ideology.scss */
.bb-ideology-label.liberal, .bb-ideology-label.progressive {
  color: #1D5E96;
}

/* line 312, app/assets/stylesheets/_ideology.scss */
.bb-ideology-label.conservative {
  color: #9B2331;
}

/* line 320, app/assets/stylesheets/_ideology.scss */
.bb-ideology-score {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 9999px;
}

/* line 328, app/assets/stylesheets/_ideology.scss */
.bb-ideology-score.liberal, .bb-ideology-score.progressive {
  background-color: #EDF3F8;
  color: #1D5E96;
}

/* line 334, app/assets/stylesheets/_ideology.scss */
.bb-ideology-score.conservative {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 339, app/assets/stylesheets/_ideology.scss */
.bb-ideology-score.centrist, .bb-ideology-score.moderate {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 350, app/assets/stylesheets/_ideology.scss */
.bb-ideology-card-compact .bb-ideology-header {
  padding: 0.75rem 1rem;
}

/* line 354, app/assets/stylesheets/_ideology.scss */
.bb-ideology-card-compact .bb-ideology-body {
  padding: 0.75rem 1rem;
}

/* line 358, app/assets/stylesheets/_ideology.scss */
.bb-ideology-card-compact .bb-ideology-row {
  padding: 0.5rem 0;
}

/* line 362, app/assets/stylesheets/_ideology.scss */
.bb-ideology-card-compact .bb-ideology-spectrum {
  height: 6px;
}

/* line 366, app/assets/stylesheets/_ideology.scss */
.bb-ideology-card-compact .bb-ideology-track,
.bb-ideology-card-compact .bb-ideology-fill {
  height: 6px;
}

/* line 371, app/assets/stylesheets/_ideology.scss */
.bb-ideology-card-compact .bb-ideology-marker {
  width: 14px;
  height: 14px;
  border-width: 2px;
}

/* line 381, app/assets/stylesheets/_ideology.scss */
.bb-ideology-modal {
  border: none;
  border-radius: 12px;
  overflow: hidden;
}

/* line 386, app/assets/stylesheets/_ideology.scss */
.bb-ideology-modal .bb-table-card {
  border: none;
  border-radius: 0;
  box-shadow: none;
}

/* line 393, app/assets/stylesheets/_ideology.scss */
.bb-ideology-modal .bb-table-card-header .btn-close {
  margin: 0;
  padding: 0;
}

@media (max-width: 767.98px) {
  /* line 404, app/assets/stylesheets/_ideology.scss */
  .bb-ideology-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 410, app/assets/stylesheets/_ideology.scss */
  .bb-ideology-footer {
    flex-direction: column;
    gap: 0.75rem;
    align-items: flex-start;
  }
  /* line 416, app/assets/stylesheets/_ideology.scss */
  .bb-ideology-legend {
    flex-wrap: wrap;
    gap: 1rem;
  }
}

/* line 17, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-results-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 28, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-results-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 37, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-results-id {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 43, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-number {
  font-size: 0.875rem;
  font-weight: 700;
  color: #123B66;
  background-color: #E4EEF8;
  padding: 0.25rem 0.625rem;
  border-radius: 6px;
}

/* line 52, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-election {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 57, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-outcome {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
}

/* line 64, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-passed {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 69, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-failed {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 77, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-results-title {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 82, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-name {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 89, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0.25rem 0 0 0;
  line-height: 1.4;
}

/* line 99, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-results-body {
  padding: 1.25rem;
}

/* line 106, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-local-results {
  margin-bottom: 1.25rem;
}

/* line 110, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-local-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

/* line 117, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-local-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 124, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-local-votes {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 132, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-vote-bars {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 138, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-vote-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 144, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-vote-label {
  flex: 0 0 100px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 151, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-vote-choice {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  width: 28px;
}

/* line 158, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-vote-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 165, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-vote-bar-wrapper {
  flex: 1;
}

/* line 169, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-vote-bar {
  height: 20px;
  background-color: #F3F4F6;
  border-radius: 4px;
  overflow: hidden;
}

/* line 176, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-vote-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.3s ease;
}

/* line 182, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-fill-yes {
  background-color: #127A7A;
}

/* line 186, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-fill-no {
  background-color: #B8BFC7;
}

/* line 190, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-vote-count {
  flex: 0 0 70px;
  font-size: 0.75rem;
  color: #9CA3AF;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* line 201, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-comparisons {
  padding: 1rem;
  background-color: #F9FAFB;
  border-radius: 6px;
  margin-bottom: 1rem;
}

/* line 208, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-comparisons-title {
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 0.75rem 0;
}

/* line 217, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-comparison-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 223, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-comparison-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 229, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-comparison-geo {
  flex: 1;
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 235, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-comparison-yes {
  font-size: 0.875rem;
  color: #1F2933;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  width: 80px;
  text-align: right;
}

/* line 244, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-comparison-diff {
  font-size: 0.875rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  width: 50px;
  text-align: right;
}

/* line 252, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-diff-positive {
  color: #1F6B4E;
}

/* line 256, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-diff-negative {
  color: #9B2331;
}

/* line 260, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-comparison-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 268, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-context {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.75rem;
  background-color: #EDF3F8;
  border-radius: 6px;
  border-left: 3px solid #1F5C96;
}

/* line 277, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-context i {
  color: #1F5C96;
  font-size: 0.875rem;
  margin-top: 0.125rem;
}

/* line 284, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-context-text {
  font-size: 0.875rem;
  color: #4B5563;
  margin: 0;
  line-height: 1.5;
}

/* line 290, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-context-text strong {
  color: #1F2933;
}

/* line 302, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 312, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-meta {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  flex: 1;
  min-width: 0;
}

/* line 320, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-title {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}

/* line 327, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 333, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-desc {
  font-size: 0.75rem;
  color: #9CA3AF;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 343, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-status {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
  flex-shrink: 0;
}

/* line 351, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-election {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 356, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-body {
  display: flex;
  align-items: stretch;
  padding: 0.75rem 1rem;
  gap: 1.5rem;
}

/* line 363, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-local {
  flex: 0 0 280px;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 370, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-local-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 376, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-jurisdiction {
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 382, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-votes {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 387, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-bars {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 393, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-bar-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 399, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-bar-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  width: 24px;
}

/* line 406, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-bar-track {
  flex: 1;
  height: 12px;
  background-color: #F3F4F6;
  border-radius: 2px;
  overflow: hidden;
}

/* line 414, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-bar-fill {
  height: 100%;
  border-radius: 2px;
}

/* line 419, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-bar-pct {
  font-size: 0.75rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
  width: 40px;
  text-align: right;
}

/* line 428, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-comparisons {
  flex: 0 0 180px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.25rem;
  padding-left: 1rem;
  border-left: 1px solid #E5E7EB;
}

/* line 438, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-comparison {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 444, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-geo {
  font-size: 0.75rem;
  color: #9CA3AF;
  flex: 1;
}

/* line 450, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-geo-yes {
  font-size: 0.75rem;
  color: #4B5563;
  font-variant-numeric: tabular-nums;
  width: 40px;
  text-align: right;
}

/* line 458, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-context {
  flex: 0 0 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 1rem;
  border-left: 1px solid #E5E7EB;
}

/* line 467, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-context-text {
  font-size: 0.75rem;
  color: #4B5563;
  text-align: center;
  line-height: 1.4;
}

/* line 473, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-condensed-context-text strong {
  color: #1F2933;
  font-weight: 500;
}

/* line 482, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-results-card-compact {
  padding: 1rem;
}

/* line 486, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-compact-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 493, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-compact-id {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 499, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-compact-name {
  font-size: 0.875rem;
  color: #4B5563;
  flex: 1;
}

/* line 505, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-compact-body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 511, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-compact-results {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 517, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-compact-local {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 523, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-compact-comparison {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 529, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-compact-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 534, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-compact-yes {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 541, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-compact-bar {
  height: 6px;
  background-color: #F3F4F6;
  border-radius: 3px;
  overflow: hidden;
}

/* line 548, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-compact-bar-fill {
  height: 100%;
  border-radius: 3px;
}

/* line 556, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-list-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  overflow: hidden;
}

/* line 563, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-list-header {
  padding: 1rem 1.25rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 569, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-list-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 576, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-list-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-top: 0.125rem;
}

/* line 582, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-list-body {
  padding: 0;
}

/* line 586, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-list-item {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 590, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-list-item:last-child {
  border-bottom: none;
}

/* line 595, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-list-item-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

/* line 602, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-list-item-id {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 608, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-list-item-name {
  font-size: 0.875rem;
  color: #4B5563;
  flex: 1;
}

/* line 614, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-list-item-results {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 620, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-list-item-local {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 627, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-list-item-yes {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
  width: 70px;
}

/* line 635, app/assets/stylesheets/_proposition_results.scss */
.bb-prop-list-item-comparison {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

@media (max-width: 767.98px) {
  /* line 645, app/assets/stylesheets/_proposition_results.scss */
  .bb-prop-condensed-body {
    flex-direction: column;
    gap: 1rem;
  }
  /* line 650, app/assets/stylesheets/_proposition_results.scss */
  .bb-prop-condensed-local {
    flex: none;
  }
  /* line 654, app/assets/stylesheets/_proposition_results.scss */
  .bb-prop-condensed-comparisons {
    flex: none;
    padding-left: 0;
    padding-top: 1rem;
    border-left: none;
    border-top: 1px solid #E5E7EB;
  }
  /* line 662, app/assets/stylesheets/_proposition_results.scss */
  .bb-prop-condensed-context {
    flex: none;
    padding-left: 0;
    padding-top: 1rem;
    border-left: none;
    border-top: 1px solid #E5E7EB;
    justify-content: flex-start;
  }
  /* line 671, app/assets/stylesheets/_proposition_results.scss */
  .bb-prop-vote-label {
    flex: 0 0 80px;
  }
  /* line 675, app/assets/stylesheets/_proposition_results.scss */
  .bb-prop-vote-count {
    display: none;
  }
}

/* line 3, app/assets/stylesheets/_palette.scss */
:root {
  --blue-grey-050: #F0F4F8;
  --blue-grey-100: #D9E2EC;
  --blue-grey-200: #BCCCDC;
  --blue-grey-300: #9FB3C8;
  --blue-grey-400: #829AB1;
  --blue-grey-500: #627D98;
  --blue-grey-600: #486581;
  --blue-grey-700: #334E68;
  --blue-grey-800: #243B53;
  --blue-grey-900: #102A43;
  --light-blue-vivid-050: #E3F8FF;
  --light-blue-vivid-100: #B3ECFF;
  --light-blue-vivid-200: #81DEFD;
  --light-blue-vivid-300: #5ED0FA;
  --light-blue-vivid-400: #40C3F7;
  --light-blue-vivid-500: #2BB0ED;
  --light-blue-vivid-600: #1992D4;
  --light-blue-vivid-700: #127FBF;
  --light-blue-vivid-800: #0B69A3;
  --light-blue-vivid-900: #035388;
  --cyan-050: #E0FCFF;
  --cyan-100: #BEF8FD;
  --cyan-200: #87EAF2;
  --cyan-300: #54D1DB;
  --cyan-400: #38BEC9;
  --cyan-500: #2CB1BC;
  --cyan-600: #14919B;
  --cyan-700: #0E7C86;
  --cyan-800: #0A6C74;
  --cyan-900: #044E54;
  --pink-vivid-050: #FFE3EC;
  --pink-vivid-100: #FFB8D2;
  --pink-vivid-200: #FF8CBA;
  --pink-vivid-300: #F364A2;
  --pink-vivid-400: #E8368F;
  --pink-vivid-500: #DA127D;
  --pink-vivid-600: #BC0A6F;
  --pink-vivid-700: #A30664;
  --pink-vivid-800: #870557;
  --pink-vivid-900: #620042;
  --red-vivid-050: #FFE3E3;
  --red-vivid-100: #FFBDBD;
  --red-vivid-200: #FF9B9B;
  --red-vivid-300: #F86A6A;
  --red-vivid-400: #EF4E4E;
  --red-vivid-500: #E12D39;
  --red-vivid-600: #CF1124;
  --red-vivid-700: #AB091E;
  --red-vivid-800: #8A041A;
  --red-vivid-900: #610316;
  --yellow-vivid-050: #FFFBEA;
  --yellow-vivid-100: #FFF3C4;
  --yellow-vivid-200: #FCE588;
  --yellow-vivid-300: #FADB5F;
  --yellow-vivid-400: #F7C948;
  --yellow-vivid-500: #F0B429;
  --yellow-vivid-600: #DE911D;
  --yellow-vivid-700: #CB6E17;
  --yellow-vivid-800: #B44D12;
  --yellow-vivid-900: #8D2B0B;
  --teal-050: #EFFCF6;
  --teal-100: #C6F7E2;
  --teal-200: #8EEDC7;
  --teal-300: #65D6AD;
  --teal-400: #3EBD93;
  --teal-500: #27AB83;
  --teal-600: #199473;
  --teal-700: #147D64;
  --teal-800: #0C6B58;
  --teal-900: #014D40;
}

/* line 84, app/assets/stylesheets/_palette.scss */
:root {
  --primary-color: var(--blue-grey-600);
  --secondary-color: var(--light-blue-vivid-500);
  --danger-color: var(--red-vivid-500);
  --warning-color: var(--yellow-vivid-500);
  --success-color: var(--teal-500);
  --info-color: var(--cyan-500);
  --text-primary: var(--blue-grey-900);
  --text-secondary: var(--blue-grey-600);
  --text-muted: var(--blue-grey-400);
  --bg-primary: var(--blue-grey-050);
  --bg-secondary: var(--blue-grey-100);
  /* Map custom palette to Bootstrap CSS variables so that
       standard Bootstrap utility classes (.btn-primary, .text-danger, etc.)
       automatically use the Ballot Book colour scheme. */
  /* Primary & Accent colours */
  --bs-primary: var(--light-blue-vivid-600);
  --bs-primary-rgb: 25, 146, 212;
  --bs-secondary: var(--blue-grey-600);
  --bs-secondary-rgb: 72, 101, 129;
  /* Success / Info / Warning / Danger */
  --bs-success: var(--teal-600);
  --bs-success-rgb: 25, 148, 115;
  --bs-info: var(--cyan-500);
  --bs-info-rgb: 44, 177, 188;
  --bs-warning: var(--yellow-vivid-500);
  --bs-warning-rgb: 240, 180, 41;
  --bs-danger: var(--red-vivid-600);
  --bs-danger-rgb: 207, 17, 36;
  /* Light / Dark backgrounds */
  --bs-light: var(--blue-grey-050);
  --bs-light-rgb: 240, 244, 248;
  --bs-dark: var(--blue-grey-800);
  --bs-dark-rgb: 36, 59, 83;
}

/* line 10, app/assets/stylesheets/_bootstrap_overrides.scss */
a {
  color: #1F5C96;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 15, app/assets/stylesheets/_bootstrap_overrides.scss */
a:hover {
  color: #123B66;
}

/* line 21, app/assets/stylesheets/_bootstrap_overrides.scss */
.blog-content a,
.prose a,
p a {
  text-decoration: underline;
  text-decoration-color: rgba(31, 92, 150, 0.3);
  text-underline-offset: 2px;
}

/* line 28, app/assets/stylesheets/_bootstrap_overrides.scss */
.blog-content a:hover,
.prose a:hover,
p a:hover {
  text-decoration-color: #123B66;
}

/* Override Bootstrap button colours to align with custom palette */
/* line 38, app/assets/stylesheets/_bootstrap_overrides.scss */
.btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--light-blue-vivid-700);
  --bs-btn-hover-border-color: var(--light-blue-vivid-700);
  --bs-btn-active-bg: var(--light-blue-vivid-800);
  --bs-btn-active-border-color: var(--light-blue-vivid-800);
  --bs-btn-focus-shadow-rgb: 0, 107, 163;
  /* approximate darker primary */
}

/* line 48, app/assets/stylesheets/_bootstrap_overrides.scss */
.btn-outline-primary {
  --bs-btn-color: var(--blue-grey-700);
  --bs-btn-border-color: var(--blue-grey-300);
  --bs-btn-hover-color: white;
  --bs-btn-hover-bg: var(--blue-grey-700);
  --bs-btn-hover-border-color: var(--blue-grey-700);
  --bs-btn-focus-shadow-rgb: 108, 117, 125;
  --bs-btn-active-color: white;
  --bs-btn-active-bg: var(--blue-grey-800);
  --bs-btn-active-border-color: var(--blue-grey-800);
}

/* line 9, app/assets/stylesheets/components/_cards.scss */
.bb-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  padding: 1.25rem;
  transition: box-shadow 0.15s ease;
}

/* line 17, app/assets/stylesheets/components/_cards.scss */
.bb-card:hover {
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 23, app/assets/stylesheets/components/_cards.scss */
.bb-card-compact {
  padding: 0.875rem;
}

/* line 28, app/assets/stylesheets/components/_cards.scss */
.bb-card-tinted-subtle {
  background: #F4F7FC;
  border-color: #E4EEF8;
}

/* line 34, app/assets/stylesheets/components/_cards.scss */
.bb-card-disabled {
  opacity: 0.6;
  cursor: pointer;
  position: relative;
}

/* line 40, app/assets/stylesheets/components/_cards.scss */
.bb-card-disabled select, .bb-card-disabled input, .bb-card-disabled button, .bb-card-disabled a {
  pointer-events: none;
}

/* line 46, app/assets/stylesheets/components/_cards.scss */
.bb-card-header {
  font-size: 1.1rem;
  font-weight: 500;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  color: #1F2933;
  border-bottom: 1px solid #F3F4F6;
}

/* line 56, app/assets/stylesheets/components/_cards.scss */
.bb-card-title-small {
  font-size: 0.95rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 63, app/assets/stylesheets/components/_cards.scss */
.bb-status-bar {
  background: #ffffff;
  border-radius: 4px;
  box-shadow: none;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 1rem;
  padding-right: 1rem;
  height: 40px;
  min-height: 40px;
  display: flex;
  align-items: center;
  border-left: 4px solid var(--light-blue-vivid-500);
}

/* line 79, app/assets/stylesheets/components/_cards.scss */
.bb-card-empty-state {
  padding-top: 24px;
  padding-bottom: 28px;
  padding-left: 0.875rem;
  padding-right: 0.875rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* line 96, app/assets/stylesheets/components/_cards.scss */
.bb-card-footer {
  padding: 0.875rem 1.25rem;
  margin: 1rem -1.25rem -1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #F3F4F6;
  border-radius: 0 0 12px 12px;
}

/* line 105, app/assets/stylesheets/components/_cards.scss */
.metric-card {
  background: #fff;
  border-radius: 20px;
  padding: 1.5rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: box-shadow 0.15s ease;
}

/* line 115, app/assets/stylesheets/components/_cards.scss */
.metric-card:hover {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

/* line 119, app/assets/stylesheets/components/_cards.scss */
.metric-card .metric-label {
  font-size: 0.9rem;
  color: #6b6f76;
  font-weight: 500;
  margin-bottom: 0.5rem;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 130, app/assets/stylesheets/components/_cards.scss */
.metric-card .metric-value {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 140, app/assets/stylesheets/components/_cards.scss */
.metric-card .metric-sub {
  font-size: 0.85rem;
  color: #7d8288;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (min-width: 1400px) {
  /* line 156, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-label {
    font-size: 0.9rem;
  }
  /* line 159, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-value {
    font-size: 2rem;
  }
  /* line 162, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-sub {
    font-size: 0.85rem;
  }
}

@media (min-width: 1300px) and (max-width: 1399.98px) {
  /* line 170, app/assets/stylesheets/components/_cards.scss */
  .metric-card {
    padding: 1.25rem;
  }
  /* line 173, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-label {
    font-size: 0.75rem;
  }
  /* line 176, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-value {
    font-size: 1.5rem;
  }
  /* line 179, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-sub {
    font-size: 0.75rem;
  }
}

@media (min-width: 1200px) and (max-width: 1299.98px) {
  /* line 188, app/assets/stylesheets/components/_cards.scss */
  .metric-card {
    padding: 1.1rem;
  }
  /* line 191, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-label {
    font-size: 0.7rem;
  }
  /* line 194, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-value {
    font-size: 1.35rem;
  }
  /* line 197, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-sub {
    font-size: 0.7rem;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  /* line 206, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-label {
    font-size: 0.82rem;
  }
  /* line 209, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-value {
    font-size: 1.8rem;
  }
  /* line 212, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-sub {
    font-size: 0.8rem;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  /* line 221, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-label {
    font-size: 0.8rem;
  }
  /* line 224, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-value {
    font-size: 1.7rem;
  }
  /* line 227, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-sub {
    font-size: 0.78rem;
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  /* line 235, app/assets/stylesheets/components/_cards.scss */
  .metric-card {
    padding: 1.25rem;
  }
  /* line 238, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-label {
    font-size: 0.78rem;
  }
  /* line 241, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-value {
    font-size: 1.6rem;
  }
  /* line 244, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-sub {
    font-size: 0.78rem;
  }
}

@media (max-width: 575.98px) {
  /* line 252, app/assets/stylesheets/components/_cards.scss */
  .metric-card {
    padding: 1.25rem;
  }
  /* line 255, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-label {
    font-size: 0.75rem;
  }
  /* line 258, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-value {
    font-size: 1.5rem;
  }
  /* line 261, app/assets/stylesheets/components/_cards.scss */
  .metric-card .metric-sub {
    font-size: 0.75rem;
  }
}

/* line 268, app/assets/stylesheets/components/_cards.scss */
.ideology-mini-bar {
  height: 6px;
  width: 100%;
  background: #e5e5e5;
  border-radius: 4px;
  position: relative;
  margin-top: 0.5rem;
}

/* line 276, app/assets/stylesheets/components/_cards.scss */
.ideology-mini-bar::after {
  content: "";
  position: absolute;
  height: 100%;
  background: var(--light-blue-vivid-600);
  border-radius: 4px;
}

/* line 285, app/assets/stylesheets/components/_cards.scss */
.ideology-mini-bar.very-progressive::after {
  left: 0;
  width: 20%;
}

/* line 290, app/assets/stylesheets/components/_cards.scss */
.ideology-mini-bar.progressive::after {
  left: 20%;
  width: 20%;
}

/* line 295, app/assets/stylesheets/components/_cards.scss */
.ideology-mini-bar.moderate::after {
  left: 40%;
  width: 20%;
}

/* line 300, app/assets/stylesheets/components/_cards.scss */
.ideology-mini-bar.conservative::after {
  left: 60%;
  width: 20%;
}

/* line 305, app/assets/stylesheets/components/_cards.scss */
.ideology-mini-bar.very-conservative::after {
  left: 80%;
  width: 20%;
}

/* line 312, app/assets/stylesheets/components/_cards.scss */
body {
  background: #f5f6f8;
}

/* line 317, app/assets/stylesheets/components/_cards.scss */
.official-row {
  padding: 1rem 0;
}

/* line 320, app/assets/stylesheets/components/_cards.scss */
.official-row .official-name {
  font-size: 1.1rem;
  font-weight: 500;
  color: #1a1a1a;
  margin-bottom: 0.25rem;
}

/* line 327, app/assets/stylesheets/components/_cards.scss */
.official-row .official-title {
  font-size: 0.9rem;
  color: #6b6f76;
}

/* line 333, app/assets/stylesheets/components/_cards.scss */
.official-divider {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

/* line 338, app/assets/stylesheets/components/_cards.scss */
.candidates-roster {
  max-width: 1080px;
  margin: 0 auto;
}

/* line 348, app/assets/stylesheets/components/_cards.scss */
.candidates-roster .race-header {
  border-bottom: 2px solid rgba(0, 0, 0, 0.12);
  padding-bottom: 0.75rem;
  margin-bottom: 1.25rem;
}

/* line 354, app/assets/stylesheets/components/_cards.scss */
.candidates-roster .race-title {
  font-size: 1.15rem;
  font-weight: 500;
  color: #1a1a1a;
  letter-spacing: -0.01em;
}

/* line 362, app/assets/stylesheets/components/_cards.scss */
.candidates-roster .candidate-row {
  padding: 0.875rem 0;
}

/* line 365, app/assets/stylesheets/components/_cards.scss */
.candidates-roster .candidate-row .candidate-row-name {
  font-size: 1.05rem;
  font-weight: 500;
  color: #1a1a1a;
  margin-bottom: 0.125rem;
}

/* line 373, app/assets/stylesheets/components/_cards.scss */
.candidates-roster .candidate-row .candidate-row-meta {
  font-size: 0.85rem;
  color: #6b6f76;
  display: flex;
  align-items: center;
  min-height: 20px;
}

/* line 383, app/assets/stylesheets/components/_cards.scss */
.candidates-roster .finance-subrow {
  margin-top: 0.625rem;
  margin-bottom: 0.75rem;
}

/* line 387, app/assets/stylesheets/components/_cards.scss */
.candidates-roster .finance-subrow .finance-subrow-content {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  padding-bottom: 0.5rem !important;
}

/* line 393, app/assets/stylesheets/components/_cards.scss */
.candidates-roster .finance-subrow:hover .finance-metric-value {
  color: var(--light-blue-vivid-600);
}

/* line 399, app/assets/stylesheets/components/_cards.scss */
.candidates-roster .finance-metric-inline {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 404, app/assets/stylesheets/components/_cards.scss */
.candidates-roster .finance-metric-inline .finance-metric-label {
  font-size: 0.7rem;
  color: #6b6f76;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 500;
}

/* line 412, app/assets/stylesheets/components/_cards.scss */
.candidates-roster .finance-metric-inline .finance-metric-value {
  font-size: 0.95rem;
  font-weight: 600;
  color: #1a1a1a;
  transition: color 0.15s ease;
}

/* line 420, app/assets/stylesheets/components/_cards.scss */
.candidates-roster .sources-panel-inline {
  padding: 0.75rem;
  background-color: #fafafa;
  border-radius: 6px;
  border-left: 3px solid var(--blue-grey-300);
  margin-bottom: 0.5rem;
}

/* line 430, app/assets/stylesheets/components/_cards.scss */
.race-card {
  transition: all 0.2s ease;
  padding: 1rem 1.25rem;
}

/* line 434, app/assets/stylesheets/components/_cards.scss */
.race-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  background-color: rgba(0, 0, 0, 0.02);
}

/* line 440, app/assets/stylesheets/components/_cards.scss */
.race-card .race-card-header {
  cursor: pointer;
  padding: 1rem 1.25rem;
  margin: -1rem -1.25rem 0 -1.25rem;
  border-radius: 16px 16px 0 0;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

/* line 447, app/assets/stylesheets/components/_cards.scss */
.race-card .race-card-header .race-card-header-content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 453, app/assets/stylesheets/components/_cards.scss */
.race-card .race-card-header .race-card-main {
  flex: 1;
  min-width: 0;
}

/* line 458, app/assets/stylesheets/components/_cards.scss */
.race-card .race-card-header .race-card-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  /* line 467, app/assets/stylesheets/components/_cards.scss */
  .race-card .race-card-header .race-card-header-content {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
  }
  /* line 474, app/assets/stylesheets/components/_cards.scss */
  .race-card .race-card-header .race-card-actions {
    margin-top: 0;
  }
}

/* line 480, app/assets/stylesheets/components/_cards.scss */
.race-card .race-card-header .race-card-view-button,
.race-card .race-card-header .race-card-follow-button {
  position: relative;
  z-index: 10;
}

/* line 488, app/assets/stylesheets/components/_cards.scss */
.race-card.bb-card-compact {
  padding: 0.875rem;
}

/* line 491, app/assets/stylesheets/components/_cards.scss */
.race-card.bb-card-compact .race-card-header {
  padding: 0.875rem;
  margin: -0.875rem -0.875rem 0 -0.875rem;
}

/* line 497, app/assets/stylesheets/components/_cards.scss */
.race-card .race-card-title {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--blue-grey-900);
  margin-bottom: 0.5rem;
  line-height: 1.3;
}

/* line 504, app/assets/stylesheets/components/_cards.scss */
.race-card .race-card-title a {
  color: var(--light-blue-vivid-600);
  transition: color 0.15s ease;
}

/* line 508, app/assets/stylesheets/components/_cards.scss */
.race-card .race-card-title a:hover {
  color: var(--light-blue-vivid-700);
}

/* line 514, app/assets/stylesheets/components/_cards.scss */
.race-card .race-card-meta {
  font-size: 0.85rem;
  color: var(--blue-grey-600);
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.75rem;
  min-width: 0;
}

/* line 523, app/assets/stylesheets/components/_cards.scss */
.race-card .race-card-meta .race-card-registration,
.race-card .race-card-meta .race-card-candidates {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  flex-shrink: 0;
}

/* line 532, app/assets/stylesheets/components/_cards.scss */
.race-card .race-card-meta .badge {
  flex-shrink: 0;
}

@media (max-width: 767px) {
  /* line 514, app/assets/stylesheets/components/_cards.scss */
  .race-card .race-card-meta {
    gap: 0.5rem;
    font-size: 0.8rem;
  }
}

/* line 543, app/assets/stylesheets/components/_cards.scss */
.race-card .race-card-expand {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  min-width: 24px;
  color: var(--blue-grey-500);
  transition: transform 0.2s ease, color 0.2s ease;
  flex-shrink: 0;
}

/* line 554, app/assets/stylesheets/components/_cards.scss */
.race-card .race-card-expand i {
  font-size: 1.1rem;
  transition: transform 0.2s ease;
}

/* line 559, app/assets/stylesheets/components/_cards.scss */
.race-card .race-card-expand:hover {
  color: var(--blue-grey-700);
}

@media (max-width: 767px) {
  /* line 566, app/assets/stylesheets/components/_cards.scss */
  .race-card .race-card-view-button {
    font-size: 0.8rem !important;
    padding: 0.25rem 0.5rem;
  }
  /* line 571, app/assets/stylesheets/components/_cards.scss */
  .race-card .race-card-follow-button {
    padding: 0.25rem;
    min-width: 32px;
  }
}

/* line 577, app/assets/stylesheets/components/_cards.scss */
.race-card .race-card-body {
  margin-top: 1rem;
  margin-bottom: 0;
}

/* line 584, app/assets/stylesheets/components/_cards.scss */
.candidate-preview-row {
  transition: background-color 0.15s ease;
  margin-bottom: 0.75rem !important;
}

/* line 588, app/assets/stylesheets/components/_cards.scss */
.candidate-preview-row:hover {
  background-color: #f0f0f0 !important;
}

/* line 593, app/assets/stylesheets/components/_cards.scss */
.candidate-preview-row .candidate-preview-name a {
  color: var(--light-blue-vivid-600);
  transition: color 0.15s ease;
}

/* line 597, app/assets/stylesheets/components/_cards.scss */
.candidate-preview-row .candidate-preview-name a:hover {
  color: var(--light-blue-vivid-700);
}

/* line 603, app/assets/stylesheets/components/_cards.scss */
.candidate-preview-row .finance-metric-inline {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 608, app/assets/stylesheets/components/_cards.scss */
.candidate-preview-row .finance-metric-inline .finance-metric-label {
  font-size: 0.7rem;
  color: #6b6f76;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 500;
}

/* line 616, app/assets/stylesheets/components/_cards.scss */
.candidate-preview-row .finance-metric-inline .finance-metric-value {
  font-size: 0.9rem;
  font-weight: 600;
  transition: color 0.15s ease;
}

/* line 625, app/assets/stylesheets/components/_cards.scss */
.race-list {
  max-width: 1200px;
  margin: 0 auto;
}

/* line 631, app/assets/stylesheets/components/_cards.scss */
.btn-cta-neutral {
  background-color: var(--blue-grey-600);
  color: white;
  border: 1px solid var(--blue-grey-600);
  transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
}

/* line 637, app/assets/stylesheets/components/_cards.scss */
.btn-cta-neutral:hover {
  background-color: var(--blue-grey-700);
  border-color: var(--blue-grey-700);
  color: white;
  transform: translateY(-1px);
}

/* line 644, app/assets/stylesheets/components/_cards.scss */
.btn-cta-neutral:active {
  background-color: var(--blue-grey-800);
  border-color: var(--blue-grey-800);
  transform: translateY(0);
}

/* line 650, app/assets/stylesheets/components/_cards.scss */
.btn-cta-neutral:focus {
  box-shadow: 0 0 0 0.2rem rgba(96, 125, 139, 0.25);
}

/* line 8, app/assets/stylesheets/_elections.scss */
.bb-chip {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.15s ease;
  white-space: nowrap;
}

/* line 18, app/assets/stylesheets/_elections.scss */
.bb-chip-outline {
  background-color: transparent;
  border: 1px solid var(--blue-grey-300);
  color: var(--light-blue-vivid-600);
}

/* line 23, app/assets/stylesheets/_elections.scss */
.bb-chip-outline:hover {
  background-color: var(--light-blue-vivid-600);
  border-color: var(--light-blue-vivid-600);
  color: white;
}

/* line 30, app/assets/stylesheets/_elections.scss */
.bb-button-feed {
  padding: 0.5rem 1rem;
  font-size: 0.85rem;
  border-radius: 20px;
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-700);
  border: none;
  transition: all 0.15s ease;
}

/* line 39, app/assets/stylesheets/_elections.scss */
.bb-button-feed:hover {
  background-color: var(--blue-grey-200);
  color: var(--blue-grey-900);
}

/* line 45, app/assets/stylesheets/_elections.scss */
.bb-button-primary {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  border-radius: 6px;
  background-color: var(--light-blue-vivid-600);
  color: white;
  border: none;
  transition: all 0.15s ease;
}

/* line 54, app/assets/stylesheets/_elections.scss */
.bb-button-primary:hover {
  background-color: var(--light-blue-vivid-700);
  color: white;
}

/* line 60, app/assets/stylesheets/_elections.scss */
.bb-button-secondary {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  border-radius: 6px;
  background-color: var(--blue-grey-200);
  color: var(--blue-grey-700);
  border: none;
  transition: all 0.15s ease;
}

/* line 69, app/assets/stylesheets/_elections.scss */
.bb-button-secondary:hover {
  background-color: var(--blue-grey-300);
  color: var(--blue-grey-900);
}

/* line 77, app/assets/stylesheets/_elections.scss */
.election-kpi-row .bb-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* line 82, app/assets/stylesheets/_elections.scss */
.election-kpi-row .bb-card .bb-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* line 91, app/assets/stylesheets/_elections.scss */
.election-kpi-row .candidate-count-kpi {
  padding: 0.75rem;
}

/* line 94, app/assets/stylesheets/_elections.scss */
.election-kpi-row .candidate-count-kpi .bb-card-body {
  padding: 0.5rem !important;
}

/* line 101, app/assets/stylesheets/_elections.scss */
.candidate-finance-card {
  transition: background-color 0.15s ease;
}

/* line 104, app/assets/stylesheets/_elections.scss */
.candidate-finance-card:hover {
  background-color: var(--blue-grey-025);
}

/* line 109, app/assets/stylesheets/_elections.scss */
.recent-activity-body {
  padding: 1.25rem;
}

/* line 113, app/assets/stylesheets/_elections.scss */
.recent-activity-feed {
  display: flex;
  flex-direction: column;
  max-height: 360px;
  overflow-y: auto;
  padding-right: 0.35rem;
}

/* line 121, app/assets/stylesheets/_elections.scss */
.recent-activity-feed::-webkit-scrollbar {
  width: 6px;
}

/* line 125, app/assets/stylesheets/_elections.scss */
.recent-activity-feed::-webkit-scrollbar-thumb {
  background-color: var(--blue-grey-200);
  border-radius: 999px;
}

/* line 130, app/assets/stylesheets/_elections.scss */
.recent-activity-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

/* line 137, app/assets/stylesheets/_elections.scss */
.recent-activity-row:last-child {
  border-bottom: none;
}

/* line 141, app/assets/stylesheets/_elections.scss */
.recent-activity-row.d-none {
  display: none !important;
}

/* line 146, app/assets/stylesheets/_elections.scss */
.recent-activity-left {
  flex: 1;
  min-width: 0;
  gap: 0.75rem;
}

/* line 152, app/assets/stylesheets/_elections.scss */
.recent-activity-details {
  min-width: 0;
}

/* line 156, app/assets/stylesheets/_elections.scss */
.recent-activity-entities {
  font-size: 0.9rem;
  color: var(--blue-grey-800);
}

/* line 161, app/assets/stylesheets/_elections.scss */
.recent-activity-link {
  color: var(--blue-grey-800);
  text-decoration: none;
}

/* line 165, app/assets/stylesheets/_elections.scss */
.recent-activity-link:hover {
  color: var(--light-blue-vivid-600);
}

/* line 170, app/assets/stylesheets/_elections.scss */
.recent-activity-arrow {
  margin: 0 0.35rem;
  color: var(--blue-grey-400);
}

/* line 175, app/assets/stylesheets/_elections.scss */
.recent-activity-meta {
  font-size: 0.8rem;
  color: var(--blue-grey-600);
  margin-top: 0.2rem;
}

/* line 181, app/assets/stylesheets/_elections.scss */
.recent-activity-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
}

/* line 190, app/assets/stylesheets/_elections.scss */
.recent-activity-icon.icon-ie {
  background-color: var(--teal-050);
  color: var(--teal-700);
  box-shadow: inset 0 0 0 1px rgba(0, 128, 96, 0.1);
}

/* line 196, app/assets/stylesheets/_elections.scss */
.recent-activity-icon.icon-late {
  background-color: var(--blue-grey-075, var(--blue-grey-050));
  color: var(--blue-grey-800);
  box-shadow: inset 0 0 0 1px rgba(71, 85, 105, 0.08);
}

/* line 203, app/assets/stylesheets/_elections.scss */
.recent-activity-badge {
  font-size: 0.65rem;
  border-radius: 999px;
  padding: 0.15rem 0.5rem;
}

/* line 208, app/assets/stylesheets/_elections.scss */
.recent-activity-badge.support {
  background-color: var(--teal-600);
  color: white;
}

/* line 213, app/assets/stylesheets/_elections.scss */
.recent-activity-badge.oppose {
  background-color: var(--red-vivid-600);
  color: white;
}

/* line 218, app/assets/stylesheets/_elections.scss */
.recent-activity-badge.late-pill {
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-700);
}

/* line 224, app/assets/stylesheets/_elections.scss */
.recent-activity-position-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  font-size: 0.6rem;
  font-weight: 700;
  color: white;
  vertical-align: middle;
  margin-right: 0.25rem;
  flex-shrink: 0;
}

/* line 238, app/assets/stylesheets/_elections.scss */
.recent-activity-position-inline.support {
  background-color: var(--teal-600);
}

/* line 242, app/assets/stylesheets/_elections.scss */
.recent-activity-position-inline.oppose {
  background-color: var(--red-vivid-600);
}

/* line 247, app/assets/stylesheets/_elections.scss */
.recent-activity-location {
  font-size: 0.85rem;
}

/* line 251, app/assets/stylesheets/_elections.scss */
.recent-activity-description {
  font-style: italic;
  color: var(--blue-grey-600);
}

/* line 256, app/assets/stylesheets/_elections.scss */
.recent-activity-right {
  min-width: 160px;
}

/* line 260, app/assets/stylesheets/_elections.scss */
.recent-activity-amount {
  font-weight: 600;
  color: var(--blue-grey-900);
  font-size: 0.95rem;
}

/* line 266, app/assets/stylesheets/_elections.scss */
.recent-activity-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: flex-end;
  color: var(--blue-grey-500);
  font-size: 0.75rem;
}

/* line 275, app/assets/stylesheets/_elections.scss */
.recent-activity-pdf {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-700);
  text-decoration: none;
}

/* line 286, app/assets/stylesheets/_elections.scss */
.recent-activity-pdf:hover {
  background-color: var(--blue-grey-200);
  color: var(--blue-grey-900);
}

/* line 292, app/assets/stylesheets/_elections.scss */
.recent-activity-date {
  color: var(--blue-grey-500);
}

/* line 296, app/assets/stylesheets/_elections.scss */
.recent-activity-empty {
  padding: 2rem 0 1rem;
}

/* line 300, app/assets/stylesheets/_elections.scss */
.recent-activity-empty-icon {
  font-size: 2rem;
  color: var(--blue-grey-300);
  display: block;
  margin-bottom: 0.5rem;
}

@media (max-width: 575.98px) {
  /* line 308, app/assets/stylesheets/_elections.scss */
  .recent-activity-body {
    padding: 0.75rem;
  }
  /* line 312, app/assets/stylesheets/_elections.scss */
  .recent-activity-row {
    gap: 0.5rem;
  }
  /* line 316, app/assets/stylesheets/_elections.scss */
  .recent-activity-icon {
    display: none;
  }
  /* line 320, app/assets/stylesheets/_elections.scss */
  .recent-activity-entities {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }
  /* line 326, app/assets/stylesheets/_elections.scss */
  .recent-activity-right {
    min-width: auto;
  }
}

/* line 334, app/assets/stylesheets/_elections.scss */
.ie-beneficiary-list li:last-child {
  border-bottom: none !important;
}

/* line 342, app/assets/stylesheets/_elections.scss */
.ie-feed .ie-feed-item {
  transition: background-color 0.15s ease;
}

/* line 345, app/assets/stylesheets/_elections.scss */
.ie-feed .ie-feed-item:hover {
  background-color: var(--blue-grey-025);
}

/* line 353, app/assets/stylesheets/_elections.scss */
.expenditure-row:hover {
  background-color: var(--blue-grey-050) !important;
}

/* line 357, app/assets/stylesheets/_elections.scss */
.expenditure-row .expand-icon {
  transition: transform 0.2s ease;
}

/* line 361, app/assets/stylesheets/_elections.scss */
.expenditure-row[aria-expanded="true"] .expand-icon {
  transform: rotate(90deg);
}

/* line 367, app/assets/stylesheets/_elections.scss */
.election-header-button {
  transition: all 0.15s ease;
}

/* line 370, app/assets/stylesheets/_elections.scss */
.election-header-button:hover {
  background-color: var(--blue-grey-050) !important;
  border-color: var(--blue-grey-400) !important;
  color: var(--blue-grey-900) !important;
}

/* line 376, app/assets/stylesheets/_elections.scss */
.election-header-button:active {
  background-color: var(--blue-grey-100) !important;
}

/* line 396, app/assets/stylesheets/_elections.scss */
.bb-election-results-card {
  background: white;
  border: 1px solid var(--blue-grey-200);
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 403, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 412, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-title {
  font-weight: 500;
  color: var(--blue-grey-900);
  font-size: 1rem;
  margin: 0;
}

/* line 419, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-meta {
  font-size: 0.75rem;
  color: var(--blue-grey-500);
}

/* line 424, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-body {
  padding: 0;
}

/* line 428, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-footer {
  padding: 0.75rem 1.25rem;
  background-color: var(--blue-grey-050);
  border-top: 1px solid var(--blue-grey-200);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 436, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-footer .bb-election-results-turnout {
  font-size: 0.875rem;
  color: var(--blue-grey-700);
}

/* line 440, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-footer .bb-election-results-turnout strong {
  color: var(--blue-grey-900);
}

/* line 448, app/assets/stylesheets/_elections.scss */
.bb-candidate-row {
  display: flex;
  align-items: center;
  padding: 0.875rem 1.25rem;
  gap: 1rem;
  border-bottom: 1px solid var(--blue-grey-100);
  transition: background-color 0.15s ease;
}

/* line 456, app/assets/stylesheets/_elections.scss */
.bb-candidate-row:last-child {
  border-bottom: none;
}

/* line 460, app/assets/stylesheets/_elections.scss */
.bb-candidate-row:hover {
  background-color: var(--blue-grey-050);
}

/* line 465, app/assets/stylesheets/_elections.scss */
.bb-candidate-row.winner {
  background-color: rgba(34, 139, 87, 0.06);
}

/* line 468, app/assets/stylesheets/_elections.scss */
.bb-candidate-row.winner:hover {
  background-color: rgba(34, 139, 87, 0.1);
}

/* line 474, app/assets/stylesheets/_elections.scss */
.bb-candidate-row.runoff {
  background-color: rgba(19, 117, 183, 0.04);
}

/* line 477, app/assets/stylesheets/_elections.scss */
.bb-candidate-row.runoff:hover {
  background-color: rgba(19, 117, 183, 0.08);
}

/* line 484, app/assets/stylesheets/_elections.scss */
.bb-candidate-info {
  flex: 0 0 220px;
  min-width: 0;
}

@media (max-width: 767px) {
  /* line 484, app/assets/stylesheets/_elections.scss */
  .bb-candidate-info {
    flex: 1;
    min-width: 0;
  }
}

/* line 493, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-name {
  font-weight: 500;
  color: var(--blue-grey-900);
  font-size: 0.875rem;
  line-height: 1.3;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-wrap: wrap;
}

/* line 503, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-name a {
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 507, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-name a:hover {
  text-decoration: underline;
}

/* line 513, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-name .bb-winner-icon {
  color: var(--teal-500);
  font-size: 0.875rem;
}

/* line 519, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-name .bb-runoff-icon {
  color: var(--light-blue-vivid-600);
  font-size: 0.875rem;
}

/* line 525, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
  flex-wrap: wrap;
}

/* line 533, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-committee {
  font-size: 0.8125rem;
  margin-top: 0.375rem;
}

/* line 537, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-committee .bb-committee-label {
  color: var(--blue-grey-500);
}

/* line 541, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-committee a {
  color: var(--light-blue-vivid-600);
  text-decoration: none;
}

/* line 545, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-committee a:hover {
  text-decoration: underline;
}

/* line 553, app/assets/stylesheets/_elections.scss */
.bb-party-badge {
  font-size: 0.6875rem;
  font-weight: 500;
  padding: 0.125rem 0.5rem;
  border-radius: 999px;
}

/* line 559, app/assets/stylesheets/_elections.scss */
.bb-party-badge.bb-party-dem {
  background-color: #EDF3F8;
  color: #1D5E96;
}

/* line 564, app/assets/stylesheets/_elections.scss */
.bb-party-badge.bb-party-rep {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 569, app/assets/stylesheets/_elections.scss */
.bb-party-badge.bb-party-nonpartisan {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 574, app/assets/stylesheets/_elections.scss */
.bb-party-badge.bb-party-green {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 579, app/assets/stylesheets/_elections.scss */
.bb-party-badge.bb-party-libertarian {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 586, app/assets/stylesheets/_elections.scss */
.bb-incumbent-badge {
  font-size: 0.65rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 0.125rem 0.375rem;
  border-radius: 3px;
  background-color: var(--blue-grey-500);
  color: white;
}

/* line 598, app/assets/stylesheets/_elections.scss */
.bb-write-in-badge {
  font-size: 0.65rem;
  font-weight: 500;
  padding: 0.125rem 0.375rem;
  border-radius: 3px;
  background-color: var(--cyan-500);
  color: white;
}

/* line 608, app/assets/stylesheets/_elections.scss */
.bb-candidate-results {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
}

@media (max-width: 767px) {
  /* line 608, app/assets/stylesheets/_elections.scss */
  .bb-candidate-results {
    display: none;
  }
}

/* line 621, app/assets/stylesheets/_elections.scss */
.bb-vote-count {
  flex: 0 0 80px;
  text-align: right;
  font-size: 0.875rem;
  color: var(--blue-grey-700);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

/* line 631, app/assets/stylesheets/_elections.scss */
.bb-vote-bar-wrapper {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 639, app/assets/stylesheets/_elections.scss */
.bb-vote-bar {
  flex: 1;
  height: 8px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 647, app/assets/stylesheets/_elections.scss */
.bb-vote-bar-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.4s ease;
  min-width: 2px;
  opacity: 0.7;
}

/* line 656, app/assets/stylesheets/_elections.scss */
.bb-vote-percentage,
.bb-vote-percentage-outside {
  font-size: 0.75rem;
  font-weight: 600;
  color: #4B5563;
  white-space: nowrap;
  min-width: 3rem;
  text-align: right;
}

/* line 667, app/assets/stylesheets/_elections.scss */
.bb-mobile-vote-info {
  display: none;
  font-size: 0.8125rem;
  color: var(--blue-grey-500);
  margin-top: 0.25rem;
}

@media (max-width: 767px) {
  /* line 667, app/assets/stylesheets/_elections.scss */
  .bb-mobile-vote-info {
    display: block;
  }
}

/* line 684, app/assets/stylesheets/_elections.scss */
.election-header {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 1.5rem;
}

/* line 692, app/assets/stylesheets/_elections.scss */
.election-header-inner {
  padding: 1.5rem;
}

@media (max-width: 768px) {
  /* line 692, app/assets/stylesheets/_elections.scss */
  .election-header-inner {
    padding: 1.25rem 1rem;
  }
}

/* line 700, app/assets/stylesheets/_elections.scss */
.election-header-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5rem;
}

@media (max-width: 768px) {
  /* line 700, app/assets/stylesheets/_elections.scss */
  .election-header-content {
    flex-direction: column;
    gap: 1rem;
  }
}

/* line 712, app/assets/stylesheets/_elections.scss */
.election-header-main {
  flex: 1;
  min-width: 0;
}

/* line 717, app/assets/stylesheets/_elections.scss */
.election-header-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 725, app/assets/stylesheets/_elections.scss */
.election-header-type {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border-radius: 4px;
}

/* line 735, app/assets/stylesheets/_elections.scss */
.election-header-type.type-general {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 740, app/assets/stylesheets/_elections.scss */
.election-header-type.type-primary {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 745, app/assets/stylesheets/_elections.scss */
.election-header-type.type-special {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 750, app/assets/stylesheets/_elections.scss */
.election-header-type.type-runoff {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 756, app/assets/stylesheets/_elections.scss */
.election-header-date {
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 761, app/assets/stylesheets/_elections.scss */
.election-header-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.75rem 0;
  line-height: 1.2;
}

@media (max-width: 768px) {
  /* line 761, app/assets/stylesheets/_elections.scss */
  .election-header-name {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
}

/* line 775, app/assets/stylesheets/_elections.scss */
.election-header-incumbent {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background-color: #F9FAFB;
  border-radius: 6px;
  border: 1px solid #E5E7EB;
}

/* line 785, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 790, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 795, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-name a {
  color: inherit;
  text-decoration: none;
}

/* line 799, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-name a:hover {
  color: #1F5C96;
  text-decoration: underline;
}

/* line 806, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-name.party-democrat a {
  color: #123B66;
}

/* line 809, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-name.party-republican a {
  color: #9B2331;
}

/* line 815, app/assets/stylesheets/_elections.scss */
.election-header-nav {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  /* line 815, app/assets/stylesheets/_elections.scss */
  .election-header-nav {
    margin-top: 1.25rem;
  }
}

/* line 827, app/assets/stylesheets/_elections.scss */
.election-header-nav-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 834, app/assets/stylesheets/_elections.scss */
.election-header-nav-links {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 841, app/assets/stylesheets/_elections.scss */
.election-header-nav-link {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  color: #4B5563;
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 853, app/assets/stylesheets/_elections.scss */
.election-header-nav-link:hover {
  background-color: #F3F4F6;
  border-color: #D1D5DB;
  color: #1F2933;
}

/* line 859, app/assets/stylesheets/_elections.scss */
.election-header-nav-link.is-active {
  background-color: #E4EEF8;
  border-color: #4C7FB5;
  color: #123B66;
  font-weight: 500;
}

/* line 868, app/assets/stylesheets/_elections.scss */
.election-header-actions {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  align-items: flex-start;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  /* line 868, app/assets/stylesheets/_elections.scss */
  .election-header-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

/* line 881, app/assets/stylesheets/_elections.scss */
.election-header-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 896, app/assets/stylesheets/_elections.scss */
.election-header-action-btn:hover {
  background-color: #F9FAFB;
  border-color: #B8BFC7;
  color: #1F2933;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* line 903, app/assets/stylesheets/_elections.scss */
.election-header-action-btn:active {
  transform: translateY(1px);
  background-color: #F3F4F6;
  box-shadow: none;
}

/* line 909, app/assets/stylesheets/_elections.scss */
.election-header-action-btn i {
  font-size: 0.875rem;
}

/* line 913, app/assets/stylesheets/_elections.scss */
.election-header-action-btn.is-following {
  background-color: #F4F7FC;
  border-color: #A3C4E0;
  color: #123B66;
}

/* line 918, app/assets/stylesheets/_elections.scss */
.election-header-action-btn.is-following i {
  color: #1F5C96;
}

/* line 922, app/assets/stylesheets/_elections.scss */
.election-header-action-btn.is-following:hover {
  background-color: #E4EEF8;
  border-color: #4C7FB5;
  box-shadow: 0 1px 3px rgba(31, 92, 150, 0.1);
}

/* line 928, app/assets/stylesheets/_elections.scss */
.election-header-action-btn.is-following:active {
  transform: translateY(1px);
  background-color: #A3C4E0;
  box-shadow: none;
}

/* line 937, app/assets/stylesheets/_elections.scss */
.election-header-description {
  margin-top: 1rem;
  padding: 1rem;
  background-color: #F9FAFB;
  border-radius: 6px;
  border: 1px solid #E5E7EB;
  font-size: 0.875rem;
  color: #4B5563;
  line-height: 1.5;
}

/* line 949, app/assets/stylesheets/_elections.scss */
.bb-prop-description-cell {
  max-width: 400px;
  white-space: normal;
}

/* line 954, app/assets/stylesheets/_elections.scss */
.bb-prop-description-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.4;
  word-break: break-word;
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 8, app/assets/stylesheets/_elections.scss */
.bb-chip {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.15s ease;
  white-space: nowrap;
}

/* line 18, app/assets/stylesheets/_elections.scss */
.bb-chip-outline {
  background-color: transparent;
  border: 1px solid var(--blue-grey-300);
  color: var(--light-blue-vivid-600);
}

/* line 23, app/assets/stylesheets/_elections.scss */
.bb-chip-outline:hover {
  background-color: var(--light-blue-vivid-600);
  border-color: var(--light-blue-vivid-600);
  color: white;
}

/* line 30, app/assets/stylesheets/_elections.scss */
.bb-button-feed {
  padding: 0.5rem 1rem;
  font-size: 0.85rem;
  border-radius: 20px;
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-700);
  border: none;
  transition: all 0.15s ease;
}

/* line 39, app/assets/stylesheets/_elections.scss */
.bb-button-feed:hover {
  background-color: var(--blue-grey-200);
  color: var(--blue-grey-900);
}

/* line 45, app/assets/stylesheets/_elections.scss */
.bb-button-primary {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  border-radius: 6px;
  background-color: var(--light-blue-vivid-600);
  color: white;
  border: none;
  transition: all 0.15s ease;
}

/* line 54, app/assets/stylesheets/_elections.scss */
.bb-button-primary:hover {
  background-color: var(--light-blue-vivid-700);
  color: white;
}

/* line 60, app/assets/stylesheets/_elections.scss */
.bb-button-secondary {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  border-radius: 6px;
  background-color: var(--blue-grey-200);
  color: var(--blue-grey-700);
  border: none;
  transition: all 0.15s ease;
}

/* line 69, app/assets/stylesheets/_elections.scss */
.bb-button-secondary:hover {
  background-color: var(--blue-grey-300);
  color: var(--blue-grey-900);
}

/* line 77, app/assets/stylesheets/_elections.scss */
.election-kpi-row .bb-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* line 82, app/assets/stylesheets/_elections.scss */
.election-kpi-row .bb-card .bb-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* line 91, app/assets/stylesheets/_elections.scss */
.election-kpi-row .candidate-count-kpi {
  padding: 0.75rem;
}

/* line 94, app/assets/stylesheets/_elections.scss */
.election-kpi-row .candidate-count-kpi .bb-card-body {
  padding: 0.5rem !important;
}

/* line 101, app/assets/stylesheets/_elections.scss */
.candidate-finance-card {
  transition: background-color 0.15s ease;
}

/* line 104, app/assets/stylesheets/_elections.scss */
.candidate-finance-card:hover {
  background-color: var(--blue-grey-025);
}

/* line 109, app/assets/stylesheets/_elections.scss */
.recent-activity-body {
  padding: 1.25rem;
}

/* line 113, app/assets/stylesheets/_elections.scss */
.recent-activity-feed {
  display: flex;
  flex-direction: column;
  max-height: 360px;
  overflow-y: auto;
  padding-right: 0.35rem;
}

/* line 121, app/assets/stylesheets/_elections.scss */
.recent-activity-feed::-webkit-scrollbar {
  width: 6px;
}

/* line 125, app/assets/stylesheets/_elections.scss */
.recent-activity-feed::-webkit-scrollbar-thumb {
  background-color: var(--blue-grey-200);
  border-radius: 999px;
}

/* line 130, app/assets/stylesheets/_elections.scss */
.recent-activity-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

/* line 137, app/assets/stylesheets/_elections.scss */
.recent-activity-row:last-child {
  border-bottom: none;
}

/* line 141, app/assets/stylesheets/_elections.scss */
.recent-activity-row.d-none {
  display: none !important;
}

/* line 146, app/assets/stylesheets/_elections.scss */
.recent-activity-left {
  flex: 1;
  min-width: 0;
  gap: 0.75rem;
}

/* line 152, app/assets/stylesheets/_elections.scss */
.recent-activity-details {
  min-width: 0;
}

/* line 156, app/assets/stylesheets/_elections.scss */
.recent-activity-entities {
  font-size: 0.9rem;
  color: var(--blue-grey-800);
}

/* line 161, app/assets/stylesheets/_elections.scss */
.recent-activity-link {
  color: var(--blue-grey-800);
  text-decoration: none;
}

/* line 165, app/assets/stylesheets/_elections.scss */
.recent-activity-link:hover {
  color: var(--light-blue-vivid-600);
}

/* line 170, app/assets/stylesheets/_elections.scss */
.recent-activity-arrow {
  margin: 0 0.35rem;
  color: var(--blue-grey-400);
}

/* line 175, app/assets/stylesheets/_elections.scss */
.recent-activity-meta {
  font-size: 0.8rem;
  color: var(--blue-grey-600);
  margin-top: 0.2rem;
}

/* line 181, app/assets/stylesheets/_elections.scss */
.recent-activity-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
}

/* line 190, app/assets/stylesheets/_elections.scss */
.recent-activity-icon.icon-ie {
  background-color: var(--teal-050);
  color: var(--teal-700);
  box-shadow: inset 0 0 0 1px rgba(0, 128, 96, 0.1);
}

/* line 196, app/assets/stylesheets/_elections.scss */
.recent-activity-icon.icon-late {
  background-color: var(--blue-grey-075, var(--blue-grey-050));
  color: var(--blue-grey-800);
  box-shadow: inset 0 0 0 1px rgba(71, 85, 105, 0.08);
}

/* line 203, app/assets/stylesheets/_elections.scss */
.recent-activity-badge {
  font-size: 0.65rem;
  border-radius: 999px;
  padding: 0.15rem 0.5rem;
}

/* line 208, app/assets/stylesheets/_elections.scss */
.recent-activity-badge.support {
  background-color: var(--teal-600);
  color: white;
}

/* line 213, app/assets/stylesheets/_elections.scss */
.recent-activity-badge.oppose {
  background-color: var(--red-vivid-600);
  color: white;
}

/* line 218, app/assets/stylesheets/_elections.scss */
.recent-activity-badge.late-pill {
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-700);
}

/* line 224, app/assets/stylesheets/_elections.scss */
.recent-activity-position-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  font-size: 0.6rem;
  font-weight: 700;
  color: white;
  vertical-align: middle;
  margin-right: 0.25rem;
  flex-shrink: 0;
}

/* line 238, app/assets/stylesheets/_elections.scss */
.recent-activity-position-inline.support {
  background-color: var(--teal-600);
}

/* line 242, app/assets/stylesheets/_elections.scss */
.recent-activity-position-inline.oppose {
  background-color: var(--red-vivid-600);
}

/* line 247, app/assets/stylesheets/_elections.scss */
.recent-activity-location {
  font-size: 0.85rem;
}

/* line 251, app/assets/stylesheets/_elections.scss */
.recent-activity-description {
  font-style: italic;
  color: var(--blue-grey-600);
}

/* line 256, app/assets/stylesheets/_elections.scss */
.recent-activity-right {
  min-width: 160px;
}

/* line 260, app/assets/stylesheets/_elections.scss */
.recent-activity-amount {
  font-weight: 600;
  color: var(--blue-grey-900);
  font-size: 0.95rem;
}

/* line 266, app/assets/stylesheets/_elections.scss */
.recent-activity-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: flex-end;
  color: var(--blue-grey-500);
  font-size: 0.75rem;
}

/* line 275, app/assets/stylesheets/_elections.scss */
.recent-activity-pdf {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-700);
  text-decoration: none;
}

/* line 286, app/assets/stylesheets/_elections.scss */
.recent-activity-pdf:hover {
  background-color: var(--blue-grey-200);
  color: var(--blue-grey-900);
}

/* line 292, app/assets/stylesheets/_elections.scss */
.recent-activity-date {
  color: var(--blue-grey-500);
}

/* line 296, app/assets/stylesheets/_elections.scss */
.recent-activity-empty {
  padding: 2rem 0 1rem;
}

/* line 300, app/assets/stylesheets/_elections.scss */
.recent-activity-empty-icon {
  font-size: 2rem;
  color: var(--blue-grey-300);
  display: block;
  margin-bottom: 0.5rem;
}

@media (max-width: 575.98px) {
  /* line 308, app/assets/stylesheets/_elections.scss */
  .recent-activity-body {
    padding: 0.75rem;
  }
  /* line 312, app/assets/stylesheets/_elections.scss */
  .recent-activity-row {
    gap: 0.5rem;
  }
  /* line 316, app/assets/stylesheets/_elections.scss */
  .recent-activity-icon {
    display: none;
  }
  /* line 320, app/assets/stylesheets/_elections.scss */
  .recent-activity-entities {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }
  /* line 326, app/assets/stylesheets/_elections.scss */
  .recent-activity-right {
    min-width: auto;
  }
}

/* line 334, app/assets/stylesheets/_elections.scss */
.ie-beneficiary-list li:last-child {
  border-bottom: none !important;
}

/* line 342, app/assets/stylesheets/_elections.scss */
.ie-feed .ie-feed-item {
  transition: background-color 0.15s ease;
}

/* line 345, app/assets/stylesheets/_elections.scss */
.ie-feed .ie-feed-item:hover {
  background-color: var(--blue-grey-025);
}

/* line 353, app/assets/stylesheets/_elections.scss */
.expenditure-row:hover {
  background-color: var(--blue-grey-050) !important;
}

/* line 357, app/assets/stylesheets/_elections.scss */
.expenditure-row .expand-icon {
  transition: transform 0.2s ease;
}

/* line 361, app/assets/stylesheets/_elections.scss */
.expenditure-row[aria-expanded="true"] .expand-icon {
  transform: rotate(90deg);
}

/* line 367, app/assets/stylesheets/_elections.scss */
.election-header-button {
  transition: all 0.15s ease;
}

/* line 370, app/assets/stylesheets/_elections.scss */
.election-header-button:hover {
  background-color: var(--blue-grey-050) !important;
  border-color: var(--blue-grey-400) !important;
  color: var(--blue-grey-900) !important;
}

/* line 376, app/assets/stylesheets/_elections.scss */
.election-header-button:active {
  background-color: var(--blue-grey-100) !important;
}

/* line 396, app/assets/stylesheets/_elections.scss */
.bb-election-results-card {
  background: white;
  border: 1px solid var(--blue-grey-200);
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 403, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 412, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-title {
  font-weight: 500;
  color: var(--blue-grey-900);
  font-size: 1rem;
  margin: 0;
}

/* line 419, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-meta {
  font-size: 0.75rem;
  color: var(--blue-grey-500);
}

/* line 424, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-body {
  padding: 0;
}

/* line 428, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-footer {
  padding: 0.75rem 1.25rem;
  background-color: var(--blue-grey-050);
  border-top: 1px solid var(--blue-grey-200);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 436, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-footer .bb-election-results-turnout {
  font-size: 0.875rem;
  color: var(--blue-grey-700);
}

/* line 440, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-footer .bb-election-results-turnout strong {
  color: var(--blue-grey-900);
}

/* line 448, app/assets/stylesheets/_elections.scss */
.bb-candidate-row {
  display: flex;
  align-items: center;
  padding: 0.875rem 1.25rem;
  gap: 1rem;
  border-bottom: 1px solid var(--blue-grey-100);
  transition: background-color 0.15s ease;
}

/* line 456, app/assets/stylesheets/_elections.scss */
.bb-candidate-row:last-child {
  border-bottom: none;
}

/* line 460, app/assets/stylesheets/_elections.scss */
.bb-candidate-row:hover {
  background-color: var(--blue-grey-050);
}

/* line 465, app/assets/stylesheets/_elections.scss */
.bb-candidate-row.winner {
  background-color: rgba(34, 139, 87, 0.06);
}

/* line 468, app/assets/stylesheets/_elections.scss */
.bb-candidate-row.winner:hover {
  background-color: rgba(34, 139, 87, 0.1);
}

/* line 474, app/assets/stylesheets/_elections.scss */
.bb-candidate-row.runoff {
  background-color: rgba(19, 117, 183, 0.04);
}

/* line 477, app/assets/stylesheets/_elections.scss */
.bb-candidate-row.runoff:hover {
  background-color: rgba(19, 117, 183, 0.08);
}

/* line 484, app/assets/stylesheets/_elections.scss */
.bb-candidate-info {
  flex: 0 0 220px;
  min-width: 0;
}

@media (max-width: 767px) {
  /* line 484, app/assets/stylesheets/_elections.scss */
  .bb-candidate-info {
    flex: 1;
    min-width: 0;
  }
}

/* line 493, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-name {
  font-weight: 500;
  color: var(--blue-grey-900);
  font-size: 0.875rem;
  line-height: 1.3;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-wrap: wrap;
}

/* line 503, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-name a {
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 507, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-name a:hover {
  text-decoration: underline;
}

/* line 513, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-name .bb-winner-icon {
  color: var(--teal-500);
  font-size: 0.875rem;
}

/* line 519, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-name .bb-runoff-icon {
  color: var(--light-blue-vivid-600);
  font-size: 0.875rem;
}

/* line 525, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
  flex-wrap: wrap;
}

/* line 533, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-committee {
  font-size: 0.8125rem;
  margin-top: 0.375rem;
}

/* line 537, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-committee .bb-committee-label {
  color: var(--blue-grey-500);
}

/* line 541, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-committee a {
  color: var(--light-blue-vivid-600);
  text-decoration: none;
}

/* line 545, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-committee a:hover {
  text-decoration: underline;
}

/* line 553, app/assets/stylesheets/_elections.scss */
.bb-party-badge {
  font-size: 0.6875rem;
  font-weight: 500;
  padding: 0.125rem 0.5rem;
  border-radius: 999px;
}

/* line 559, app/assets/stylesheets/_elections.scss */
.bb-party-badge.bb-party-dem {
  background-color: #EDF3F8;
  color: #1D5E96;
}

/* line 564, app/assets/stylesheets/_elections.scss */
.bb-party-badge.bb-party-rep {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 569, app/assets/stylesheets/_elections.scss */
.bb-party-badge.bb-party-nonpartisan {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 574, app/assets/stylesheets/_elections.scss */
.bb-party-badge.bb-party-green {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 579, app/assets/stylesheets/_elections.scss */
.bb-party-badge.bb-party-libertarian {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 586, app/assets/stylesheets/_elections.scss */
.bb-incumbent-badge {
  font-size: 0.65rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 0.125rem 0.375rem;
  border-radius: 3px;
  background-color: var(--blue-grey-500);
  color: white;
}

/* line 598, app/assets/stylesheets/_elections.scss */
.bb-write-in-badge {
  font-size: 0.65rem;
  font-weight: 500;
  padding: 0.125rem 0.375rem;
  border-radius: 3px;
  background-color: var(--cyan-500);
  color: white;
}

/* line 608, app/assets/stylesheets/_elections.scss */
.bb-candidate-results {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
}

@media (max-width: 767px) {
  /* line 608, app/assets/stylesheets/_elections.scss */
  .bb-candidate-results {
    display: none;
  }
}

/* line 621, app/assets/stylesheets/_elections.scss */
.bb-vote-count {
  flex: 0 0 80px;
  text-align: right;
  font-size: 0.875rem;
  color: var(--blue-grey-700);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

/* line 631, app/assets/stylesheets/_elections.scss */
.bb-vote-bar-wrapper {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 639, app/assets/stylesheets/_elections.scss */
.bb-vote-bar {
  flex: 1;
  height: 8px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 647, app/assets/stylesheets/_elections.scss */
.bb-vote-bar-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.4s ease;
  min-width: 2px;
  opacity: 0.7;
}

/* line 656, app/assets/stylesheets/_elections.scss */
.bb-vote-percentage,
.bb-vote-percentage-outside {
  font-size: 0.75rem;
  font-weight: 600;
  color: #4B5563;
  white-space: nowrap;
  min-width: 3rem;
  text-align: right;
}

/* line 667, app/assets/stylesheets/_elections.scss */
.bb-mobile-vote-info {
  display: none;
  font-size: 0.8125rem;
  color: var(--blue-grey-500);
  margin-top: 0.25rem;
}

@media (max-width: 767px) {
  /* line 667, app/assets/stylesheets/_elections.scss */
  .bb-mobile-vote-info {
    display: block;
  }
}

/* line 684, app/assets/stylesheets/_elections.scss */
.election-header {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 1.5rem;
}

/* line 692, app/assets/stylesheets/_elections.scss */
.election-header-inner {
  padding: 1.5rem;
}

@media (max-width: 768px) {
  /* line 692, app/assets/stylesheets/_elections.scss */
  .election-header-inner {
    padding: 1.25rem 1rem;
  }
}

/* line 700, app/assets/stylesheets/_elections.scss */
.election-header-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5rem;
}

@media (max-width: 768px) {
  /* line 700, app/assets/stylesheets/_elections.scss */
  .election-header-content {
    flex-direction: column;
    gap: 1rem;
  }
}

/* line 712, app/assets/stylesheets/_elections.scss */
.election-header-main {
  flex: 1;
  min-width: 0;
}

/* line 717, app/assets/stylesheets/_elections.scss */
.election-header-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 725, app/assets/stylesheets/_elections.scss */
.election-header-type {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border-radius: 4px;
}

/* line 735, app/assets/stylesheets/_elections.scss */
.election-header-type.type-general {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 740, app/assets/stylesheets/_elections.scss */
.election-header-type.type-primary {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 745, app/assets/stylesheets/_elections.scss */
.election-header-type.type-special {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 750, app/assets/stylesheets/_elections.scss */
.election-header-type.type-runoff {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 756, app/assets/stylesheets/_elections.scss */
.election-header-date {
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 761, app/assets/stylesheets/_elections.scss */
.election-header-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.75rem 0;
  line-height: 1.2;
}

@media (max-width: 768px) {
  /* line 761, app/assets/stylesheets/_elections.scss */
  .election-header-name {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
}

/* line 775, app/assets/stylesheets/_elections.scss */
.election-header-incumbent {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background-color: #F9FAFB;
  border-radius: 6px;
  border: 1px solid #E5E7EB;
}

/* line 785, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 790, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 795, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-name a {
  color: inherit;
  text-decoration: none;
}

/* line 799, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-name a:hover {
  color: #1F5C96;
  text-decoration: underline;
}

/* line 806, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-name.party-democrat a {
  color: #123B66;
}

/* line 809, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-name.party-republican a {
  color: #9B2331;
}

/* line 815, app/assets/stylesheets/_elections.scss */
.election-header-nav {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  /* line 815, app/assets/stylesheets/_elections.scss */
  .election-header-nav {
    margin-top: 1.25rem;
  }
}

/* line 827, app/assets/stylesheets/_elections.scss */
.election-header-nav-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 834, app/assets/stylesheets/_elections.scss */
.election-header-nav-links {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 841, app/assets/stylesheets/_elections.scss */
.election-header-nav-link {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  color: #4B5563;
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 853, app/assets/stylesheets/_elections.scss */
.election-header-nav-link:hover {
  background-color: #F3F4F6;
  border-color: #D1D5DB;
  color: #1F2933;
}

/* line 859, app/assets/stylesheets/_elections.scss */
.election-header-nav-link.is-active {
  background-color: #E4EEF8;
  border-color: #4C7FB5;
  color: #123B66;
  font-weight: 500;
}

/* line 868, app/assets/stylesheets/_elections.scss */
.election-header-actions {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  align-items: flex-start;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  /* line 868, app/assets/stylesheets/_elections.scss */
  .election-header-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

/* line 881, app/assets/stylesheets/_elections.scss */
.election-header-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 896, app/assets/stylesheets/_elections.scss */
.election-header-action-btn:hover {
  background-color: #F9FAFB;
  border-color: #B8BFC7;
  color: #1F2933;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* line 903, app/assets/stylesheets/_elections.scss */
.election-header-action-btn:active {
  transform: translateY(1px);
  background-color: #F3F4F6;
  box-shadow: none;
}

/* line 909, app/assets/stylesheets/_elections.scss */
.election-header-action-btn i {
  font-size: 0.875rem;
}

/* line 913, app/assets/stylesheets/_elections.scss */
.election-header-action-btn.is-following {
  background-color: #F4F7FC;
  border-color: #A3C4E0;
  color: #123B66;
}

/* line 918, app/assets/stylesheets/_elections.scss */
.election-header-action-btn.is-following i {
  color: #1F5C96;
}

/* line 922, app/assets/stylesheets/_elections.scss */
.election-header-action-btn.is-following:hover {
  background-color: #E4EEF8;
  border-color: #4C7FB5;
  box-shadow: 0 1px 3px rgba(31, 92, 150, 0.1);
}

/* line 928, app/assets/stylesheets/_elections.scss */
.election-header-action-btn.is-following:active {
  transform: translateY(1px);
  background-color: #A3C4E0;
  box-shadow: none;
}

/* line 937, app/assets/stylesheets/_elections.scss */
.election-header-description {
  margin-top: 1rem;
  padding: 1rem;
  background-color: #F9FAFB;
  border-radius: 6px;
  border: 1px solid #E5E7EB;
  font-size: 0.875rem;
  color: #4B5563;
  line-height: 1.5;
}

/* line 949, app/assets/stylesheets/_elections.scss */
.bb-prop-description-cell {
  max-width: 400px;
  white-space: normal;
}

/* line 954, app/assets/stylesheets/_elections.scss */
.bb-prop-description-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.4;
  word-break: break-word;
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 19, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
  margin-bottom: 1.5rem;
}

/* line 28, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-header {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #E5E7EB;
  background: #FFFFFF;
}

/* line 34, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-title-group {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 40, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0;
}

/* line 47, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 56, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-filter-section {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #F3F4F6;
  background: #F9FAFB;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 65, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-filter-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 72, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-filter-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  flex-shrink: 0;
  min-width: 3rem;
}

/* line 84, app/assets/stylesheets/_unified_elections.scss */
.bb-segmented-control {
  display: flex;
  gap: 0.25rem;
  background: #F3F4F6;
  padding: 0.25rem;
  border-radius: 8px;
}

/* line 92, app/assets/stylesheets/_unified_elections.scss */
.bb-segmented-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  background: transparent;
  border: none;
  border-radius: 6px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s;
  white-space: nowrap;
}

/* line 108, app/assets/stylesheets/_unified_elections.scss */
.bb-segmented-btn:hover:not(.active):not(.disabled) {
  color: #4B5563;
  background: #E5E7EB;
}

/* line 113, app/assets/stylesheets/_unified_elections.scss */
.bb-segmented-btn.active {
  color: #123B66;
  background: #FFFFFF;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  font-weight: 500;
}

/* line 120, app/assets/stylesheets/_unified_elections.scss */
.bb-segmented-btn.disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}

/* line 133, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-mode-hinge {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1.5rem;
  border-bottom: 1px solid #F3F4F6;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 143, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-mode-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #B8BFC7;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* line 151, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-mode-alt {
  font-size: 0.875rem;
  color: #1F5C96;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 159, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-mode-alt:hover {
  color: #123B66;
}

/* line 163, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-mode-alt i {
  font-size: 0.75rem;
  transition: transform 0.15s ease;
}

/* line 168, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-mode-alt:hover i {
  transform: translateX(2px);
}

@media (max-width: 767px) {
  /* line 175, app/assets/stylesheets/_unified_elections.scss */
  .bb-unified-elections-mode-hinge {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
    padding: 0.5rem 1rem;
  }
}

/* line 187, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-scope-tabs {
  display: flex;
  border-bottom: 1px solid #E5E7EB;
  background: #FFFFFF;
}

/* line 193, app/assets/stylesheets/_unified_elections.scss */
.bb-scope-tab {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: all 0.15s;
}

/* line 206, app/assets/stylesheets/_unified_elections.scss */
.bb-scope-tab i {
  font-size: 1rem;
}

/* line 210, app/assets/stylesheets/_unified_elections.scss */
.bb-scope-tab:hover:not(.active) {
  color: #4B5563;
  background: #F9FAFB;
}

/* line 215, app/assets/stylesheets/_unified_elections.scss */
.bb-scope-tab.active {
  color: #123B66;
  font-weight: 500;
  border-bottom-color: #1F5C96;
  background: #FFFFFF;
}

/* line 227, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1.5rem;
  border-bottom: 1px solid #F3F4F6;
  background: #FFFFFF;
}

/* line 236, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-controls-count {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 241, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-controls-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 247, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-control-btn {
  background: none;
  border: none;
  font-size: 0.875rem;
  color: #1F5C96;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
}

/* line 255, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-control-btn:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 261, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-control-separator {
  color: #D1D5DB;
  font-size: 0.875rem;
}

/* line 270, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-body {
  padding: 0;
}

/* line 274, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-category {
  border-bottom: 1px solid #E5E7EB;
}

/* line 277, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-category:last-child {
  border-bottom: none;
}

/* line 282, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-category-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  background: #F9FAFB;
  font-weight: 500;
  color: #4B5563;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* line 294, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-category-header i {
  color: #1F5C96;
  font-size: 1rem;
}

/* line 300, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-category-count {
  background: #E5E7EB;
  color: #6B7280;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
}

/* line 309, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-subcategory {
  padding: 0.75rem 1.5rem 0.5rem;
  border-top: 1px solid #F3F4F6;
}

/* line 314, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-subcategory-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* line 326, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-subcategory {
  border-top: 1px solid #F3F4F6;
}

/* line 329, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-subcategory:first-child {
  border-top: none;
}

/* line 334, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-subcategory-header {
  display: flex;
  align-items: center;
  padding: 0.75rem 1.5rem;
  background: #FFFFFF;
  cursor: pointer;
  transition: background-color 0.15s;
}

/* line 342, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-subcategory-header:hover {
  background-color: #F9FAFB;
}

/* line 347, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-subcategory-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
}

/* line 354, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-subcategory-icon {
  color: #B8BFC7;
  font-size: 0.875rem;
  transition: transform 0.2s;
}

/* line 360, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-subcategory-type-icon {
  color: #1F5C96;
  font-size: 1rem;
}

/* line 365, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-subcategory-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 371, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-subcategory-count {
  background: #F3F4F6;
  color: #6B7280;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  margin-left: 0.25rem;
}

/* line 381, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-subcategory-body {
  transition: max-height 0.3s, opacity 0.2s;
  overflow: hidden;
  padding-left: 1rem;
  border-left: 2px solid #F3F4F6;
  margin-left: 1.5rem;
}

/* line 389, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-subcategory-collapsed {
  max-height: 0;
  opacity: 0;
  padding: 0;
  margin: 0;
  border: none;
}

/* line 401, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-row {
  border-bottom: 1px solid #F3F4F6;
}

/* line 404, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-row:last-child {
  border-bottom: none;
}

/* line 409, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.5rem;
  cursor: pointer;
  transition: background-color 0.15s;
}

/* line 417, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-header:hover {
  background-color: #F9FAFB;
}

/* line 422, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-toggle {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1;
  min-width: 0;
}

/* line 429, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-toggle i {
  color: #B8BFC7;
  font-size: 0.875rem;
  transition: transform 0.2s;
}

/* line 436, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #323C47;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 445, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-date {
  font-weight: 400;
  color: #9CA3AF;
}

/* line 451, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-name-group {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}

/* line 457, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-name-group .bb-unified-contest-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 464, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-description {
  font-size: 0.75rem;
  font-weight: 400;
  color: #9CA3AF;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 473, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-preview {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
}

/* line 480, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-winner {
  font-weight: 500;
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  white-space: nowrap;
  background: #F3F4F6;
  color: #4B5563;
}

/* line 491, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-winner.bb-party-dem {
  background: rgba(29, 94, 150, 0.12);
  color: #1D5E96;
}

/* line 495, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-winner.bb-party-rep {
  background: rgba(155, 35, 49, 0.12);
  color: #9B2331;
}

/* line 499, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-winner.bb-party-libertarian {
  background: rgba(138, 106, 6, 0.12);
  color: #8A6A06;
}

/* line 503, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-winner.bb-party-green {
  background: rgba(31, 107, 78, 0.12);
  color: #1F6B4E;
}

/* line 507, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-winner.bb-party-nonpartisan {
  background: #F3F4F6;
  color: #6B7280;
}

/* line 513, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-winner-pct {
  font-size: 0.875rem;
  color: #9CA3AF;
  font-weight: 500;
}

/* line 519, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-margin {
  font-size: 0.75rem;
  color: #1F6B4E;
  font-weight: 500;
}

/* line 524, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-margin.bb-unified-contest-margin-positive {
  color: #1F6B4E;
}

/* line 528, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-margin.bb-unified-contest-margin-negative {
  color: #9B2331;
}

/* line 533, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-measure-result {
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* line 541, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-measure-result.bb-result-passed {
  background: #EDF4F0;
  color: #1F6B4E;
}

/* line 546, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-measure-result.bb-result-failed {
  background: #F8F0F1;
  color: #9B2331;
}

/* line 552, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-breakdown-link {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  background: #F4F7FC;
  transition: all 0.15s;
}

/* line 565, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-breakdown-link:hover {
  background: #E4EEF8;
  color: #123B66;
}

/* line 570, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-breakdown-link i {
  font-size: 0.75rem;
}

/* line 576, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem;
  color: #9CA3AF;
  text-decoration: none;
  border-radius: 4px;
  transition: color 0.15s ease;
}

/* line 586, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-icon-link:hover {
  color: #1F5C96;
}

/* line 590, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-icon-link i {
  font-size: 1rem;
}

/* line 596, app/assets/stylesheets/_unified_elections.scss */
.bb-finance-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #C4681A;
  background: #FDF0E3;
  border-radius: 9999px;
  margin-left: 0.375rem;
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}

/* line 612, app/assets/stylesheets/_unified_elections.scss */
.bb-finance-badge:hover {
  background: #C4681A;
  color: #FFFFFF;
  text-decoration: none;
}

/* line 623, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-body {
  padding: 0 1.5rem 1rem 2.75rem;
  transition: max-height 0.3s, padding 0.3s, opacity 0.2s;
  overflow: hidden;
}

/* line 629, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-collapsed {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  opacity: 0;
}

/* line 636, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-candidate {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.625rem 0;
  border-bottom: 1px solid #F3F4F6;
}

/* line 643, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-candidate:last-child {
  border-bottom: none;
}

/* line 648, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-candidate.winner .bb-unified-candidate-name {
  color: #1F2933;
}

/* line 654, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-candidate-info {
  flex: 0 0 200px;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 662, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-candidate-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #4B5563;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 671, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-winner-icon {
  color: #1F6B4E;
  font-size: 0.75rem;
  margin-left: 0.25rem;
}

/* line 677, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-advanced-icon {
  color: #1F5C96;
  font-size: 0.75rem;
  margin-left: 0.25rem;
}

/* line 683, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-candidate-results {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 690, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-vote-bar-wrapper {
  flex: 1;
  max-width: 200px;
}

/* line 695, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-vote-bar {
  height: 8px;
  background: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 702, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-vote-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
}

/* line 707, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-vote-fill.bb-party-dem {
  background-color: #1D5E96;
}

/* line 708, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-vote-fill.bb-party-rep {
  background-color: #9B2331;
}

/* line 709, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-vote-fill.bb-party-libertarian {
  background-color: #8A6A06;
}

/* line 710, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-vote-fill.bb-party-green {
  background-color: #1F6B4E;
}

/* line 711, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-vote-fill.bb-party-nonpartisan {
  background-color: #B8BFC7;
}

/* line 714, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-vote-stats {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 721, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-vote-pct {
  font-weight: 600;
  font-size: 0.875rem;
  color: #4B5563;
  min-width: 48px;
  text-align: right;
}

/* line 729, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-vote-count {
  font-size: 0.75rem;
  color: #9CA3AF;
  min-width: 60px;
  text-align: right;
}

/* line 736, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-vote-margin {
  font-size: 0.75rem;
  font-weight: 500;
  min-width: 48px;
  text-align: right;
}

/* line 742, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-vote-margin.bb-unified-vote-margin-positive {
  color: #1F6B4E;
}

/* line 746, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-vote-margin.bb-unified-vote-margin-negative {
  color: #B8BFC7;
}

/* line 751, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-contest-footer {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-top: 0.75rem;
  margin-top: 0.5rem;
}

/* line 759, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-total-votes {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 764, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-threshold {
  font-size: 0.75rem;
  color: #B8BFC7;
}

/* line 770, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-measure-description {
  padding: 0.75rem 1rem;
  background: #F9FAFB;
  border-radius: 6px;
  font-size: 0.875rem;
  color: #4B5563;
  line-height: 1.5;
  margin-bottom: 1rem;
}

/* line 786, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest {
  padding: 1.5rem;
}

/* line 790, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 799, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest-name {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0;
}

/* line 806, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest-votes {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 811, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest-results {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 817, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest-actions {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #F3F4F6;
  display: flex;
  justify-content: flex-end;
}

/* line 825, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-breakdown-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  background: #F9FAFB;
  transition: all 0.15s;
}

/* line 838, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-breakdown-link:hover {
  background: #E4EEF8;
  color: #123B66;
}

/* line 843, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-breakdown-link i {
  font-size: 0.875rem;
}

/* line 849, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-candidate {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.625rem 0;
  border-bottom: 1px solid #F3F4F6;
}

/* line 856, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-candidate:last-child {
  border-bottom: none;
}

/* line 861, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-candidate.winner .bb-hero-candidate-name {
  color: #1F2933;
}

/* line 867, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-candidate-info {
  flex: 0 0 200px;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 875, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-candidate-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #4B5563;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 884, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-winner-icon {
  color: #1F6B4E;
  font-size: 0.75rem;
  margin-left: 0.25rem;
}

/* line 890, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-candidate-results {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 897, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-vote-bar-wrapper {
  flex: 1;
  max-width: 200px;
}

/* line 902, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-vote-bar {
  height: 8px;
  background: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 909, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-vote-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
}

/* line 914, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-vote-fill.bb-party-dem {
  background-color: #1D5E96;
}

/* line 915, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-vote-fill.bb-party-rep {
  background-color: #9B2331;
}

/* line 916, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-vote-fill.bb-party-libertarian {
  background-color: #8A6A06;
}

/* line 917, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-vote-fill.bb-party-green {
  background-color: #1F6B4E;
}

/* line 918, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-vote-fill.bb-party-nonpartisan {
  background-color: #B8BFC7;
}

/* line 921, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-vote-stats {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 928, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-vote-pct {
  font-weight: 600;
  font-size: 0.875rem;
  color: #4B5563;
  min-width: 48px;
  text-align: right;
}

/* line 936, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-vote-count {
  font-size: 0.75rem;
  color: #9CA3AF;
  min-width: 60px;
  text-align: right;
}

@media (max-width: 768px) {
  /* line 945, app/assets/stylesheets/_unified_elections.scss */
  .bb-hero-contest {
    padding: 1rem;
  }
  /* line 949, app/assets/stylesheets/_unified_elections.scss */
  .bb-hero-contest-header {
    flex-direction: column;
    gap: 0.25rem;
    align-items: flex-start;
  }
  /* line 955, app/assets/stylesheets/_unified_elections.scss */
  .bb-hero-contest-name {
    font-size: 1rem;
  }
  /* line 959, app/assets/stylesheets/_unified_elections.scss */
  .bb-hero-candidate {
    flex-wrap: wrap;
  }
  /* line 963, app/assets/stylesheets/_unified_elections.scss */
  .bb-hero-candidate-info {
    flex: 1 1 100%;
  }
  /* line 967, app/assets/stylesheets/_unified_elections.scss */
  .bb-hero-candidate-results {
    flex: 1 1 100%;
  }
  /* line 971, app/assets/stylesheets/_unified_elections.scss */
  .bb-hero-vote-bar-wrapper {
    max-width: none;
  }
}

/* line 982, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative {
  padding: 1.5rem;
}

/* line 986, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-header {
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 992, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-title {
  font-family: 'Inter', sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.25rem 0;
}

/* line 1000, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-meta {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1006, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner {
  margin-bottom: 1.25rem;
}

/* line 1011, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner-headline {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.375rem;
  flex-wrap: wrap;
}

/* line 1019, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-checkmark {
  color: #1F6B4E;
  font-size: 1.25rem;
}

/* line 1024, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner-name {
  font-family: 'Inter', sans-serif;
  font-size: 1.75rem;
  font-weight: 600;
  color: #1F2933;
  line-height: 1.2;
}

/* line 1033, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner-clause {
  display: flex;
  align-items: baseline;
  gap: 0.375rem;
  margin-bottom: 0.25rem;
  flex-wrap: wrap;
}

/* line 1041, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner-pct {
  font-family: 'Inter', sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  color: #323C47;
}

/* line 1048, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner-clause-text {
  font-size: 1rem;
  color: #6B7280;
}

/* line 1053, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner-clause-sep {
  color: #B8BFC7;
}

/* line 1057, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner-margin {
  font-size: 1rem;
  font-weight: 600;
  color: #1F6B4E;
}

/* line 1064, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner-meta {
  margin-bottom: 0.75rem;
}

/* line 1068, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner-votes {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1074, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner-bar {
  height: 6px;
  background: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 1081, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
}

/* line 1086, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner-fill.bb-party-dem {
  background: #1D5E96;
}

/* line 1087, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner-fill.bb-party-rep {
  background: #9B2331;
}

/* line 1088, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner-fill.bb-party-libertarian {
  background: #8A6A06;
}

/* line 1089, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner-fill.bb-party-green {
  background: #1F6B4E;
}

/* line 1090, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-winner-fill.bb-party-nonpartisan {
  background: #9CA3AF;
}

/* line 1094, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-runnerup {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid #F3F4F6;
  flex-wrap: wrap;
}

/* line 1104, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-runnerup-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
}

/* line 1110, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-party-badge--sm {
  font-size: 0.625rem;
  padding: 0.125rem 0.375rem;
}

/* line 1115, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-runnerup-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #4B5563;
}

/* line 1121, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-runnerup-votes {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 1127, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-others {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.75rem;
  font-size: 0.75rem;
  color: #9CA3AF;
  flex-wrap: wrap;
}

/* line 1137, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-others-label {
  font-weight: 500;
}

/* line 1142, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-other-entry::after {
  content: ",";
}

/* line 1143, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-other-entry:last-child::after {
  content: "";
}

/* line 1147, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-actions {
  margin-top: 1.25rem;
  padding-top: 0.75rem;
  border-top: 1px solid #F3F4F6;
}

/* line 1153, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-breakdown-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  background: #F9FAFB;
  transition: all 0.15s;
}

/* line 1166, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-breakdown-link:hover {
  background: #E4EEF8;
  color: #123B66;
}

/* line 1171, app/assets/stylesheets/_unified_elections.scss */
.bb-hero-contest--declarative .bb-hero-breakdown-link i {
  font-size: 0.875rem;
}

@media (max-width: 768px) {
  /* line 982, app/assets/stylesheets/_unified_elections.scss */
  .bb-hero-contest--declarative {
    padding: 1rem;
  }
  /* line 1178, app/assets/stylesheets/_unified_elections.scss */
  .bb-hero-contest--declarative .bb-hero-title {
    font-size: 1rem;
  }
  /* line 1179, app/assets/stylesheets/_unified_elections.scss */
  .bb-hero-contest--declarative .bb-hero-checkmark {
    font-size: 1rem;
  }
  /* line 1180, app/assets/stylesheets/_unified_elections.scss */
  .bb-hero-contest--declarative .bb-hero-winner-name {
    font-size: 1.375rem;
  }
  /* line 1181, app/assets/stylesheets/_unified_elections.scss */
  .bb-hero-contest--declarative .bb-hero-winner-pct {
    font-size: 1rem;
  }
}

/* line 1189, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-footer {
  padding: 1rem 1.5rem;
  border-top: 1px solid #F3F4F6;
  background: #F9FAFB;
}

/* line 1195, app/assets/stylesheets/_unified_elections.scss */
.bb-analysis-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.15s;
}

/* line 1210, app/assets/stylesheets/_unified_elections.scss */
.bb-analysis-link:hover {
  color: #123B66;
  border-color: #4C7FB5;
  background: #F4F7FC;
}

/* line 1216, app/assets/stylesheets/_unified_elections.scss */
.bb-analysis-link i {
  font-size: 0.875rem;
  transition: transform 0.15s;
}

/* line 1221, app/assets/stylesheets/_unified_elections.scss */
.bb-analysis-link:hover i {
  transform: translateX(3px);
}

/* line 1230, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-empty {
  padding: 3rem 1.5rem;
  text-align: center;
  color: #9CA3AF;
}

/* line 1235, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-empty i {
  font-size: 3rem;
  color: #D1D5DB;
  margin-bottom: 1rem;
  display: block;
}

/* line 1242, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-empty h4 {
  font-size: 1.125rem;
  font-weight: 500;
  color: #4B5563;
  margin: 0 0 0.75rem 0;
}

/* line 1249, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-empty p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
}

/* line 1255, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-empty .bb-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.625rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.15s;
  cursor: pointer;
  border: none;
}

/* line 1269, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-empty .bb-btn-primary {
  background: #1F5C96;
  color: #FFFFFF;
}

/* line 1273, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-empty .bb-btn-primary:hover {
  background: #123B66;
}

/* line 1280, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-empty-state {
  padding: 3rem 1.5rem;
  text-align: center;
}

/* line 1285, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-empty-icon {
  font-size: 3rem;
  color: #D1D5DB;
  margin-bottom: 1rem;
}

/* line 1291, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-empty-state h3 {
  font-size: 1.125rem;
  font-weight: 500;
  color: #4B5563;
  margin: 0 0 0.75rem 0;
}

/* line 1298, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-empty-state p {
  color: #9CA3AF;
  max-width: 400px;
  margin: 0 auto 1.5rem;
  font-size: 1rem;
  line-height: 1.5;
}

/* line 1306, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-empty-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}

/* line 1313, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-empty-hint {
  font-size: 0.875rem;
  color: #B8BFC7;
  margin: 0;
}

/* line 1319, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-analysis-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: #1F5C96;
  font-weight: 500;
  text-decoration: none;
  font-size: 0.875rem;
}

/* line 1328, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-analysis-link i {
  transition: transform 0.15s;
}

/* line 1332, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-analysis-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 1336, app/assets/stylesheets/_unified_elections.scss */
.bb-unified-elections-analysis-link:hover i {
  transform: translateX(3px);
}

/* line 1343, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-empty-state {
  padding: 3rem 1.5rem;
  text-align: center;
  color: #6B7280;
}

/* line 1348, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-empty-state > i {
  font-size: 2.5rem;
  color: #D1D5DB;
  margin-bottom: 1rem;
  display: block;
}

/* line 1355, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-empty-state h4 {
  font-size: 1.125rem;
  font-weight: 500;
  color: #4B5563;
  margin: 0 0 0.5rem 0;
}

/* line 1362, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-empty-state p {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0 0 1.25rem 0;
  line-height: 1.5;
}

/* line 1369, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-empty-state .bb-filter-chip {
  display: inline-flex;
}

/* line 1378, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-pinned-section {
  background: linear-gradient(135deg, #F4F7FC 0%, #FFFFFF 100%);
  border-bottom: 2px solid #A3C4E0;
  margin-bottom: 0;
}

/* line 1384, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-pinned-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  font-weight: 500;
  color: #123B66;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* line 1395, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-pinned-header i {
  color: #1F5C96;
}

/* line 1404, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero {
  background: linear-gradient(135deg, #F4F7FC 0%, #FFFFFF 100%);
  border-bottom: 2px solid #A3C4E0;
  padding: 1.25rem 1.5rem;
}

/* line 1410, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

/* line 1417, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
  font-size: 1rem;
  color: #0B2742;
}

/* line 1425, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-title i {
  color: #1F5C96;
}

/* line 1430, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-votes {
  font-size: 0.875rem;
  color: #9CA3AF;
  font-weight: 500;
}

/* line 1436, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-results {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 1442, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-candidate {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.625rem 0;
  border-bottom: 1px solid rgba(163, 196, 224, 0.5);
}

/* line 1449, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-candidate:last-child {
  border-bottom: none;
}

/* line 1454, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-candidate.winner .bb-breakdown-hero-candidate-name {
  color: #1F2933;
}

/* line 1460, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-candidate-info {
  flex: 0 0 220px;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1468, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-candidate-name {
  font-weight: 500;
  font-size: 1rem;
  color: #4B5563;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 1476, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-candidate-name i {
  color: #1F6B4E;
  margin-left: 0.25rem;
}

/* line 1482, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-candidate-results {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 1489, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-vote-bar {
  flex: 1;
  height: 12px;
  background: rgba(229, 231, 235, 0.7);
  border-radius: 9999px;
  overflow: hidden;
  max-width: 250px;
}

/* line 1498, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-vote-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
}

/* line 1503, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-vote-fill.bb-party-dem {
  background-color: #1D5E96;
}

/* line 1504, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-vote-fill.bb-party-rep {
  background-color: #9B2331;
}

/* line 1505, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-vote-fill.bb-party-libertarian {
  background-color: #8A6A06;
}

/* line 1506, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-vote-fill.bb-party-green {
  background-color: #1F6B4E;
}

/* line 1507, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-vote-fill.bb-party-nonpartisan {
  background-color: #B8BFC7;
}

/* line 1510, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-vote-stats {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}

/* line 1517, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-vote-pct {
  font-weight: 700;
  font-size: 1rem;
  color: #323C47;
  min-width: 52px;
  text-align: right;
}

/* line 1525, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-hero-vote-count {
  font-size: 0.875rem;
  color: #9CA3AF;
  min-width: 70px;
  text-align: right;
}

/* line 1536, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-divider {
  display: flex;
  align-items: center;
  padding: 1rem 1.5rem;
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1544, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-divider-text {
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* line 1556, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-coverage {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.125rem 0.5rem;
  border-radius: 4px;
  margin-left: 0.5rem;
}

/* line 1564, app/assets/stylesheets/_unified_elections.scss */
.bb-coverage-full {
  background: #EDF4F0;
  color: #1F6B4E;
}

/* line 1569, app/assets/stylesheets/_unified_elections.scss */
.bb-coverage-partial {
  background: #F3F4F6;
  color: #6B7280;
}

/* line 1578, app/assets/stylesheets/_unified_elections.scss */
.bb-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  color: #1F5C96;
  text-decoration: none;
}

/* line 1586, app/assets/stylesheets/_unified_elections.scss */
.bb-back-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 1591, app/assets/stylesheets/_unified_elections.scss */
.bb-back-link i {
  font-size: 0.75rem;
}

@media (max-width: 768px) {
  /* line 1601, app/assets/stylesheets/_unified_elections.scss */
  .bb-unified-elections-header {
    padding: 1rem;
  }
  /* line 1605, app/assets/stylesheets/_unified_elections.scss */
  .bb-unified-elections-title {
    font-size: 1.125rem;
  }
  /* line 1609, app/assets/stylesheets/_unified_elections.scss */
  .bb-unified-elections-filter-section,
.bb-unified-elections-controls,
.bb-unified-elections-category-header {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  /* line 1617, app/assets/stylesheets/_unified_elections.scss */
  .bb-unified-contest-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
    padding: 0.75rem 1rem;
  }
  /* line 1625, app/assets/stylesheets/_unified_elections.scss */
  .bb-unified-contest-toggle {
    width: 100%;
  }
  /* line 1630, app/assets/stylesheets/_unified_elections.scss */
  .bb-unified-contest-name {
    white-space: normal;
  }
  /* line 1635, app/assets/stylesheets/_unified_elections.scss */
  .bb-segmented-control {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0.25rem;
    margin: 0 -0.25rem;
  }
  /* line 1642, app/assets/stylesheets/_unified_elections.scss */
  .bb-segmented-control::-webkit-scrollbar {
    display: none;
  }
  /* line 1647, app/assets/stylesheets/_unified_elections.scss */
  .bb-segmented-btn {
    flex-shrink: 0;
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
  }
  /* line 1654, app/assets/stylesheets/_unified_elections.scss */
  .bb-unified-elections-scope-tabs {
    flex-wrap: nowrap;
  }
  /* line 1658, app/assets/stylesheets/_unified_elections.scss */
  .bb-scope-tab {
    flex: 1;
    justify-content: center;
    padding: 0.75rem 0.5rem;
    font-size: 0.75rem;
  }
  /* line 1664, app/assets/stylesheets/_unified_elections.scss */
  .bb-scope-tab span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 120px;
  }
  /* line 1672, app/assets/stylesheets/_unified_elections.scss */
  .bb-unified-contest-body {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  /* line 1677, app/assets/stylesheets/_unified_elections.scss */
  .bb-unified-candidate {
    flex-wrap: wrap;
  }
  /* line 1681, app/assets/stylesheets/_unified_elections.scss */
  .bb-unified-candidate-info {
    flex: 1 1 100%;
  }
  /* line 1685, app/assets/stylesheets/_unified_elections.scss */
  .bb-unified-candidate-results {
    flex: 1 1 100%;
  }
  /* line 1689, app/assets/stylesheets/_unified_elections.scss */
  .bb-unified-vote-bar-wrapper {
    max-width: none;
  }
  /* line 1693, app/assets/stylesheets/_unified_elections.scss */
  .bb-unified-contest-preview {
    flex-wrap: wrap;
    gap: 0.5rem;
    width: 100%;
    justify-content: flex-start;
    padding-left: 1.25rem;
  }
  /* line 1701, app/assets/stylesheets/_unified_elections.scss */
  .bb-unified-breakdown-link {
    order: 3;
    width: 100%;
    justify-content: center;
    margin-top: 0.25rem;
  }
  /* line 1709, app/assets/stylesheets/_unified_elections.scss */
  .bb-breakdown-hero {
    padding: 1rem;
  }
  /* line 1713, app/assets/stylesheets/_unified_elections.scss */
  .bb-breakdown-hero-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 1719, app/assets/stylesheets/_unified_elections.scss */
  .bb-breakdown-hero-candidate {
    flex-wrap: wrap;
  }
  /* line 1723, app/assets/stylesheets/_unified_elections.scss */
  .bb-breakdown-hero-candidate-info {
    flex: 1 1 100%;
  }
  /* line 1727, app/assets/stylesheets/_unified_elections.scss */
  .bb-breakdown-hero-candidate-results {
    flex: 1 1 100%;
  }
  /* line 1731, app/assets/stylesheets/_unified_elections.scss */
  .bb-breakdown-hero-vote-bar {
    max-width: none;
  }
  /* line 1735, app/assets/stylesheets/_unified_elections.scss */
  .bb-breakdown-divider {
    padding: 0.75rem 1rem;
  }
}

/* line 1746, app/assets/stylesheets/_unified_elections.scss */
.bb-breakdown-category-header {
  padding: 0.625rem 1.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #F3F4F6;
}

@media (max-width: 768px) {
  /* line 1746, app/assets/stylesheets/_unified_elections.scss */
  .bb-breakdown-category-header {
    padding: 0.5rem 1rem;
  }
}

/* line 8, app/assets/stylesheets/_elections.scss */
.bb-chip {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.15s ease;
  white-space: nowrap;
}

/* line 18, app/assets/stylesheets/_elections.scss */
.bb-chip-outline {
  background-color: transparent;
  border: 1px solid var(--blue-grey-300);
  color: var(--light-blue-vivid-600);
}

/* line 23, app/assets/stylesheets/_elections.scss */
.bb-chip-outline:hover {
  background-color: var(--light-blue-vivid-600);
  border-color: var(--light-blue-vivid-600);
  color: white;
}

/* line 30, app/assets/stylesheets/_elections.scss */
.bb-button-feed {
  padding: 0.5rem 1rem;
  font-size: 0.85rem;
  border-radius: 20px;
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-700);
  border: none;
  transition: all 0.15s ease;
}

/* line 39, app/assets/stylesheets/_elections.scss */
.bb-button-feed:hover {
  background-color: var(--blue-grey-200);
  color: var(--blue-grey-900);
}

/* line 45, app/assets/stylesheets/_elections.scss */
.bb-button-primary {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  border-radius: 6px;
  background-color: var(--light-blue-vivid-600);
  color: white;
  border: none;
  transition: all 0.15s ease;
}

/* line 54, app/assets/stylesheets/_elections.scss */
.bb-button-primary:hover {
  background-color: var(--light-blue-vivid-700);
  color: white;
}

/* line 60, app/assets/stylesheets/_elections.scss */
.bb-button-secondary {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  border-radius: 6px;
  background-color: var(--blue-grey-200);
  color: var(--blue-grey-700);
  border: none;
  transition: all 0.15s ease;
}

/* line 69, app/assets/stylesheets/_elections.scss */
.bb-button-secondary:hover {
  background-color: var(--blue-grey-300);
  color: var(--blue-grey-900);
}

/* line 77, app/assets/stylesheets/_elections.scss */
.election-kpi-row .bb-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* line 82, app/assets/stylesheets/_elections.scss */
.election-kpi-row .bb-card .bb-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* line 91, app/assets/stylesheets/_elections.scss */
.election-kpi-row .candidate-count-kpi {
  padding: 0.75rem;
}

/* line 94, app/assets/stylesheets/_elections.scss */
.election-kpi-row .candidate-count-kpi .bb-card-body {
  padding: 0.5rem !important;
}

/* line 101, app/assets/stylesheets/_elections.scss */
.candidate-finance-card {
  transition: background-color 0.15s ease;
}

/* line 104, app/assets/stylesheets/_elections.scss */
.candidate-finance-card:hover {
  background-color: var(--blue-grey-025);
}

/* line 109, app/assets/stylesheets/_elections.scss */
.recent-activity-body {
  padding: 1.25rem;
}

/* line 113, app/assets/stylesheets/_elections.scss */
.recent-activity-feed {
  display: flex;
  flex-direction: column;
  max-height: 360px;
  overflow-y: auto;
  padding-right: 0.35rem;
}

/* line 121, app/assets/stylesheets/_elections.scss */
.recent-activity-feed::-webkit-scrollbar {
  width: 6px;
}

/* line 125, app/assets/stylesheets/_elections.scss */
.recent-activity-feed::-webkit-scrollbar-thumb {
  background-color: var(--blue-grey-200);
  border-radius: 999px;
}

/* line 130, app/assets/stylesheets/_elections.scss */
.recent-activity-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

/* line 137, app/assets/stylesheets/_elections.scss */
.recent-activity-row:last-child {
  border-bottom: none;
}

/* line 141, app/assets/stylesheets/_elections.scss */
.recent-activity-row.d-none {
  display: none !important;
}

/* line 146, app/assets/stylesheets/_elections.scss */
.recent-activity-left {
  flex: 1;
  min-width: 0;
  gap: 0.75rem;
}

/* line 152, app/assets/stylesheets/_elections.scss */
.recent-activity-details {
  min-width: 0;
}

/* line 156, app/assets/stylesheets/_elections.scss */
.recent-activity-entities {
  font-size: 0.9rem;
  color: var(--blue-grey-800);
}

/* line 161, app/assets/stylesheets/_elections.scss */
.recent-activity-link {
  color: var(--blue-grey-800);
  text-decoration: none;
}

/* line 165, app/assets/stylesheets/_elections.scss */
.recent-activity-link:hover {
  color: var(--light-blue-vivid-600);
}

/* line 170, app/assets/stylesheets/_elections.scss */
.recent-activity-arrow {
  margin: 0 0.35rem;
  color: var(--blue-grey-400);
}

/* line 175, app/assets/stylesheets/_elections.scss */
.recent-activity-meta {
  font-size: 0.8rem;
  color: var(--blue-grey-600);
  margin-top: 0.2rem;
}

/* line 181, app/assets/stylesheets/_elections.scss */
.recent-activity-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
}

/* line 190, app/assets/stylesheets/_elections.scss */
.recent-activity-icon.icon-ie {
  background-color: var(--teal-050);
  color: var(--teal-700);
  box-shadow: inset 0 0 0 1px rgba(0, 128, 96, 0.1);
}

/* line 196, app/assets/stylesheets/_elections.scss */
.recent-activity-icon.icon-late {
  background-color: var(--blue-grey-075, var(--blue-grey-050));
  color: var(--blue-grey-800);
  box-shadow: inset 0 0 0 1px rgba(71, 85, 105, 0.08);
}

/* line 203, app/assets/stylesheets/_elections.scss */
.recent-activity-badge {
  font-size: 0.65rem;
  border-radius: 999px;
  padding: 0.15rem 0.5rem;
}

/* line 208, app/assets/stylesheets/_elections.scss */
.recent-activity-badge.support {
  background-color: var(--teal-600);
  color: white;
}

/* line 213, app/assets/stylesheets/_elections.scss */
.recent-activity-badge.oppose {
  background-color: var(--red-vivid-600);
  color: white;
}

/* line 218, app/assets/stylesheets/_elections.scss */
.recent-activity-badge.late-pill {
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-700);
}

/* line 224, app/assets/stylesheets/_elections.scss */
.recent-activity-position-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  font-size: 0.6rem;
  font-weight: 700;
  color: white;
  vertical-align: middle;
  margin-right: 0.25rem;
  flex-shrink: 0;
}

/* line 238, app/assets/stylesheets/_elections.scss */
.recent-activity-position-inline.support {
  background-color: var(--teal-600);
}

/* line 242, app/assets/stylesheets/_elections.scss */
.recent-activity-position-inline.oppose {
  background-color: var(--red-vivid-600);
}

/* line 247, app/assets/stylesheets/_elections.scss */
.recent-activity-location {
  font-size: 0.85rem;
}

/* line 251, app/assets/stylesheets/_elections.scss */
.recent-activity-description {
  font-style: italic;
  color: var(--blue-grey-600);
}

/* line 256, app/assets/stylesheets/_elections.scss */
.recent-activity-right {
  min-width: 160px;
}

/* line 260, app/assets/stylesheets/_elections.scss */
.recent-activity-amount {
  font-weight: 600;
  color: var(--blue-grey-900);
  font-size: 0.95rem;
}

/* line 266, app/assets/stylesheets/_elections.scss */
.recent-activity-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: flex-end;
  color: var(--blue-grey-500);
  font-size: 0.75rem;
}

/* line 275, app/assets/stylesheets/_elections.scss */
.recent-activity-pdf {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-700);
  text-decoration: none;
}

/* line 286, app/assets/stylesheets/_elections.scss */
.recent-activity-pdf:hover {
  background-color: var(--blue-grey-200);
  color: var(--blue-grey-900);
}

/* line 292, app/assets/stylesheets/_elections.scss */
.recent-activity-date {
  color: var(--blue-grey-500);
}

/* line 296, app/assets/stylesheets/_elections.scss */
.recent-activity-empty {
  padding: 2rem 0 1rem;
}

/* line 300, app/assets/stylesheets/_elections.scss */
.recent-activity-empty-icon {
  font-size: 2rem;
  color: var(--blue-grey-300);
  display: block;
  margin-bottom: 0.5rem;
}

@media (max-width: 575.98px) {
  /* line 308, app/assets/stylesheets/_elections.scss */
  .recent-activity-body {
    padding: 0.75rem;
  }
  /* line 312, app/assets/stylesheets/_elections.scss */
  .recent-activity-row {
    gap: 0.5rem;
  }
  /* line 316, app/assets/stylesheets/_elections.scss */
  .recent-activity-icon {
    display: none;
  }
  /* line 320, app/assets/stylesheets/_elections.scss */
  .recent-activity-entities {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }
  /* line 326, app/assets/stylesheets/_elections.scss */
  .recent-activity-right {
    min-width: auto;
  }
}

/* line 334, app/assets/stylesheets/_elections.scss */
.ie-beneficiary-list li:last-child {
  border-bottom: none !important;
}

/* line 342, app/assets/stylesheets/_elections.scss */
.ie-feed .ie-feed-item {
  transition: background-color 0.15s ease;
}

/* line 345, app/assets/stylesheets/_elections.scss */
.ie-feed .ie-feed-item:hover {
  background-color: var(--blue-grey-025);
}

/* line 353, app/assets/stylesheets/_elections.scss */
.expenditure-row:hover {
  background-color: var(--blue-grey-050) !important;
}

/* line 357, app/assets/stylesheets/_elections.scss */
.expenditure-row .expand-icon {
  transition: transform 0.2s ease;
}

/* line 361, app/assets/stylesheets/_elections.scss */
.expenditure-row[aria-expanded="true"] .expand-icon {
  transform: rotate(90deg);
}

/* line 367, app/assets/stylesheets/_elections.scss */
.election-header-button {
  transition: all 0.15s ease;
}

/* line 370, app/assets/stylesheets/_elections.scss */
.election-header-button:hover {
  background-color: var(--blue-grey-050) !important;
  border-color: var(--blue-grey-400) !important;
  color: var(--blue-grey-900) !important;
}

/* line 376, app/assets/stylesheets/_elections.scss */
.election-header-button:active {
  background-color: var(--blue-grey-100) !important;
}

/* line 396, app/assets/stylesheets/_elections.scss */
.bb-election-results-card {
  background: white;
  border: 1px solid var(--blue-grey-200);
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 403, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 412, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-title {
  font-weight: 500;
  color: var(--blue-grey-900);
  font-size: 1rem;
  margin: 0;
}

/* line 419, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-meta {
  font-size: 0.75rem;
  color: var(--blue-grey-500);
}

/* line 424, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-body {
  padding: 0;
}

/* line 428, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-footer {
  padding: 0.75rem 1.25rem;
  background-color: var(--blue-grey-050);
  border-top: 1px solid var(--blue-grey-200);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 436, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-footer .bb-election-results-turnout {
  font-size: 0.875rem;
  color: var(--blue-grey-700);
}

/* line 440, app/assets/stylesheets/_elections.scss */
.bb-election-results-card .bb-election-results-footer .bb-election-results-turnout strong {
  color: var(--blue-grey-900);
}

/* line 448, app/assets/stylesheets/_elections.scss */
.bb-candidate-row {
  display: flex;
  align-items: center;
  padding: 0.875rem 1.25rem;
  gap: 1rem;
  border-bottom: 1px solid var(--blue-grey-100);
  transition: background-color 0.15s ease;
}

/* line 456, app/assets/stylesheets/_elections.scss */
.bb-candidate-row:last-child {
  border-bottom: none;
}

/* line 460, app/assets/stylesheets/_elections.scss */
.bb-candidate-row:hover {
  background-color: var(--blue-grey-050);
}

/* line 465, app/assets/stylesheets/_elections.scss */
.bb-candidate-row.winner {
  background-color: rgba(34, 139, 87, 0.06);
}

/* line 468, app/assets/stylesheets/_elections.scss */
.bb-candidate-row.winner:hover {
  background-color: rgba(34, 139, 87, 0.1);
}

/* line 474, app/assets/stylesheets/_elections.scss */
.bb-candidate-row.runoff {
  background-color: rgba(19, 117, 183, 0.04);
}

/* line 477, app/assets/stylesheets/_elections.scss */
.bb-candidate-row.runoff:hover {
  background-color: rgba(19, 117, 183, 0.08);
}

/* line 484, app/assets/stylesheets/_elections.scss */
.bb-candidate-info {
  flex: 0 0 220px;
  min-width: 0;
}

@media (max-width: 767px) {
  /* line 484, app/assets/stylesheets/_elections.scss */
  .bb-candidate-info {
    flex: 1;
    min-width: 0;
  }
}

/* line 493, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-name {
  font-weight: 500;
  color: var(--blue-grey-900);
  font-size: 0.875rem;
  line-height: 1.3;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-wrap: wrap;
}

/* line 503, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-name a {
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 507, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-name a:hover {
  text-decoration: underline;
}

/* line 513, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-name .bb-winner-icon {
  color: var(--teal-500);
  font-size: 0.875rem;
}

/* line 519, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-name .bb-runoff-icon {
  color: var(--light-blue-vivid-600);
  font-size: 0.875rem;
}

/* line 525, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
  flex-wrap: wrap;
}

/* line 533, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-committee {
  font-size: 0.8125rem;
  margin-top: 0.375rem;
}

/* line 537, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-committee .bb-committee-label {
  color: var(--blue-grey-500);
}

/* line 541, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-committee a {
  color: var(--light-blue-vivid-600);
  text-decoration: none;
}

/* line 545, app/assets/stylesheets/_elections.scss */
.bb-candidate-info .bb-candidate-committee a:hover {
  text-decoration: underline;
}

/* line 553, app/assets/stylesheets/_elections.scss */
.bb-party-badge {
  font-size: 0.6875rem;
  font-weight: 500;
  padding: 0.125rem 0.5rem;
  border-radius: 999px;
}

/* line 559, app/assets/stylesheets/_elections.scss */
.bb-party-badge.bb-party-dem {
  background-color: #EDF3F8;
  color: #1D5E96;
}

/* line 564, app/assets/stylesheets/_elections.scss */
.bb-party-badge.bb-party-rep {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 569, app/assets/stylesheets/_elections.scss */
.bb-party-badge.bb-party-nonpartisan {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 574, app/assets/stylesheets/_elections.scss */
.bb-party-badge.bb-party-green {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 579, app/assets/stylesheets/_elections.scss */
.bb-party-badge.bb-party-libertarian {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 586, app/assets/stylesheets/_elections.scss */
.bb-incumbent-badge {
  font-size: 0.65rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 0.125rem 0.375rem;
  border-radius: 3px;
  background-color: var(--blue-grey-500);
  color: white;
}

/* line 598, app/assets/stylesheets/_elections.scss */
.bb-write-in-badge {
  font-size: 0.65rem;
  font-weight: 500;
  padding: 0.125rem 0.375rem;
  border-radius: 3px;
  background-color: var(--cyan-500);
  color: white;
}

/* line 608, app/assets/stylesheets/_elections.scss */
.bb-candidate-results {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
}

@media (max-width: 767px) {
  /* line 608, app/assets/stylesheets/_elections.scss */
  .bb-candidate-results {
    display: none;
  }
}

/* line 621, app/assets/stylesheets/_elections.scss */
.bb-vote-count {
  flex: 0 0 80px;
  text-align: right;
  font-size: 0.875rem;
  color: var(--blue-grey-700);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

/* line 631, app/assets/stylesheets/_elections.scss */
.bb-vote-bar-wrapper {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 639, app/assets/stylesheets/_elections.scss */
.bb-vote-bar {
  flex: 1;
  height: 8px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 647, app/assets/stylesheets/_elections.scss */
.bb-vote-bar-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.4s ease;
  min-width: 2px;
  opacity: 0.7;
}

/* line 656, app/assets/stylesheets/_elections.scss */
.bb-vote-percentage,
.bb-vote-percentage-outside {
  font-size: 0.75rem;
  font-weight: 600;
  color: #4B5563;
  white-space: nowrap;
  min-width: 3rem;
  text-align: right;
}

/* line 667, app/assets/stylesheets/_elections.scss */
.bb-mobile-vote-info {
  display: none;
  font-size: 0.8125rem;
  color: var(--blue-grey-500);
  margin-top: 0.25rem;
}

@media (max-width: 767px) {
  /* line 667, app/assets/stylesheets/_elections.scss */
  .bb-mobile-vote-info {
    display: block;
  }
}

/* line 684, app/assets/stylesheets/_elections.scss */
.election-header {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 1.5rem;
}

/* line 692, app/assets/stylesheets/_elections.scss */
.election-header-inner {
  padding: 1.5rem;
}

@media (max-width: 768px) {
  /* line 692, app/assets/stylesheets/_elections.scss */
  .election-header-inner {
    padding: 1.25rem 1rem;
  }
}

/* line 700, app/assets/stylesheets/_elections.scss */
.election-header-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5rem;
}

@media (max-width: 768px) {
  /* line 700, app/assets/stylesheets/_elections.scss */
  .election-header-content {
    flex-direction: column;
    gap: 1rem;
  }
}

/* line 712, app/assets/stylesheets/_elections.scss */
.election-header-main {
  flex: 1;
  min-width: 0;
}

/* line 717, app/assets/stylesheets/_elections.scss */
.election-header-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 725, app/assets/stylesheets/_elections.scss */
.election-header-type {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border-radius: 4px;
}

/* line 735, app/assets/stylesheets/_elections.scss */
.election-header-type.type-general {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 740, app/assets/stylesheets/_elections.scss */
.election-header-type.type-primary {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 745, app/assets/stylesheets/_elections.scss */
.election-header-type.type-special {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 750, app/assets/stylesheets/_elections.scss */
.election-header-type.type-runoff {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 756, app/assets/stylesheets/_elections.scss */
.election-header-date {
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 761, app/assets/stylesheets/_elections.scss */
.election-header-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.75rem 0;
  line-height: 1.2;
}

@media (max-width: 768px) {
  /* line 761, app/assets/stylesheets/_elections.scss */
  .election-header-name {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
}

/* line 775, app/assets/stylesheets/_elections.scss */
.election-header-incumbent {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background-color: #F9FAFB;
  border-radius: 6px;
  border: 1px solid #E5E7EB;
}

/* line 785, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 790, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 795, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-name a {
  color: inherit;
  text-decoration: none;
}

/* line 799, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-name a:hover {
  color: #1F5C96;
  text-decoration: underline;
}

/* line 806, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-name.party-democrat a {
  color: #123B66;
}

/* line 809, app/assets/stylesheets/_elections.scss */
.election-header-incumbent-name.party-republican a {
  color: #9B2331;
}

/* line 815, app/assets/stylesheets/_elections.scss */
.election-header-nav {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  /* line 815, app/assets/stylesheets/_elections.scss */
  .election-header-nav {
    margin-top: 1.25rem;
  }
}

/* line 827, app/assets/stylesheets/_elections.scss */
.election-header-nav-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 834, app/assets/stylesheets/_elections.scss */
.election-header-nav-links {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 841, app/assets/stylesheets/_elections.scss */
.election-header-nav-link {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  color: #4B5563;
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 853, app/assets/stylesheets/_elections.scss */
.election-header-nav-link:hover {
  background-color: #F3F4F6;
  border-color: #D1D5DB;
  color: #1F2933;
}

/* line 859, app/assets/stylesheets/_elections.scss */
.election-header-nav-link.is-active {
  background-color: #E4EEF8;
  border-color: #4C7FB5;
  color: #123B66;
  font-weight: 500;
}

/* line 868, app/assets/stylesheets/_elections.scss */
.election-header-actions {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  align-items: flex-start;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  /* line 868, app/assets/stylesheets/_elections.scss */
  .election-header-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

/* line 881, app/assets/stylesheets/_elections.scss */
.election-header-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 896, app/assets/stylesheets/_elections.scss */
.election-header-action-btn:hover {
  background-color: #F9FAFB;
  border-color: #B8BFC7;
  color: #1F2933;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* line 903, app/assets/stylesheets/_elections.scss */
.election-header-action-btn:active {
  transform: translateY(1px);
  background-color: #F3F4F6;
  box-shadow: none;
}

/* line 909, app/assets/stylesheets/_elections.scss */
.election-header-action-btn i {
  font-size: 0.875rem;
}

/* line 913, app/assets/stylesheets/_elections.scss */
.election-header-action-btn.is-following {
  background-color: #F4F7FC;
  border-color: #A3C4E0;
  color: #123B66;
}

/* line 918, app/assets/stylesheets/_elections.scss */
.election-header-action-btn.is-following i {
  color: #1F5C96;
}

/* line 922, app/assets/stylesheets/_elections.scss */
.election-header-action-btn.is-following:hover {
  background-color: #E4EEF8;
  border-color: #4C7FB5;
  box-shadow: 0 1px 3px rgba(31, 92, 150, 0.1);
}

/* line 928, app/assets/stylesheets/_elections.scss */
.election-header-action-btn.is-following:active {
  transform: translateY(1px);
  background-color: #A3C4E0;
  box-shadow: none;
}

/* line 937, app/assets/stylesheets/_elections.scss */
.election-header-description {
  margin-top: 1rem;
  padding: 1rem;
  background-color: #F9FAFB;
  border-radius: 6px;
  border: 1px solid #E5E7EB;
  font-size: 0.875rem;
  color: #4B5563;
  line-height: 1.5;
}

/* line 949, app/assets/stylesheets/_elections.scss */
.bb-prop-description-cell {
  max-width: 400px;
  white-space: normal;
}

/* line 954, app/assets/stylesheets/_elections.scss */
.bb-prop-description-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.4;
  word-break: break-word;
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 18, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 1.5rem;
}

/* line 30, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-header {
  padding: 1.5rem;
  border-bottom: 1px solid #E5E7EB;
  background: #FFFFFF;
}

/* line 36, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-nav {
  margin-bottom: 1rem;
}

/* line 40, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-back {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  color: #1F5C96;
  text-decoration: none;
}

/* line 48, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-back:hover {
  color: #123B66;
}

/* line 52, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-back i {
  font-size: 0.75rem;
}

/* line 57, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-title-section {
  margin-bottom: 1rem;
}

/* line 61, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #323C47;
  margin: 0 0 0.25rem 0;
}

/* line 68, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

/* line 75, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-explainer p {
  font-size: 0.875rem;
  color: #6B7280;
  margin: 0;
  line-height: 1.5;
}

/* line 83, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-notice {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  background: #F4F7FC;
  border-radius: 6px;
  border-left: 3px solid #3A7AB8;
}

/* line 92, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-notice > i {
  color: #1F5C96;
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: 0.125rem;
}

/* line 99, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-notice p {
  margin: 0;
  color: #4B5563;
}

/* line 109, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-filters {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #F3F4F6;
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 118, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-filter-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 125, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-filter-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  min-width: 3rem;
}

/* line 132, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-filter-chips {
  display: flex;
  gap: 0.375rem;
  flex-wrap: wrap;
}

/* line 138, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  background: #F3F4F6;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s;
}

/* line 153, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-chip:hover:not(.active):not(.disabled) {
  background: #E5E7EB;
  color: #4B5563;
}

/* line 158, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-chip.active {
  background: #4B5563;
  color: #FFFFFF;
  border-color: #4B5563;
}

/* line 164, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-chip.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* line 174, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-mode-hinge {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1.5rem;
  border-bottom: 1px solid #F3F4F6;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 184, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-mode-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #B8BFC7;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* line 192, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-mode-alt {
  font-size: 0.875rem;
  color: #1F5C96;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 200, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-mode-alt:hover {
  color: #123B66;
}

/* line 204, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-mode-alt i {
  font-size: 0.75rem;
  transition: transform 0.15s ease;
}

/* line 209, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-mode-alt:hover i {
  transform: translateX(-2px);
}

@media (max-width: 767px) {
  /* line 215, app/assets/stylesheets/_district_analysis.scss */
  .bb-district-analysis-mode-hinge {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
    padding: 0.5rem 1rem;
  }
}

/* line 227, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1.5rem;
  border-bottom: 1px solid #F3F4F6;
  background: #FFFFFF;
}

/* line 236, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-summary-count {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 241, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-summary-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 247, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-action-btn {
  background: none;
  border: none;
  font-size: 0.875rem;
  color: #1F5C96;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
}

/* line 255, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-action-btn:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 261, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-action-separator {
  color: #D1D5DB;
  font-size: 0.875rem;
}

/* line 270, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-body {
  padding: 0;
}

/* line 274, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-section {
  border-bottom: 1px solid #E5E7EB;
}

/* line 277, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-section:last-child {
  border-bottom: none;
}

/* line 282, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-section-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1.5rem;
  background: #F3F4F6;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* line 295, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-section-title {
  flex: 1;
}

/* line 299, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-section-count {
  background: #E5E7EB;
  color: #6B7280;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
}

/* line 312, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-table {
  padding: 0;
}

/* line 316, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row {
  border-bottom: 1px solid #F3F4F6;
  overflow: hidden;
}

/* line 320, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row:last-child {
  border-bottom: none;
}

/* line 325, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-header {
  display: grid;
  grid-template-columns: 24px 1fr auto auto auto auto;
  gap: 1rem;
  align-items: center;
  padding: 0.75rem 1.5rem;
  cursor: pointer;
  transition: background-color 0.1s;
}

/* line 334, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-header:hover {
  background: #F9FAFB;
}

/* line 339, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-measure {
  grid-template-columns: 24px 1fr auto auto auto auto;
}

/* line 343, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-icon {
  color: #B8BFC7;
  font-size: 0.875rem;
  transition: transform 0.15s;
}

/* line 349, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #323C47;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 359, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-name-group {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}

/* line 365, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-name-group .bb-district-analysis-row-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 372, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-description {
  font-size: 0.75rem;
  font-weight: 400;
  color: #9CA3AF;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 381, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-coverage {
  font-size: 0.75rem;
  font-weight: 400;
  color: #B8BFC7;
  white-space: nowrap;
}

/* line 390, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis .bb-unified-measure-description {
  display: none;
}

@media (max-width: 768px) {
  /* line 390, app/assets/stylesheets/_district_analysis.scss */
  .bb-district-analysis .bb-unified-measure-description {
    display: block;
  }
}

/* line 398, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-winner {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  white-space: nowrap;
  background: #F3F4F6;
  color: #4B5563;
}

/* line 409, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-winner.bb-party-dem {
  background: rgba(29, 94, 150, 0.12);
  color: #1D5E96;
}

/* line 413, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-winner.bb-party-rep {
  background: rgba(155, 35, 49, 0.12);
  color: #9B2331;
}

/* line 417, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-winner.bb-party-libertarian {
  background: rgba(138, 106, 6, 0.12);
  color: #8A6A06;
}

/* line 421, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-winner.bb-party-green {
  background: rgba(31, 107, 78, 0.12);
  color: #1F6B4E;
}

/* line 425, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-winner.bb-party-nonpartisan {
  background: #F3F4F6;
  color: #6B7280;
}

/* line 431, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-pct {
  font-size: 0.875rem;
  color: #9CA3AF;
  text-align: right;
  min-width: 60px;
  white-space: nowrap;
}

/* line 439, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-margin {
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F6B4E;
  text-align: right;
  min-width: 50px;
  white-space: nowrap;
}

/* line 447, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-margin.positive {
  color: #1F6B4E;
}

/* line 451, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-margin.negative {
  color: #9B2331;
}

/* line 456, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-measure-result {
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  text-transform: uppercase;
}

/* line 463, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-measure-result.passed {
  background: #EDF4F0;
  color: #1F6B4E;
}

/* line 468, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-measure-result.failed {
  background: #F8F0F1;
  color: #9B2331;
}

/* line 474, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-breakdown-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  background: #F3F4F6;
  transition: all 0.15s;
}

/* line 487, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-breakdown-link:hover {
  background: #E4EEF8;
  color: #123B66;
}

/* line 492, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-breakdown-link i {
  font-size: 0.625rem;
}

/* line 502, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-body {
  padding: 0.5rem 1.5rem 1rem calc(1.5rem + 24px + 1rem);
  transition: max-height 0.2s, padding 0.2s, opacity 0.15s;
  overflow: hidden;
}

/* line 510, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-body--aggregate {
  padding-right: calc(1.5rem + 16px);
}

/* line 515, app/assets/stylesheets/_district_analysis.scss */
.bb-statewide-contest-collapsed {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  opacity: 0;
}

/* line 522, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate {
  display: grid;
  grid-template-columns: minmax(0, 180px) minmax(0, 1fr) minmax(0, 60px) minmax(0, 50px) minmax(0, 80px);
  gap: 0.75rem;
  align-items: center;
  padding: 0.375rem 0;
  border-bottom: 1px solid #F3F4F6;
  max-width: 100%;
}

/* line 531, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate:last-child {
  border-bottom: none;
}

/* line 536, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate-name {
  font-size: 0.875rem;
  color: #4B5563;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 544, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate-bar {
  height: 6px;
  background: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 551, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate-fill {
  height: 100%;
  background: #B8BFC7;
  border-radius: 9999px;
  transition: width 0.2s;
}

/* line 557, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate-fill.bb-party-dem {
  background: #1D5E96;
}

/* line 558, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate-fill.bb-party-rep {
  background: #9B2331;
}

/* line 559, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate-fill.bb-party-libertarian {
  background: #8A6A06;
}

/* line 560, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate-fill.bb-party-green {
  background: #1F6B4E;
}

/* line 561, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate-fill.bb-party-nonpartisan {
  background: #B8BFC7;
}

/* line 562, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate-fill.bb-measure-yes {
  background: #1F6B4E;
}

/* line 563, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate-fill.bb-measure-no {
  background: #9B2331;
}

/* line 566, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate-pct {
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  text-align: right;
}

/* line 573, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate-votes {
  font-size: 0.75rem;
  color: #9CA3AF;
  text-align: right;
}

/* line 579, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate-margin {
  font-size: 0.75rem;
  font-weight: 500;
  text-align: right;
  min-width: 50px;
}

/* line 585, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate-margin.positive {
  color: #1F6B4E;
}

/* line 589, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-candidate-margin.negative {
  color: #B8BFC7;
}

/* line 594, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-row-footer {
  padding-top: 0.5rem;
  margin-top: 0.25rem;
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 605, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-empty {
  padding: 3rem 1.5rem;
  text-align: center;
  color: #9CA3AF;
}

/* line 610, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-empty i {
  font-size: 2.5rem;
  color: #D1D5DB;
  margin-bottom: 1rem;
  display: block;
}

/* line 617, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-empty p {
  margin: 0;
  font-size: 0.875rem;
}

@media (max-width: 768px) {
  /* line 628, app/assets/stylesheets/_district_analysis.scss */
  .bb-district-analysis-header {
    padding: 1rem;
  }
  /* line 632, app/assets/stylesheets/_district_analysis.scss */
  .bb-district-analysis-title {
    font-size: 1.125rem;
  }
  /* line 636, app/assets/stylesheets/_district_analysis.scss */
  .bb-district-analysis-filters {
    padding: 0.75rem 1rem;
  }
  /* line 640, app/assets/stylesheets/_district_analysis.scss */
  .bb-district-analysis-filter-chips {
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  /* line 646, app/assets/stylesheets/_district_analysis.scss */
  .bb-district-analysis-chip {
    flex-shrink: 0;
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
  }
  /* line 652, app/assets/stylesheets/_district_analysis.scss */
  .bb-district-analysis-summary,
.bb-district-analysis-section-header {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  /* line 658, app/assets/stylesheets/_district_analysis.scss */
  .bb-district-analysis-row-header {
    grid-template-columns: 20px 1fr auto auto;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
  }
  /* line 665, app/assets/stylesheets/_district_analysis.scss */
  .bb-district-analysis-row-measure {
    grid-template-columns: 20px 1fr auto auto auto;
  }
  /* line 669, app/assets/stylesheets/_district_analysis.scss */
  .bb-district-analysis-row-margin {
    font-size: 0.75rem;
    min-width: 40px;
  }
  /* line 674, app/assets/stylesheets/_district_analysis.scss */
  .bb-district-analysis-row-winner,
.bb-district-analysis-breakdown-link {
    display: none;
  }
  /* line 679, app/assets/stylesheets/_district_analysis.scss */
  .bb-district-analysis-row-body {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  /* line 684, app/assets/stylesheets/_district_analysis.scss */
  .bb-district-analysis-candidate {
    grid-template-columns: 1fr auto auto auto;
    gap: 0.5rem;
  }
  /* line 689, app/assets/stylesheets/_district_analysis.scss */
  .bb-district-analysis-candidate-bar {
    display: none;
  }
}

/* line 698, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-race-count {
  font-size: 0.75rem;
  font-weight: 400;
  color: #9CA3AF;
  margin-left: 0.25rem;
}

/* line 705, app/assets/stylesheets/_district_analysis.scss */
.bb-district-analysis-excluded-note {
  display: block;
  margin-top: 0.5rem;
  font-style: italic;
  color: #B8BFC7;
}

/* line 11, app/assets/stylesheets/components/_campaign_finance.scss */
.ie-cycle-nav .ie-cycle-active,
.ie-cycle-nav .ie-cycle-inactive {
  transition: all 0.15s ease;
  font-size: 0.875rem;
  padding: 0.375rem 0.875rem;
  border-radius: 6px;
}

/* line 18, app/assets/stylesheets/components/_campaign_finance.scss */
.ie-cycle-nav .ie-cycle-active:hover,
.ie-cycle-nav .ie-cycle-inactive:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* line 26, app/assets/stylesheets/components/_campaign_finance.scss */
.ie-tab-link {
  text-decoration: none;
  transition: all 0.15s ease;
  font-size: 0.95rem;
}

/* line 31, app/assets/stylesheets/components/_campaign_finance.scss */
.ie-tab-link:hover {
  color: var(--blue-grey-900) !important;
}

/* line 38, app/assets/stylesheets/components/_campaign_finance.scss */
.ie-table tbody tr {
  transition: background-color 0.15s ease;
}

/* line 41, app/assets/stylesheets/components/_campaign_finance.scss */
.ie-table tbody tr:hover {
  background-color: var(--blue-grey-050);
}

/* line 48, app/assets/stylesheets/components/_campaign_finance.scss */
.ie-candidate-row {
  cursor: pointer;
  transition: background-color 0.15s ease;
}

/* line 52, app/assets/stylesheets/components/_campaign_finance.scss */
.ie-candidate-row:hover {
  background-color: var(--blue-grey-050);
}

/* line 58, app/assets/stylesheets/components/_campaign_finance.scss */
.ie-expanded-content {
  animation: fadeIn 0.2s ease-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* line 72, app/assets/stylesheets/components/_campaign_finance.scss */
.bb-badge-neutral {
  display: inline-block;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.25;
  border-radius: 0.375rem;
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-700);
  white-space: nowrap;
}

/* line 87, app/assets/stylesheets/components/_campaign_finance.scss */
#expendituresTable tbody tr td {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  vertical-align: middle;
}

/* line 95, app/assets/stylesheets/components/_campaign_finance.scss */
#expendituresTable th.sortable {
  cursor: pointer;
  user-select: none;
  position: relative;
}

/* line 101, app/assets/stylesheets/components/_campaign_finance.scss */
#expendituresTable th.sortable .bi-arrow-down-up {
  display: none;
}

/* line 105, app/assets/stylesheets/components/_campaign_finance.scss */
#expendituresTable th.sortable::after {
  content: '⇅';
  margin-left: 0.375rem;
  opacity: 0.3;
  font-size: 0.875rem;
  transition: opacity 0.15s ease;
}

/* line 113, app/assets/stylesheets/components/_campaign_finance.scss */
#expendituresTable th.sortable:hover::after {
  opacity: 0.6;
}

/* line 117, app/assets/stylesheets/components/_campaign_finance.scss */
#expendituresTable th.sortable.asc::after {
  content: '↑';
  opacity: 0.9;
  color: var(--blue-grey-900);
}

/* line 123, app/assets/stylesheets/components/_campaign_finance.scss */
#expendituresTable th.sortable.desc::after {
  content: '↓';
  opacity: 0.9;
  color: var(--blue-grey-900);
}

/* line 132, app/assets/stylesheets/components/_campaign_finance.scss */
.expenditures-footer {
  border-top: 1px solid var(--blue-grey-200);
  padding-top: 0.875rem;
  margin-top: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--blue-grey-700);
}

/* line 143, app/assets/stylesheets/components/_campaign_finance.scss */
:root {
  --teal-600: #0d9488;
  --red-vivid-600: #dc2626;
  --blue-grey-050: #f8fafc;
  --blue-grey-100: #f1f5f9;
  --blue-grey-200: #e2e8f0;
  --blue-grey-400: #94a3b8;
  --blue-grey-500: #64748b;
  --blue-grey-600: #475569;
  --blue-grey-700: #334155;
  --blue-grey-900: #0f172a;
  --light-blue-vivid-600: #0284c7;
  --light-blue-vivid-700: #0369a1;
}

/* line 84, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.bb-horizontal-nav {
  transition: padding 160ms ease;
}

/* line 5, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.bb-horizontal-nav .nav-link {
  transition: all 0.2s ease, padding 160ms ease;
  font-size: 0.9rem;
  padding: 0.25rem 1rem;
  border-radius: 0.375rem;
  text-decoration: none;
  display: inline-block;
  color: var(--blue-grey-700);
}

/* line 14, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.bb-horizontal-nav .nav-link:hover {
  background-color: var(--blue-grey-050);
  color: var(--blue-grey-900) !important;
}

/* line 19, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.bb-horizontal-nav .nav-link.active {
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-900) !important;
  font-weight: 500;
}

/* line 26, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.bb-horizontal-nav .dropdown-toggle::after {
  vertical-align: 0.15em;
}

/* line 30, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.bb-horizontal-nav .dropdown-item {
  color: var(--blue-grey-700);
  transition: all 0.15s ease;
}

/* line 34, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.bb-horizontal-nav .dropdown-item:hover {
  background-color: var(--blue-grey-050);
  color: var(--blue-grey-900);
}

/* line 39, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.bb-horizontal-nav .dropdown-item:focus, .bb-horizontal-nav .dropdown-item:active {
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-900);
}

/* line 45, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.bb-horizontal-nav .dropdown-item.active {
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-900);
  font-weight: 500;
}

/* line 53, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.bb-horizontal-nav .dropdown-submenu {
  position: relative;
}

/* line 56, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.bb-horizontal-nav .dropdown-submenu > .dropdown-toggle::after {
  transform: rotate(-90deg);
  margin-left: 0.5rem;
  transition: transform 0.15s ease;
}

/* line 62, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.bb-horizontal-nav .dropdown-submenu > .dropdown-toggle[aria-expanded="true"]::after {
  transform: rotate(0deg);
}

/* line 66, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.bb-horizontal-nav .dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -0.125rem;
  margin-left: 0.125rem;
  min-width: 10rem;
}

/* line 77, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.bb-horizontal-nav.is-condensed .nav-link {
  padding-top: 0.15rem;
  padding-bottom: 0.15rem;
}

/* line 93, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.jurisdiction-horizontal-nav {
  transition: padding 160ms ease;
}

/* line 5, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.jurisdiction-horizontal-nav .nav-link {
  transition: all 0.2s ease, padding 160ms ease;
  font-size: 0.9rem;
  padding: 0.25rem 1rem;
  border-radius: 0.375rem;
  text-decoration: none;
  display: inline-block;
  color: var(--blue-grey-700);
}

/* line 14, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.jurisdiction-horizontal-nav .nav-link:hover {
  background-color: var(--blue-grey-050);
  color: var(--blue-grey-900) !important;
}

/* line 19, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.jurisdiction-horizontal-nav .nav-link.active {
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-900) !important;
  font-weight: 500;
}

/* line 26, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.jurisdiction-horizontal-nav .dropdown-toggle::after {
  vertical-align: 0.15em;
}

/* line 30, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.jurisdiction-horizontal-nav .dropdown-item {
  color: var(--blue-grey-700);
  transition: all 0.15s ease;
}

/* line 34, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.jurisdiction-horizontal-nav .dropdown-item:hover {
  background-color: var(--blue-grey-050);
  color: var(--blue-grey-900);
}

/* line 39, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.jurisdiction-horizontal-nav .dropdown-item:focus, .jurisdiction-horizontal-nav .dropdown-item:active {
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-900);
}

/* line 45, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.jurisdiction-horizontal-nav .dropdown-item.active {
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-900);
  font-weight: 500;
}

/* line 53, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.jurisdiction-horizontal-nav .dropdown-submenu {
  position: relative;
}

/* line 56, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.jurisdiction-horizontal-nav .dropdown-submenu > .dropdown-toggle::after {
  transform: rotate(-90deg);
  margin-left: 0.5rem;
  transition: transform 0.15s ease;
}

/* line 62, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.jurisdiction-horizontal-nav .dropdown-submenu > .dropdown-toggle[aria-expanded="true"]::after {
  transform: rotate(0deg);
}

/* line 66, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.jurisdiction-horizontal-nav .dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -0.125rem;
  margin-left: 0.125rem;
  min-width: 10rem;
}

/* line 77, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.jurisdiction-horizontal-nav.is-condensed .nav-link {
  padding-top: 0.15rem;
  padding-bottom: 0.15rem;
}

/* line 102, app/assets/stylesheets/components/_jurisdiction_nav.scss */
.bb-card[data-controller*="jurisdiction-nav"] {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

/* line 56, app/assets/stylesheets/components/_tabs.scss */
.bb-tabs-nav {
  border-bottom: 1px solid var(--blue-grey-100);
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 60, app/assets/stylesheets/components/_tabs.scss */
.bb-tabs-link {
  text-decoration: none;
  padding-bottom: 0.5rem;
  border: 0;
  border-bottom: 2px solid transparent;
  font-size: 0.95rem;
  color: var(--blue-grey-600);
  font-weight: 400;
  transition: all 0.15s ease;
}

/* line 19, app/assets/stylesheets/components/_tabs.scss */
.bb-tabs-link:hover {
  color: var(--blue-grey-800);
}

/* line 64, app/assets/stylesheets/components/_tabs.scss */
.bb-tabs-link--active {
  border-bottom-width: 3px;
  border-bottom-color: var(--light-blue-vivid-600);
  color: var(--blue-grey-800);
  font-weight: 500;
}

/* line 68, app/assets/stylesheets/components/_tabs.scss */
.bb-nav-tabs,
.nav-tabs.bb-nav-tabs {
  border-bottom: 2px solid var(--blue-grey-200);
}

/* line 34, app/assets/stylesheets/components/_tabs.scss */
.bb-nav-tabs .nav-link,
.nav-tabs.bb-nav-tabs .nav-link {
  color: var(--blue-grey-600);
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  padding: 0.75rem 1.25rem;
  font-weight: 500;
}

/* line 42, app/assets/stylesheets/components/_tabs.scss */
.bb-nav-tabs .nav-link:hover,
.nav-tabs.bb-nav-tabs .nav-link:hover {
  border-color: transparent;
  color: var(--light-blue-vivid-600);
}

/* line 47, app/assets/stylesheets/components/_tabs.scss */
.bb-nav-tabs .nav-link.active,
.nav-tabs.bb-nav-tabs .nav-link.active {
  color: var(--light-blue-vivid-600);
  border-bottom-color: var(--light-blue-vivid-600);
  background-color: transparent;
}

/* line 74, app/assets/stylesheets/components/_tabs.scss */
.committee-filings-tabs-nav {
  border-bottom: 1px solid var(--blue-grey-100);
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 78, app/assets/stylesheets/components/_tabs.scss */
.committee-filings-tab {
  text-decoration: none;
  padding-bottom: 0.5rem;
  border: 0;
  border-bottom: 2px solid transparent;
  font-size: 0.95rem;
  color: var(--blue-grey-600);
  font-weight: 400;
  transition: all 0.15s ease;
}

/* line 19, app/assets/stylesheets/components/_tabs.scss */
.committee-filings-tab:hover {
  color: var(--blue-grey-800);
}

/* line 81, app/assets/stylesheets/components/_tabs.scss */
.committee-filings-tab.committee-filings-tab-active {
  border-bottom-width: 3px;
  border-bottom-color: var(--light-blue-vivid-600);
  color: var(--blue-grey-800);
  font-weight: 500;
}

/* line 7, app/assets/stylesheets/components/_truncate_tooltip.scss */
.bb-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  max-width: 100%;
}

/* line 17, app/assets/stylesheets/components/_truncate_tooltip.scss */
td .bb-truncate, th .bb-truncate {
  max-width: 320px;
}

/* line 25, app/assets/stylesheets/components/_truncate_tooltip.scss */
.tooltip.bb-tooltip-truncate .tooltip-inner {
  max-width: 700px;
  background-color: #323C47;
  font-size: 0.875rem;
  border-radius: 6px;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  padding: 0.375rem 0.625rem;
}

/* line 35, app/assets/stylesheets/components/_truncate_tooltip.scss */
.tooltip.bb-tooltip-truncate.bs-tooltip-top .tooltip-arrow::before {
  border-top-color: #323C47;
}

/* line 39, app/assets/stylesheets/components/_truncate_tooltip.scss */
.tooltip.bb-tooltip-truncate.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #323C47;
}

/* line 43, app/assets/stylesheets/components/_truncate_tooltip.scss */
.tooltip.bb-tooltip-truncate.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #323C47;
}

/* line 47, app/assets/stylesheets/components/_truncate_tooltip.scss */
.tooltip.bb-tooltip-truncate.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #323C47;
}

/* line 5, app/assets/stylesheets/components/_query_chat.scss */
.ask-page {
  min-height: 60vh;
}

/* line 9, app/assets/stylesheets/components/_query_chat.scss */
.ask-header {
  text-align: center;
  margin-bottom: 2rem;
}

/* line 14, app/assets/stylesheets/components/_query_chat.scss */
.ask-title {
  font-family: 'Inter', sans-serif;
  font-size: 1.875rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 0.5rem;
}

/* line 22, app/assets/stylesheets/components/_query_chat.scss */
.ask-subtitle {
  font-size: 1rem;
  color: #6B7280;
  margin-bottom: 0;
}

/* line 31, app/assets/stylesheets/components/_query_chat.scss */
.ask-input-area {
  margin-bottom: 1.5rem;
}

/* line 35, app/assets/stylesheets/components/_query_chat.scss */
.ask-form {
  width: 100%;
}

/* line 39, app/assets/stylesheets/components/_query_chat.scss */
.ask-input-wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 8px;
  padding: 0.5rem 0.75rem;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 50, app/assets/stylesheets/components/_query_chat.scss */
.ask-input-wrapper:focus-within {
  border-color: #3A7AB8;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04), 0 0 0 3px rgba(58, 122, 184, 0.12);
}

/* line 56, app/assets/stylesheets/components/_query_chat.scss */
.ask-input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 1rem;
  color: #1F2933;
  background: transparent;
  font-family: 'Inter', sans-serif;
}

/* line 65, app/assets/stylesheets/components/_query_chat.scss */
.ask-input::placeholder {
  color: #B8BFC7;
}

/* line 69, app/assets/stylesheets/components/_query_chat.scss */
.ask-input:disabled {
  opacity: 0.6;
}

/* line 74, app/assets/stylesheets/components/_query_chat.scss */
.ask-submit-btn {
  border: none;
  background: transparent;
  color: #1F5C96;
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: color 0.15s ease;
}

/* line 84, app/assets/stylesheets/components/_query_chat.scss */
.ask-submit-btn:hover {
  color: #123B66;
}

/* line 88, app/assets/stylesheets/components/_query_chat.scss */
.ask-submit-btn:disabled {
  color: #B8BFC7;
  cursor: not-allowed;
}

/* line 97, app/assets/stylesheets/components/_query_chat.scss */
.ask-clear-area {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0.75rem;
}

/* line 103, app/assets/stylesheets/components/_query_chat.scss */
.ask-clear-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  color: #9CA3AF;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  transition: color 0.15s ease, background 0.15s ease;
}

/* line 116, app/assets/stylesheets/components/_query_chat.scss */
.ask-clear-btn:hover {
  color: #4B5563;
  background: #F3F4F6;
}

/* line 121, app/assets/stylesheets/components/_query_chat.scss */
.ask-clear-btn i {
  font-size: 0.75rem;
}

/* line 129, app/assets/stylesheets/components/_query_chat.scss */
.ask-answer-area {
  margin-bottom: 1.5rem;
}

/* line 133, app/assets/stylesheets/components/_query_chat.scss */
.ask-answer-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 141, app/assets/stylesheets/components/_query_chat.scss */
.ask-answer-question {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-bottom: 0.75rem;
  font-style: italic;
}

/* line 148, app/assets/stylesheets/components/_query_chat.scss */
.ask-answer-body {
  font-family: Georgia, serif;
  font-size: 1rem;
  color: #1F2933;
  line-height: 1.6;
}

/* line 155, app/assets/stylesheets/components/_query_chat.scss */
.ask-answer-body p {
  margin: 0 0 0.75rem;
}

/* line 158, app/assets/stylesheets/components/_query_chat.scss */
.ask-answer-body p:last-child {
  margin-bottom: 0;
}

/* line 164, app/assets/stylesheets/components/_query_chat.scss */
.ask-answer-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 0.75rem 0;
  font-size: 0.875rem;
}

/* line 171, app/assets/stylesheets/components/_query_chat.scss */
.ask-answer-body th, .ask-answer-body td {
  padding: 0.4rem 0.75rem;
  border: 1px solid #E5E7EB;
  text-align: left;
}

/* line 177, app/assets/stylesheets/components/_query_chat.scss */
.ask-answer-body th {
  background: #F9FAFB;
  font-weight: 500;
  color: #4B5563;
}

/* line 183, app/assets/stylesheets/components/_query_chat.scss */
.ask-answer-body tr:nth-child(even) {
  background: #F9FAFB;
}

/* line 188, app/assets/stylesheets/components/_query_chat.scss */
.ask-answer-body ul, .ask-answer-body ol {
  margin: 0.5rem 0;
  padding-left: 1.5rem;
}

/* line 193, app/assets/stylesheets/components/_query_chat.scss */
.ask-answer-body li {
  margin-bottom: 0.25rem;
}

/* line 198, app/assets/stylesheets/components/_query_chat.scss */
.ask-answer-body code {
  font-size: 0.875rem;
  background: #F9FAFB;
  padding: 0.1rem 0.3rem;
  border-radius: 4px;
}

/* line 206, app/assets/stylesheets/components/_query_chat.scss */
.ask-answer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid #F3F4F6;
}

/* line 215, app/assets/stylesheets/components/_query_chat.scss */
.ask-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  color: #1F5C96;
  text-decoration: none;
  padding: 0.25rem 0.75rem;
  background: #F4F7FC;
  border-radius: 9999px;
  transition: background 0.15s ease, color 0.15s ease;
}

/* line 227, app/assets/stylesheets/components/_query_chat.scss */
.ask-link:hover {
  background: #E4EEF8;
  color: #123B66;
  text-decoration: none;
}

/* line 233, app/assets/stylesheets/components/_query_chat.scss */
.ask-link i {
  font-size: 0.75rem;
}

/* line 241, app/assets/stylesheets/components/_query_chat.scss */
.ask-token-usage {
  font-size: 0.75rem;
  color: #B8BFC7;
  margin-top: 0.75rem;
  text-align: right;
}

/* line 251, app/assets/stylesheets/components/_query_chat.scss */
.ask-clarification {
  margin-bottom: 1.5rem;
}

/* line 255, app/assets/stylesheets/components/_query_chat.scss */
.ask-clarification-card {
  background: #EDF3F8;
  border: 1px solid rgba(29, 94, 150, 0.2);
  border-radius: 8px;
  padding: 1.25rem 1.5rem;
}

/* line 262, app/assets/stylesheets/components/_query_chat.scss */
.ask-clarification-question {
  font-size: 1rem;
  color: #323C47;
  margin-bottom: 0.75rem;
}

/* line 268, app/assets/stylesheets/components/_query_chat.scss */
.ask-clarification-options {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 274, app/assets/stylesheets/components/_query_chat.scss */
.ask-clarification-btn {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #123B66;
  background: #FFFFFF;
  border: 1px solid #4C7FB5;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-align: left;
  width: 100%;
}

/* line 287, app/assets/stylesheets/components/_query_chat.scss */
.ask-clarification-btn:hover {
  background: #F4F7FC;
  border-color: #1F5C96;
}

/* line 292, app/assets/stylesheets/components/_query_chat.scss */
.ask-clarification-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(58, 122, 184, 0.25);
  border-color: #1F5C96;
}

/* line 298, app/assets/stylesheets/components/_query_chat.scss */
.ask-clarification-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(58, 122, 184, 0.4);
  border-color: #123B66;
}

/* line 305, app/assets/stylesheets/components/_query_chat.scss */
.ask-clarification-btn--aggregate {
  color: #1F6B4E;
  border-color: #1F6B4E;
  background: #EDF4F0;
}

/* line 310, app/assets/stylesheets/components/_query_chat.scss */
.ask-clarification-btn--aggregate:hover {
  background: #ddeae3;
  border-color: #144331;
}

/* line 315, app/assets/stylesheets/components/_query_chat.scss */
.ask-clarification-btn--aggregate:focus {
  box-shadow: 0 0 0 3px rgba(31, 107, 78, 0.25);
}

/* line 319, app/assets/stylesheets/components/_query_chat.scss */
.ask-clarification-btn--aggregate:focus-visible {
  box-shadow: 0 0 0 3px rgba(31, 107, 78, 0.4);
}

/* line 325, app/assets/stylesheets/components/_query_chat.scss */
.ask-clarification-note {
  width: 100%;
  font-size: 0.75rem;
  color: #9CA3AF;
  margin: 0.75rem 0 0;
  font-style: italic;
}

/* line 333, app/assets/stylesheets/components/_query_chat.scss */
.ask-clarification-links {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(29, 94, 150, 0.15);
}

/* line 346, app/assets/stylesheets/components/_query_chat.scss */
.ask-loading {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem;
  color: #9CA3AF;
  font-size: 0.875rem;
  margin-bottom: 1.5rem;
}

/* line 359, app/assets/stylesheets/components/_query_chat.scss */
.ask-error {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: #F8F0F1;
  color: #9B2331;
  border-radius: 6px;
  font-size: 0.875rem;
  margin-bottom: 1.5rem;
}

/* line 370, app/assets/stylesheets/components/_query_chat.scss */
.ask-error i {
  font-size: 1rem;
}

/* line 378, app/assets/stylesheets/components/_query_chat.scss */
.ask-examples {
  margin-bottom: 1.5rem;
}

/* line 382, app/assets/stylesheets/components/_query_chat.scss */
.ask-examples-category {
  margin-bottom: 1.25rem;
}

/* line 385, app/assets/stylesheets/components/_query_chat.scss */
.ask-examples-category:last-child {
  margin-bottom: 0;
}

/* line 390, app/assets/stylesheets/components/_query_chat.scss */
.ask-examples-header {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  flex-wrap: wrap;
}

/* line 398, app/assets/stylesheets/components/_query_chat.scss */
.ask-examples-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
}

/* line 403, app/assets/stylesheets/components/_query_chat.scss */
.ask-examples-label--free {
  color: #127A7A;
}

/* line 408, app/assets/stylesheets/components/_query_chat.scss */
.ask-examples-hint {
  font-size: 0.75rem;
  color: #B8BFC7;
}

/* line 413, app/assets/stylesheets/components/_query_chat.scss */
.ask-examples-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 0.5rem;
}

/* line 419, app/assets/stylesheets/components/_query_chat.scss */
.ask-example-btn {
  text-align: left;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  color: #4B5563;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 430, app/assets/stylesheets/components/_query_chat.scss */
.ask-example-btn:hover {
  background: #F4F7FC;
  border-color: #4C7FB5;
  color: #123B66;
}

/* line 437, app/assets/stylesheets/components/_query_chat.scss */
.ask-example-btn--free {
  border-left: 3px solid #127A7A;
}

/* line 440, app/assets/stylesheets/components/_query_chat.scss */
.ask-example-btn--free:hover {
  background: #E2F5F5;
  border-color: #E5E7EB;
  border-left-color: #127A7A;
  color: #0b4e4e;
}

/* line 452, app/assets/stylesheets/components/_query_chat.scss */
.ask-disclaimer {
  font-size: 0.75rem;
  color: #9CA3AF;
  text-align: center;
  margin-top: 1rem;
}

/* line 463, app/assets/stylesheets/components/_query_chat.scss */
.ask-link--cta {
  color: #127A7A;
  background: #E2F5F5;
  font-weight: 500;
}

/* line 469, app/assets/stylesheets/components/_query_chat.scss */
.ask-link--cta:hover {
  color: #0b4e4e;
  background: #cfeeee;
  text-decoration: none;
}

/* line 1, app/assets/stylesheets/_socioeconomic.scss */
.nav-tabs .nav-link {
  color: var(--blue-grey-700);
  border-radius: 0.375rem;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  transition: all 0.2s ease-in-out;
}

/* Hover state */
/* line 10, app/assets/stylesheets/_socioeconomic.scss */
.nav-tabs .nav-link:hover {
  color: var(--light-blue-vivid-700);
  background-color: var(--light-blue-vivid-050);
  border-color: var(--light-blue-vivid-200);
}

/* Active state */
/* line 17, app/assets/stylesheets/_socioeconomic.scss */
.nav-tabs .nav-link.active {
  background-color: var(--light-blue-vivid-600);
  color: white;
  border-color: var(--light-blue-vivid-600);
}

/* Remove default tab bottom border */
/* line 24, app/assets/stylesheets/_socioeconomic.scss */
.nav-tabs {
  border-bottom: none;
}

/* line 9, app/assets/stylesheets/_pricing.scss */
.pricing-page {
  background-color: #f8f9fa;
  padding-bottom: 3rem;
  margin-bottom: -3rem;
}

/* line 18, app/assets/stylesheets/_pricing.scss */
.pricing-header {
  text-align: center;
  margin-bottom: 2rem;
}

/* line 23, app/assets/stylesheets/_pricing.scss */
.pricing-title {
  font-size: 2.25rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 0.5rem;
}

/* line 30, app/assets/stylesheets/_pricing.scss */
.pricing-subtitle {
  font-size: 1.25rem;
  color: #4B5563;
  margin-bottom: 1rem;
}

/* line 36, app/assets/stylesheets/_pricing.scss */
.pricing-description {
  font-size: 1rem;
  color: #4B5563;
  margin-bottom: 0.5rem;
}

/* line 42, app/assets/stylesheets/_pricing.scss */
.pricing-links {
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 46, app/assets/stylesheets/_pricing.scss */
.pricing-links a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 50, app/assets/stylesheets/_pricing.scss */
.pricing-links a:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 60, app/assets/stylesheets/_pricing.scss */
.pricing-billing-toggle {
  background-color: #F3F4F6;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 4px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* line 70, app/assets/stylesheets/_pricing.scss */
.pricing-billing-btn {
  position: relative;
  border-radius: 6px;
  padding: 0.625rem 1.5rem;
  font-weight: 500;
  font-size: 0.875rem;
  color: #6B7280;
  background-color: transparent;
  border: none;
  transition: all 0.15s ease;
  cursor: pointer;
  min-width: 120px;
}

/* line 83, app/assets/stylesheets/_pricing.scss */
.pricing-billing-btn:hover:not(.active) {
  color: #4B5563;
  background-color: #E5E7EB;
}

/* line 88, app/assets/stylesheets/_pricing.scss */
.pricing-billing-btn:active {
  transform: translateY(1px);
}

/* line 92, app/assets/stylesheets/_pricing.scss */
.pricing-billing-btn.active {
  background-color: #FFFFFF;
  color: #1F2933;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  font-weight: 500;
}

/* line 100, app/assets/stylesheets/_pricing.scss */
.pricing-billing-badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  margin-left: 0.5rem;
  background-color: #1F6B4E;
  color: #FFFFFF;
}

/* line 110, app/assets/stylesheets/_pricing.scss */
.pricing-billing-btn:not(.active) .pricing-billing-badge {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 119, app/assets/stylesheets/_pricing.scss */
.pricing-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

/* line 130, app/assets/stylesheets/_pricing.scss */
.pricing-card-header {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 135, app/assets/stylesheets/_pricing.scss */
.pricing-card-title {
  font-size: 1.25rem;
  font-weight: 500;
  color: #323C47;
  margin: 0;
}

/* line 142, app/assets/stylesheets/_pricing.scss */
.pricing-card-body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* line 152, app/assets/stylesheets/_pricing.scss */
.pricing-price {
  text-align: center;
  margin-bottom: 1.5rem;
}

/* line 157, app/assets/stylesheets/_pricing.scss */
.pricing-price-row {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 165, app/assets/stylesheets/_pricing.scss */
.pricing-price-amount {
  font-size: 2.25rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 171, app/assets/stylesheets/_pricing.scss */
.pricing-price-period {
  font-size: 1rem;
  color: #6B7280;
}

/* line 176, app/assets/stylesheets/_pricing.scss */
.pricing-price-details {
  font-size: 0.875rem;
  color: #6B7280;
  margin-top: 0.25rem;
}

/* line 182, app/assets/stylesheets/_pricing.scss */
.pricing-badge-trial {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  background-color: #E2F5F5;
  color: #127A7A;
  border-radius: 9999px;
}

/* line 193, app/assets/stylesheets/_pricing.scss */
.pricing-badge-value {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  background-color: #E4EEF8;
  color: #1F5C96;
  border-radius: 9999px;
}

/* line 207, app/assets/stylesheets/_pricing.scss */
.pricing-county-selector {
  margin-bottom: 1.5rem;
}

/* line 211, app/assets/stylesheets/_pricing.scss */
.pricing-county-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  margin-bottom: 0.5rem;
}

/* line 219, app/assets/stylesheets/_pricing.scss */
.pricing-county-select {
  width: 100%;
  padding: 0.625rem 0.75rem;
  font-size: 0.875rem;
  color: #1F2933;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  background-color: #FFFFFF;
  transition: all 0.15s ease;
}

/* line 229, app/assets/stylesheets/_pricing.scss */
.pricing-county-select:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.15);
}

/* line 239, app/assets/stylesheets/_pricing.scss */
.pricing-coverage {
  margin-bottom: 1.5rem;
  text-align: center;
}

/* line 244, app/assets/stylesheets/_pricing.scss */
.pricing-coverage-placeholder {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 249, app/assets/stylesheets/_pricing.scss */
.pricing-coverage-link {
  display: block;
  width: 100%;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  text-decoration: none;
  text-align: center;
  transition: all 0.15s ease;
}

/* line 263, app/assets/stylesheets/_pricing.scss */
.pricing-coverage-link:hover {
  background-color: #F9FAFB;
  border-color: #B8BFC7;
  color: #1F2933;
  text-decoration: none;
}

/* line 274, app/assets/stylesheets/_pricing.scss */
.pricing-features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}

/* line 280, app/assets/stylesheets/_pricing.scss */
.pricing-feature-item {
  display: flex;
  align-items: flex-start;
  padding: 0.5rem 0;
  font-size: 0.875rem;
  color: #1F2933;
}

/* line 287, app/assets/stylesheets/_pricing.scss */
.pricing-feature-item i {
  color: #127A7A;
  margin-right: 0.75rem;
  margin-top: 0.125rem;
  flex-shrink: 0;
}

/* line 298, app/assets/stylesheets/_pricing.scss */
.pricing-card-footer {
  margin-top: auto;
}

/* line 302, app/assets/stylesheets/_pricing.scss */
.pricing-plan-description {
  font-size: 0.875rem;
  color: #6B7280;
  margin-bottom: 0.75rem;
}

/* line 308, app/assets/stylesheets/_pricing.scss */
.pricing-plan-benefits {
  background-color: #F9FAFB;
  border-radius: 6px;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: #6B7280;
  text-align: center;
  margin-bottom: 1rem;
}

/* line 317, app/assets/stylesheets/_pricing.scss */
.pricing-plan-benefits i {
  color: #127A7A;
  margin-right: 0.25rem;
}

/* line 326, app/assets/stylesheets/_pricing.scss */
.pricing-subscribe-btn {
  display: block;
  width: 100%;
  padding: 0.875rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  color: #FFFFFF;
  background-color: #123B66;
  border: none;
  border-radius: 6px;
  transition: all 0.15s ease;
  cursor: pointer;
}

/* line 341, app/assets/stylesheets/_pricing.scss */
.pricing-subscribe-btn:hover {
  background-color: #0B2742;
  color: #FFFFFF;
  transform: translateY(-1px);
}

/* line 347, app/assets/stylesheets/_pricing.scss */
.pricing-subscribe-btn:active {
  background-color: #071a2c;
  transform: translateY(1px);
}

/* line 352, app/assets/stylesheets/_pricing.scss */
.pricing-subscribe-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* line 367, app/assets/stylesheets/_pricing.scss */
.pricing-modal-header {
  background-color: #F3F4F6;
  border-bottom: 1px solid #E5E7EB;
}

/* line 372, app/assets/stylesheets/_pricing.scss */
.pricing-modal-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #323C47;
}

/* line 378, app/assets/stylesheets/_pricing.scss */
.pricing-modal-body {
  color: #4B5563;
  font-size: 1rem;
}

/* line 383, app/assets/stylesheets/_pricing.scss */
.pricing-modal-btn-upgrade {
  background-color: #127A7A;
  color: #FFFFFF;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  font-weight: 500;
  transition: all 0.15s ease;
}

/* line 392, app/assets/stylesheets/_pricing.scss */
.pricing-modal-btn-upgrade:hover {
  background-color: #0d5656;
  color: #FFFFFF;
}

/* line 397, app/assets/stylesheets/_pricing.scss */
.pricing-modal-btn-upgrade:active {
  background-color: #0a4545;
  transform: translateY(1px);
}

/* line 403, app/assets/stylesheets/_pricing.scss */
.pricing-modal-btn-proceed {
  background-color: transparent;
  color: #6B7280;
  border: 1px solid #6B7280;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  font-weight: 500;
  transition: all 0.15s ease;
}

/* line 412, app/assets/stylesheets/_pricing.scss */
.pricing-modal-btn-proceed:hover {
  background-color: #6B7280;
  color: #FFFFFF;
}

/* line 417, app/assets/stylesheets/_pricing.scss */
.pricing-modal-btn-proceed:active {
  background-color: #4B5563;
  border-color: #4B5563;
  transform: translateY(1px);
}

@media (max-width: 767px) {
  /* line 428, app/assets/stylesheets/_pricing.scss */
  .pricing-title {
    font-size: 1.875rem;
  }
  /* line 432, app/assets/stylesheets/_pricing.scss */
  .pricing-subtitle {
    font-size: 1.125rem;
  }
  /* line 436, app/assets/stylesheets/_pricing.scss */
  .pricing-price-amount {
    font-size: 1.875rem;
  }
  /* line 440, app/assets/stylesheets/_pricing.scss */
  .pricing-card-body {
    padding: 1.25rem;
  }
}

@media (max-width: 575px) {
  /* line 446, app/assets/stylesheets/_pricing.scss */
  .pricing-title {
    font-size: 1.5rem;
  }
  /* line 450, app/assets/stylesheets/_pricing.scss */
  .pricing-price-amount {
    font-size: 1.5rem;
  }
}

/* line 10, app/assets/stylesheets/_registration.scss */
.progress-steps {
  margin-top: 1rem;
}

/* line 14, app/assets/stylesheets/_registration.scss */
.step-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

/* line 21, app/assets/stylesheets/_registration.scss */
.step-circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #E5E7EB;
  color: #6B7280;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 18px;
  margin-bottom: 8px;
  transition: 0.2s ease;
}

/* line 36, app/assets/stylesheets/_registration.scss */
.step-item.active .step-circle {
  background-color: #4B5563;
  color: #FFFFFF;
}

/* line 41, app/assets/stylesheets/_registration.scss */
.step-label {
  font-size: 0.875rem;
  color: #6B7280;
  font-weight: 500;
}

/* line 47, app/assets/stylesheets/_registration.scss */
.step-item.active .step-label {
  color: #1F2933;
}

/* line 51, app/assets/stylesheets/_registration.scss */
.step-divider {
  width: 60px;
  height: 2px;
  background-color: #E5E7EB;
  margin: 0 20px;
  margin-bottom: 28px;
}

/* line 67, app/assets/stylesheets/_registration.scss */
.registration-title {
  font-family: 'Inter', sans-serif;
  font-size: 1.25rem;
}

/* line 72, app/assets/stylesheets/_registration.scss */
.registration-body {
  padding: 1.25rem;
}

/* line 80, app/assets/stylesheets/_registration.scss */
.registration-section {
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 87, app/assets/stylesheets/_registration.scss */
.registration-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  margin: 0;
  background: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 99, app/assets/stylesheets/_registration.scss */
.registration-section-header i {
  color: #9CA3AF;
}

/* line 104, app/assets/stylesheets/_registration.scss */
.registration-section-subtitle {
  font-size: 0.75rem;
  font-weight: 400;
  color: #9CA3AF;
}

/* line 110, app/assets/stylesheets/_registration.scss */
.registration-section-body {
  padding: 1rem;
  background: #FFFFFF;
}

/* line 122, app/assets/stylesheets/_registration.scss */
.selected-plan-badge .bi-check-circle-fill {
  color: #127A7A;
}

/* line 126, app/assets/stylesheets/_registration.scss */
.selected-plan-badge .selected-plan-name {
  color: #1F2933;
}

/* line 130, app/assets/stylesheets/_registration.scss */
.selected-plan-badge .selected-plan-change-link {
  color: #6B7280;
  font-weight: 500;
}

/* line 134, app/assets/stylesheets/_registration.scss */
.selected-plan-badge .selected-plan-change-link:hover {
  color: #323C47;
  text-decoration: underline;
}

/* line 145, app/assets/stylesheets/_registration.scss */
.required-field::after {
  content: " *";
  color: #9B2331;
}

/* line 150, app/assets/stylesheets/_registration.scss */
.form-label {
  color: #4B5563;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 0.375rem;
}

/* line 161, app/assets/stylesheets/_registration.scss */
.payment-preview {
  padding-top: 0.75rem;
  border-top: 1px solid #F3F4F6;
}

/* line 165, app/assets/stylesheets/_registration.scss */
.payment-preview .bi-lock-fill {
  color: #9CA3AF;
}

/* line 169, app/assets/stylesheets/_registration.scss */
.payment-preview h6 {
  color: #323C47;
}

/* line 178, app/assets/stylesheets/_registration.scss */
.registration-submit-btn {
  background-color: #4B5563;
  color: #FFFFFF;
  border: none;
  font-weight: 500;
  transition: 0.15s ease;
}

/* line 185, app/assets/stylesheets/_registration.scss */
.registration-submit-btn:hover:not(:disabled) {
  background-color: #323C47;
  color: #FFFFFF;
}

/* line 190, app/assets/stylesheets/_registration.scss */
.registration-submit-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

/* line 201, app/assets/stylesheets/_registration.scss */
.terms-acceptance .form-check-label {
  color: #6B7280;
  font-size: 0.875rem;
}

/* line 206, app/assets/stylesheets/_registration.scss */
.terms-acceptance .terms-link {
  color: #1F5C96;
}

/* line 209, app/assets/stylesheets/_registration.scss */
.terms-acceptance .terms-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 220, app/assets/stylesheets/_registration.scss */
.registration-logo {
  max-height: 60px;
}

/* line 228, app/assets/stylesheets/_registration.scss */
.signin-action-link {
  color: #1F5C96;
  text-decoration: none;
}

/* line 232, app/assets/stylesheets/_registration.scss */
.signin-action-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 238, app/assets/stylesheets/_registration.scss */
.signin-remember-label {
  color: #4B5563;
}

/* line 242, app/assets/stylesheets/_registration.scss */
.signin-footer {
  color: #6B7280;
  font-size: 0.875rem;
}

/* line 247, app/assets/stylesheets/_registration.scss */
.signin-support-text {
  font-size: 0.875rem;
  color: #6B7280;
}

@media (max-width: 767px) {
  /* line 257, app/assets/stylesheets/_registration.scss */
  .step-divider {
    width: 40px;
    margin: 0 10px;
  }
  /* line 262, app/assets/stylesheets/_registration.scss */
  .step-circle {
    width: 35px;
    height: 35px;
    font-size: 16px;
  }
  /* line 268, app/assets/stylesheets/_registration.scss */
  .step-label {
    font-size: 0.75rem;
  }
  /* line 272, app/assets/stylesheets/_registration.scss */
  .registration-body {
    padding: 1rem;
  }
  /* line 276, app/assets/stylesheets/_registration.scss */
  .registration-section-body {
    padding: 0.875rem;
  }
}

/* line 6, app/assets/stylesheets/_blog.scss */
.blog-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
  transition: all 0.3s ease;
}

/* line 13, app/assets/stylesheets/_blog.scss */
.newsletter-hero {
  background: linear-gradient(135deg, var(--light-blue-vivid-050) 0%, var(--cyan-050) 100%);
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin-bottom: 2rem;
}

/* line 20, app/assets/stylesheets/_blog.scss */
.newsletter-cta {
  background: linear-gradient(135deg, var(--blue-grey-050) 0%, var(--light-blue-vivid-050) 100%);
  border: 1px solid var(--blue-grey-200);
  border-radius: 0.5rem;
  padding: 2rem;
  margin: 2rem 0;
}

/* line 30, app/assets/stylesheets/_blog.scss */
.blog-content h1, .blog-content h2, .blog-content h3, .blog-content h4, .blog-content h5, .blog-content h6 {
  color: var(--blue-grey-800);
  font-weight: 500;
  margin-top: 2rem;
  margin-bottom: 1rem;
  line-height: 1.3;
}

/* line 38, app/assets/stylesheets/_blog.scss */
.blog-content h1 {
  font-weight: 600;
}

/* line 42, app/assets/stylesheets/_blog.scss */
.blog-content h1 {
  font-size: 2.2rem;
}

/* line 43, app/assets/stylesheets/_blog.scss */
.blog-content h2 {
  font-size: 1.8rem;
}

/* line 44, app/assets/stylesheets/_blog.scss */
.blog-content h3 {
  font-size: 1.5rem;
}

/* line 45, app/assets/stylesheets/_blog.scss */
.blog-content h4 {
  font-size: 1.3rem;
}

/* line 47, app/assets/stylesheets/_blog.scss */
.blog-content p {
  margin-bottom: 1.5rem;
  line-height: 1.6;
  color: var(--blue-grey-700);
}

/* line 53, app/assets/stylesheets/_blog.scss */
.blog-content blockquote {
  border-left: 4px solid var(--light-blue-vivid-500);
  padding-left: 1.5rem;
  margin: 2rem 0;
  font-style: italic;
  color: var(--blue-grey-700);
  background-color: var(--blue-grey-050);
  padding: 1rem 1rem 1rem 1.5rem;
  border-radius: 0 0.25rem 0.25rem 0;
}

/* line 64, app/assets/stylesheets/_blog.scss */
.blog-content ul, .blog-content ol {
  margin-bottom: 1.5rem;
  padding-left: 2rem;
}

/* line 68, app/assets/stylesheets/_blog.scss */
.blog-content ul li, .blog-content ol li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
  color: var(--blue-grey-700);
}

/* line 76, app/assets/stylesheets/_blog.scss */
.blog-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  font-size: 0.95rem;
}

/* line 82, app/assets/stylesheets/_blog.scss */
.blog-content table th, .blog-content table td {
  padding: 0.75rem;
  text-align: left;
  border-bottom: 1px solid var(--blue-grey-200);
}

/* line 88, app/assets/stylesheets/_blog.scss */
.blog-content table th {
  background-color: var(--blue-grey-100);
  font-weight: 500;
  color: var(--blue-grey-800);
}

/* line 94, app/assets/stylesheets/_blog.scss */
.blog-content table tr:hover {
  background-color: var(--blue-grey-050);
}

/* line 100, app/assets/stylesheets/_blog.scss */
.blog-content pre, .blog-content code {
  background-color: var(--blue-grey-100);
  border-radius: 0.25rem;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
}

/* line 106, app/assets/stylesheets/_blog.scss */
.blog-content code {
  padding: 0.2rem 0.4rem;
  font-size: 0.9em;
  color: var(--blue-grey-800);
}

/* line 112, app/assets/stylesheets/_blog.scss */
.blog-content pre {
  padding: 1rem;
  overflow-x: auto;
  margin: 1.5rem 0;
}

/* line 117, app/assets/stylesheets/_blog.scss */
.blog-content pre code {
  padding: 0;
  background: none;
}

/* line 124, app/assets/stylesheets/_blog.scss */
.blog-content img {
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  margin: 1.5rem 0;
}

/* line 134, app/assets/stylesheets/_blog.scss */
.featured-image-container {
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem;
}

/* line 139, app/assets/stylesheets/_blog.scss */
.featured-image-container img {
  transition: transform 0.3s ease;
}

/* line 143, app/assets/stylesheets/_blog.scss */
.featured-image-container:hover img {
  transform: scale(1.05);
}

/* line 149, app/assets/stylesheets/_blog.scss */
.badge {
  font-weight: 500;
  font-size: 0.8rem;
  padding: 0.5rem 0.75rem;
}

/* line 154, app/assets/stylesheets/_blog.scss */
.badge.badge-category {
  background-color: var(--light-blue-vivid-100);
  color: var(--light-blue-vivid-700);
}

/* line 159, app/assets/stylesheets/_blog.scss */
.badge.badge-tag {
  background-color: var(--cyan-100);
  color: var(--cyan-700);
}

/* line 167, app/assets/stylesheets/_blog.scss */
.social-share .btn {
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 171, app/assets/stylesheets/_blog.scss */
.social-share .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* line 179, app/assets/stylesheets/_blog.scss */
.article-meta {
  font-size: 0.9rem;
  color: var(--blue-grey-500);
}

/* line 183, app/assets/stylesheets/_blog.scss */
.article-meta .meta-item {
  display: inline-flex;
  align-items: center;
  margin-right: 1rem;
}

/* line 188, app/assets/stylesheets/_blog.scss */
.article-meta .meta-item i {
  margin-right: 0.25rem;
}

/* line 196, app/assets/stylesheets/_blog.scss */
.blog-sidebar .sticky-top {
  top: 2rem;
}

@media (max-width: 768px) {
  /* line 203, app/assets/stylesheets/_blog.scss */
  .blog-content {
    font-size: 1rem !important;
  }
  /* line 206, app/assets/stylesheets/_blog.scss */
  .blog-content h1 {
    font-size: 1.8rem;
  }
  /* line 207, app/assets/stylesheets/_blog.scss */
  .blog-content h2 {
    font-size: 1.5rem;
  }
  /* line 208, app/assets/stylesheets/_blog.scss */
  .blog-content h3 {
    font-size: 1.3rem;
  }
  /* line 209, app/assets/stylesheets/_blog.scss */
  .blog-content h4 {
    font-size: 1.1rem;
  }
  /* line 211, app/assets/stylesheets/_blog.scss */
  .blog-content table {
    font-size: 0.85rem;
  }
  /* line 214, app/assets/stylesheets/_blog.scss */
  .blog-content table th, .blog-content table td {
    padding: 0.5rem;
  }
  /* line 220, app/assets/stylesheets/_blog.scss */
  .newsletter-hero {
    padding: 1rem;
  }
  /* line 223, app/assets/stylesheets/_blog.scss */
  .newsletter-hero .d-flex {
    flex-direction: column !important;
    gap: 1rem;
  }
  /* line 227, app/assets/stylesheets/_blog.scss */
  .newsletter-hero .d-flex .form-control {
    min-width: 100% !important;
  }
  /* line 233, app/assets/stylesheets/_blog.scss */
  .newsletter-cta {
    padding: 1.5rem;
  }
  /* line 237, app/assets/stylesheets/_blog.scss */
  .newsletter-cta .row .col-md-8,
.newsletter-cta .row .col-md-4 {
    width: 100%;
    margin-bottom: 1rem;
  }
  /* line 243, app/assets/stylesheets/_blog.scss */
  .newsletter-cta .row .d-flex {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 250, app/assets/stylesheets/_blog.scss */
  .sticky-top {
    position: static !important;
  }
  /* line 255, app/assets/stylesheets/_blog.scss */
  .social-share .btn {
    font-size: 0.8rem;
    padding: 0.375rem 0.75rem;
  }
}

@media (max-width: 576px) {
  /* line 263, app/assets/stylesheets/_blog.scss */
  .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  /* line 269, app/assets/stylesheets/_blog.scss */
  .blog-content h1 {
    font-size: 1.6rem;
  }
  /* line 270, app/assets/stylesheets/_blog.scss */
  .blog-content h2 {
    font-size: 1.4rem;
  }
  /* line 271, app/assets/stylesheets/_blog.scss */
  .blog-content h3 {
    font-size: 1.2rem;
  }
  /* line 272, app/assets/stylesheets/_blog.scss */
  .blog-content h4 {
    font-size: 1.1rem;
  }
  /* line 275, app/assets/stylesheets/_blog.scss */
  .card-body {
    padding: 1rem !important;
  }
  /* line 279, app/assets/stylesheets/_blog.scss */
  .newsletter-hero,
.newsletter-cta {
    padding: 1rem;
  }
}

/* line 286, app/assets/stylesheets/_blog.scss */
.hover-underline:hover {
  text-decoration: underline !important;
}

/* line 290, app/assets/stylesheets/_blog.scss */
.hover-underline:focus {
  outline: 2px solid var(--light-blue-vivid-500);
  outline-offset: 2px;
}

/* line 296, app/assets/stylesheets/_blog.scss */
html {
  scroll-behavior: smooth;
}

/* line 301, app/assets/stylesheets/_blog.scss */
.loading-shimmer {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
}

@keyframes loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

@media print {
  /* line 318, app/assets/stylesheets/_blog.scss */
  .blog-sidebar,
.social-share,
.newsletter-cta,
.newsletter-hero {
    display: none !important;
  }
  /* line 325, app/assets/stylesheets/_blog.scss */
  .blog-content {
    font-size: 12pt;
    line-height: 1.5;
    color: black;
  }
  /* line 331, app/assets/stylesheets/_blog.scss */
  .container {
    max-width: none;
    margin: 0;
    padding: 0;
  }
}

/* Example custom styles for existing elements */
/* line 339, app/assets/stylesheets/_blog.scss */
.candidate-dem {
  color: #1375b7;
  font-weight: 500;
}

/* line 344, app/assets/stylesheets/_blog.scss */
.candidate-rep {
  color: #c93135;
  font-weight: 500;
}

/* line 349, app/assets/stylesheets/_blog.scss */
.ou-positive {
  color: green;
  font-weight: 500;
}

/* line 354, app/assets/stylesheets/_blog.scss */
.ou-negative {
  color: red;
  font-weight: 500;
}

/* line 363, app/assets/stylesheets/_blog.scss */
.blog-sidebar h5 a:hover, .blog-sidebar h6 a:hover {
  text-decoration: underline;
}

/* line 375, app/assets/stylesheets/_blog.scss */
.blog-page {
  background-color: #F9FAFB;
  min-height: 100vh;
}

/* line 381, app/assets/stylesheets/_blog.scss */
.blog-post-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  transition: all 0.2s ease;
}

/* line 388, app/assets/stylesheets/_blog.scss */
.blog-post-card:hover {
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  border-color: #D1D5DB;
}

/* line 395, app/assets/stylesheets/_blog.scss */
a.blog-post-card {
  cursor: pointer;
}

/* line 398, app/assets/stylesheets/_blog.scss */
a.blog-post-card:hover {
  transform: translateY(-2px);
}

/* line 401, app/assets/stylesheets/_blog.scss */
a.blog-post-card:hover .blog-post-card-title {
  color: #1F5C96;
}

/* line 407, app/assets/stylesheets/_blog.scss */
.blog-post-card-body {
  padding: 1.25rem;
}

/* line 411, app/assets/stylesheets/_blog.scss */
.blog-post-card-title {
  font-weight: 500;
  color: #1F2933;
  line-height: 1.3;
  margin-bottom: 0.75rem;
}

/* line 417, app/assets/stylesheets/_blog.scss */
.blog-post-card-title a {
  color: inherit;
  text-decoration: none;
}

/* line 421, app/assets/stylesheets/_blog.scss */
.blog-post-card-title a:hover {
  color: #1F5C96;
}

/* line 427, app/assets/stylesheets/_blog.scss */
.blog-post-card-meta {
  font-size: 0.875rem;
  color: #9CA3AF;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

/* line 436, app/assets/stylesheets/_blog.scss */
.blog-post-card-excerpt {
  font-size: 0.875rem;
  color: #4B5563;
  line-height: 1.6;
  margin-bottom: 1rem;
}

/* line 444, app/assets/stylesheets/_blog.scss */
.blog-section-header {
  font-weight: 700;
  font-size: 1.125rem;
  color: #1F2933;
  padding-bottom: 0.75rem;
  margin-bottom: 1rem;
  border-bottom: 2px solid #E5E7EB;
}

/* line 454, app/assets/stylesheets/_blog.scss */
.blog-hero-title {
  font-weight: 700;
  font-size: 1.875rem;
  color: #1F2933;
}

/* line 460, app/assets/stylesheets/_blog.scss */
.blog-hero-subtitle {
  font-size: 1rem;
  color: #4B5563;
  line-height: 1.6;
}

/* line 466, app/assets/stylesheets/_blog.scss */
.blog-hero-cta {
  font-size: 0.875rem;
  font-style: italic;
}

/* line 470, app/assets/stylesheets/_blog.scss */
.blog-hero-cta a {
  color: #1F5C96;
  font-weight: 500;
  text-decoration: none;
}

/* line 475, app/assets/stylesheets/_blog.scss */
.blog-hero-cta a:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 483, app/assets/stylesheets/_blog.scss */
.blog-empty-state {
  padding: 2rem;
  text-align: center;
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  color: #4B5563;
}

/* line 491, app/assets/stylesheets/_blog.scss */
.blog-empty-state h5 {
  font-weight: 500;
  margin-bottom: 0.5rem;
}

/* line 498, app/assets/stylesheets/_blog.scss */
.blog-modal-header {
  border-bottom: 1px solid #E5E7EB;
}

/* line 501, app/assets/stylesheets/_blog.scss */
.blog-modal-header .modal-title {
  color: #1F2933;
  font-weight: 500;
}

/* line 507, app/assets/stylesheets/_blog.scss */
.blog-modal-body {
  padding: 1.5rem;
}

/* line 510, app/assets/stylesheets/_blog.scss */
.blog-modal-body p {
  color: #4B5563;
}

/* line 516, app/assets/stylesheets/_blog.scss */
.blog-form-input {
  border-color: #E5E7EB;
}

/* line 519, app/assets/stylesheets/_blog.scss */
.blog-form-input:focus {
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.15);
}

/* line 526, app/assets/stylesheets/_blog.scss */
.blog-honeypot {
  position: absolute;
  left: -9999px;
  top: -9999px;
  height: 0;
  width: 0;
  opacity: 0;
}

/* line 536, app/assets/stylesheets/_blog.scss */
.blog-sidebar-link {
  color: #323C47;
  text-decoration: none;
}

/* line 540, app/assets/stylesheets/_blog.scss */
.blog-sidebar-link:hover {
  color: #1F5C96;
}

/* line 546, app/assets/stylesheets/_blog.scss */
.blog-article-title {
  color: #1F2933;
  line-height: 1.2;
  font-weight: 700;
  font-size: 1.5rem;
  margin-bottom: 0.5rem !important;
}

@media (min-width: 768px) {
  /* line 546, app/assets/stylesheets/_blog.scss */
  .blog-article-title {
    font-size: 1.75rem;
  }
}

/* line 558, app/assets/stylesheets/_blog.scss */
.blog-article-meta {
  font-size: 0.75rem;
  color: #6B7280;
  margin-bottom: 0.5rem !important;
}

/* line 564, app/assets/stylesheets/_blog.scss */
.blog-social-link {
  color: #6B7280;
  text-decoration: none;
}

/* line 568, app/assets/stylesheets/_blog.scss */
.blog-social-link:hover {
  color: #1F5C96;
}

/* line 573, app/assets/stylesheets/_blog.scss */
.blog-article-cta {
  border-top: 1px solid #E5E7EB;
  border-bottom: 1px solid #E5E7EB;
  color: #4B5563;
  font-style: italic;
  padding: 1rem 0 !important;
  margin: 1.5rem 0 !important;
}

/* line 581, app/assets/stylesheets/_blog.scss */
.blog-article-cta a {
  color: #1F5C96;
  text-decoration: none;
  font-weight: 500;
}

/* line 586, app/assets/stylesheets/_blog.scss */
.blog-article-cta a:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 605, app/assets/stylesheets/_blog.scss */
.blog-article-page {
  background-color: #F9FAFB;
  min-height: 100vh;
}

/* line 610, app/assets/stylesheets/_blog.scss */
.blog-article-container {
  background-color: #FFFFFF;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.04);
}

/* line 620, app/assets/stylesheets/_blog.scss */
.blog-reading-column {
  max-width: 720px;
  margin: 0 auto;
  padding: 3rem 1.5rem 4rem;
}

@media (min-width: 768px) {
  /* line 620, app/assets/stylesheets/_blog.scss */
  .blog-reading-column {
    padding: 4rem 2rem 5rem;
  }
}

/* line 634, app/assets/stylesheets/_blog.scss */
.blog-article-header {
  padding-bottom: 1.25rem;
  margin-bottom: 3.5rem;
  border-bottom: 1px solid #D1D5DB;
}

/* line 641, app/assets/stylesheets/_blog.scss */
.blog-article-nav-row {
  margin-bottom: 1.5rem;
}

/* line 645, app/assets/stylesheets/_blog.scss */
.blog-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  color: #9CA3AF;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 654, app/assets/stylesheets/_blog.scss */
.blog-back-link:hover {
  color: #323C47;
}

/* line 658, app/assets/stylesheets/_blog.scss */
.blog-back-link i {
  font-size: 0.875rem;
}

/* line 664, app/assets/stylesheets/_blog.scss */
.blog-article-identity {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
  font-size: 0.6875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* line 675, app/assets/stylesheets/_blog.scss */
.blog-publication-name {
  color: #123B66;
}

/* line 679, app/assets/stylesheets/_blog.scss */
.blog-identity-sep {
  color: #D1D5DB;
}

/* line 683, app/assets/stylesheets/_blog.scss */
.blog-content-type {
  color: #9CA3AF;
}

/* line 687, app/assets/stylesheets/_blog.scss */
.blog-topic {
  color: #9CA3AF;
}

/* line 692, app/assets/stylesheets/_blog.scss */
.blog-article-page .blog-article-title {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: #1F2933;
  margin-bottom: 1rem !important;
}

@media (min-width: 768px) {
  /* line 692, app/assets/stylesheets/_blog.scss */
  .blog-article-page .blog-article-title {
    font-size: 2.5rem;
  }
}

/* line 706, app/assets/stylesheets/_blog.scss */
.blog-article-dek {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1.125rem;
  font-weight: 400;
  color: #6B7280;
  line-height: 1.5;
  margin-bottom: 1.75rem;
}

@media (min-width: 768px) {
  /* line 706, app/assets/stylesheets/_blog.scss */
  .blog-article-dek {
    font-size: 1.25rem;
  }
}

/* line 720, app/assets/stylesheets/_blog.scss */
.blog-author-byline {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding-top: 1.25rem;
  border-top: 1px solid #E5E7EB;
}

/* line 728, app/assets/stylesheets/_blog.scss */
.blog-author-photo {
  position: relative;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}

/* line 735, app/assets/stylesheets/_blog.scss */
.blog-author-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  z-index: 2;
}

/* line 747, app/assets/stylesheets/_blog.scss */
.blog-author-initials {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #E4EEF8;
  color: #123B66;
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 761, app/assets/stylesheets/_blog.scss */
.blog-author-info {
  flex-grow: 1;
}

/* line 765, app/assets/stylesheets/_blog.scss */
.blog-author-name {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #1F2933;
  line-height: 1.2;
}

/* line 772, app/assets/stylesheets/_blog.scss */
.blog-author-name a {
  color: inherit;
  text-decoration: none;
}

/* line 776, app/assets/stylesheets/_blog.scss */
.blog-author-name a:hover {
  color: #1F5C96;
}

/* line 782, app/assets/stylesheets/_blog.scss */
.blog-author-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  line-height: 1.2;
}

/* line 789, app/assets/stylesheets/_blog.scss */
.blog-author-title {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 794, app/assets/stylesheets/_blog.scss */
.blog-author-social {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 799, app/assets/stylesheets/_blog.scss */
.blog-author-social a {
  color: #B8BFC7;
  font-size: 0.875rem;
  transition: color 0.15s ease;
}

/* line 804, app/assets/stylesheets/_blog.scss */
.blog-author-social a:hover {
  color: #1F5C96;
}

/* line 810, app/assets/stylesheets/_blog.scss */
.blog-article-date {
  text-align: right;
  flex-shrink: 0;
}

/* line 814, app/assets/stylesheets/_blog.scss */
.blog-article-date time {
  display: block;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #4B5563;
  line-height: 1.2;
}

/* line 822, app/assets/stylesheets/_blog.scss */
.blog-article-date .blog-reading-time {
  display: block;
  font-size: 0.75rem;
  color: #9CA3AF;
  line-height: 1.2;
}

/* line 831, app/assets/stylesheets/_blog.scss */
.blog-article-category {
  margin-bottom: 1.25rem;
}

/* line 835, app/assets/stylesheets/_blog.scss */
.blog-meta-sep {
  color: #D1D5DB;
}

/* line 839, app/assets/stylesheets/_blog.scss */
.blog-author {
  font-weight: 500;
}

/* line 848, app/assets/stylesheets/_blog.scss */
.blog-article-body {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1.0625rem;
  line-height: 1.8;
  color: #323C47;
}

@media (min-width: 768px) {
  /* line 848, app/assets/stylesheets/_blog.scss */
  .blog-article-body {
    font-size: 1.125rem;
  }
}

/* line 859, app/assets/stylesheets/_blog.scss */
.blog-article-body p {
  margin-bottom: 1.75rem;
}

/* line 864, app/assets/stylesheets/_blog.scss */
.blog-article-body h2 {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1.375rem;
  font-weight: 500;
  color: #1F2933;
  margin-top: 3rem;
  margin-bottom: 1.25rem;
  line-height: 1.3;
}

@media (min-width: 768px) {
  /* line 864, app/assets/stylesheets/_blog.scss */
  .blog-article-body h2 {
    font-size: 1.5rem;
  }
}

/* line 878, app/assets/stylesheets/_blog.scss */
.blog-article-body h3 {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #323C47;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  line-height: 1.35;
}

@media (min-width: 768px) {
  /* line 878, app/assets/stylesheets/_blog.scss */
  .blog-article-body h3 {
    font-size: 1.25rem;
  }
}

/* line 892, app/assets/stylesheets/_blog.scss */
.blog-article-body h4 {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1rem;
  font-weight: 500;
  color: #323C47;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  line-height: 1.4;
}

@media (min-width: 768px) {
  /* line 892, app/assets/stylesheets/_blog.scss */
  .blog-article-body h4 {
    font-size: 1.125rem;
  }
}

/* line 907, app/assets/stylesheets/_blog.scss */
.blog-article-body ul, .blog-article-body ol {
  margin-bottom: 1.75rem;
  padding-left: 1.5rem;
}

/* line 911, app/assets/stylesheets/_blog.scss */
.blog-article-body ul li, .blog-article-body ol li {
  margin-bottom: 0.5rem;
  line-height: 1.75;
}

/* line 918, app/assets/stylesheets/_blog.scss */
.blog-article-body blockquote {
  border-left: 4px solid #4C7FB5;
  padding-left: 1.5rem;
  margin: 2rem 0;
  font-style: italic;
  color: #6B7280;
}

/* line 927, app/assets/stylesheets/_blog.scss */
.blog-article-body a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 931, app/assets/stylesheets/_blog.scss */
.blog-article-body a:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 938, app/assets/stylesheets/_blog.scss */
.blog-article-body strong {
  font-weight: 500;
  color: #323C47;
}

/* line 950, app/assets/stylesheets/_blog.scss */
.blog-article-body figure,
.blog-article-body .blog-figure {
  margin: 2.5rem 0;
}

/* line 955, app/assets/stylesheets/_blog.scss */
.blog-article-body img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  background-color: #F9FAFB;
  border: 1px solid #F3F4F6;
}

/* line 964, app/assets/stylesheets/_blog.scss */
.blog-article-body iframe {
  max-width: 100%;
  margin: 1.5rem 0;
}

/* line 969, app/assets/stylesheets/_blog.scss */
.blog-article-body figcaption {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  color: #9CA3AF;
  line-height: 1.5;
  font-style: italic;
}

/* line 979, app/assets/stylesheets/_blog.scss */
.blog-figure--wide {
  margin-left: -2rem;
  margin-right: -2rem;
}

@media (max-width: 768px) {
  /* line 979, app/assets/stylesheets/_blog.scss */
  .blog-figure--wide {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}

/* line 990, app/assets/stylesheets/_blog.scss */
.blog-chart-container {
  border-radius: 8px;
  background-color: #F9FAFB;
  border: 1px solid #F3F4F6;
  padding: 1rem;
}

/* line 998, app/assets/stylesheets/_blog.scss */
.blog-map-container {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #E5E7EB;
}

/* line 1004, app/assets/stylesheets/_blog.scss */
.blog-map-container .leaflet-popup-content-wrapper {
  font-family: 'Inter', sans-serif;
  border-radius: 6px;
}

/* line 1014, app/assets/stylesheets/_blog.scss */
.blog-article-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
  margin: 2rem 0;
}

/* line 1020, app/assets/stylesheets/_blog.scss */
.blog-article-body table th, .blog-article-body table td {
  padding: 0.75rem 1rem;
  text-align: left;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1026, app/assets/stylesheets/_blog.scss */
.blog-article-body table th {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9CA3AF;
  background-color: #F9FAFB;
}

/* line 1035, app/assets/stylesheets/_blog.scss */
.blog-article-body table tbody tr:hover {
  background-color: #F9FAFB;
}

@media (max-width: 768px) {
  /* line 1014, app/assets/stylesheets/_blog.scss */
  .blog-article-body table {
    font-size: 0.875rem;
  }
  /* line 1043, app/assets/stylesheets/_blog.scss */
  .blog-article-body table th, .blog-article-body table td {
    padding: 0.5rem 0.75rem;
  }
}

/* line 1058, app/assets/stylesheets/_blog.scss */
.blog-article-body .blog-key-takeaways {
  background-color: #F9FAFB;
  border-left: 4px solid #1F5C96;
  border-radius: 0 6px 6px 0;
  padding: 1.5rem 1.5rem 1.5rem 1.25rem;
  margin: 0 0 2.5rem 0;
}

/* line 1065, app/assets/stylesheets/_blog.scss */
.blog-article-body .blog-key-takeaways h4 {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #123B66;
  margin: 0 0 1rem 0 !important;
}

/* line 1075, app/assets/stylesheets/_blog.scss */
.blog-article-body .blog-key-takeaways ul {
  margin: 0;
  padding-left: 1.25rem;
}

/* line 1079, app/assets/stylesheets/_blog.scss */
.blog-article-body .blog-key-takeaways ul li {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  color: #4B5563;
  margin-bottom: 0.5rem;
  line-height: 1.5;
}

/* line 1086, app/assets/stylesheets/_blog.scss */
.blog-article-body .blog-key-takeaways ul li:last-child {
  margin-bottom: 0;
}

/* line 1090, app/assets/stylesheets/_blog.scss */
.blog-article-body .blog-key-takeaways ul li strong {
  color: #1F2933;
}

/* line 1102, app/assets/stylesheets/_blog.scss */
.blog-newsletter-cta {
  margin: 3rem 0 0;
  padding: 1.5rem 0;
  border-top: 1px solid #E5E7EB;
  border-bottom: 1px solid #E5E7EB;
  text-align: center;
}

/* line 1109, app/assets/stylesheets/_blog.scss */
.blog-newsletter-cta p {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1rem;
  color: #6B7280;
  margin: 0;
}

/* line 1115, app/assets/stylesheets/_blog.scss */
.blog-newsletter-cta p a {
  color: #1F5C96;
  font-weight: 500;
  text-decoration: none;
}

/* line 1120, app/assets/stylesheets/_blog.scss */
.blog-newsletter-cta p a:hover {
  text-decoration: underline;
}

/* line 1128, app/assets/stylesheets/_blog.scss */
.blog-dataset-download {
  margin: 2.5rem 0;
}

/* line 1137, app/assets/stylesheets/_blog.scss */
.blog-related-section {
  background-color: #F9FAFB;
  padding: 3rem 0;
  border-top: 1px solid #E5E7EB;
}

/* line 1143, app/assets/stylesheets/_blog.scss */
.blog-related-header {
  max-width: 720px;
  margin: 0 auto 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 1152, app/assets/stylesheets/_blog.scss */
.blog-related-heading {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 1161, app/assets/stylesheets/_blog.scss */
.blog-sort-toggle {
  display: inline-flex;
  background-color: #F3F4F6;
  border-radius: 2rem;
  padding: 0.25rem;
}

/* line 1168, app/assets/stylesheets/_blog.scss */
.blog-sort-btn {
  padding: 0.5rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  background: transparent;
  border: none;
  border-radius: 2rem;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 1179, app/assets/stylesheets/_blog.scss */
.blog-sort-btn:hover:not(.active) {
  color: #323C47;
}

/* line 1183, app/assets/stylesheets/_blog.scss */
.blog-sort-btn.active {
  background-color: #FFFFFF;
  color: #1F2933;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* line 1191, app/assets/stylesheets/_blog.scss */
.blog-posts-container {
  position: relative;
  max-width: 720px;
  margin: 0 auto;
}

/* line 1198, app/assets/stylesheets/_blog.scss */
.blog-posts-list {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

/* line 1207, app/assets/stylesheets/_blog.scss */
.blog-posts-list.active {
  opacity: 1;
  visibility: visible;
  position: relative;
}

/* line 1214, app/assets/stylesheets/_blog.scss */
.blog-post-row {
  padding: 1.25rem 0;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1218, app/assets/stylesheets/_blog.scss */
.blog-post-row:first-child {
  padding-top: 0;
}

/* line 1222, app/assets/stylesheets/_blog.scss */
.blog-post-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* line 1232, app/assets/stylesheets/_blog.scss */
.blog-post-row-title {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.35;
  margin: 0 0 0.5rem;
}

/* line 1239, app/assets/stylesheets/_blog.scss */
.blog-post-row-title a {
  color: #323C47;
  text-decoration: none;
}

/* line 1243, app/assets/stylesheets/_blog.scss */
.blog-post-row-title a:hover {
  color: #1F5C96;
}

/* line 1249, app/assets/stylesheets/_blog.scss */
.blog-post-row-excerpt {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #6B7280;
  margin: 0 0 0.5rem;
}

/* line 1257, app/assets/stylesheets/_blog.scss */
.blog-post-row-meta {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1261, app/assets/stylesheets/_blog.scss */
.blog-post-row-meta time {
  color: inherit;
}

/* line 1267, app/assets/stylesheets/_blog.scss */
.blog-see-all {
  max-width: 720px;
  margin: 1.5rem auto 0;
  text-align: center;
}

/* line 1273, app/assets/stylesheets/_blog.scss */
.blog-see-all-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 1283, app/assets/stylesheets/_blog.scss */
.blog-see-all-link:hover {
  color: #1F5C96;
}

/* line 1287, app/assets/stylesheets/_blog.scss */
.blog-see-all-link i {
  font-size: 0.875rem;
}

/* line 1293, app/assets/stylesheets/_blog.scss */
.blog-related-title {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* line 1303, app/assets/stylesheets/_blog.scss */
.blog-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

@media (max-width: 992px) {
  /* line 1303, app/assets/stylesheets/_blog.scss */
  .blog-related-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  /* line 1303, app/assets/stylesheets/_blog.scss */
  .blog-related-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* line 1318, app/assets/stylesheets/_blog.scss */
.blog-related-card {
  background: #FFFFFF;
  padding: 1.25rem;
  border-radius: 8px;
  border: 1px solid #E5E7EB;
  transition: box-shadow 0.2s ease;
}

/* line 1325, app/assets/stylesheets/_blog.scss */
.blog-related-card:hover {
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 1329, app/assets/stylesheets/_blog.scss */
.blog-related-card time {
  font-size: 0.8125rem;
  color: #9CA3AF;
}

/* line 1335, app/assets/stylesheets/_blog.scss */
.blog-related-category {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.375rem;
}

/* line 1345, app/assets/stylesheets/_blog.scss */
.blog-related-card-title {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.35;
  margin: 0.25rem 0 0.5rem;
}

/* line 1352, app/assets/stylesheets/_blog.scss */
.blog-related-card-title a {
  color: #323C47;
  text-decoration: none;
}

/* line 1356, app/assets/stylesheets/_blog.scss */
.blog-related-card-title a:hover {
  color: #1F5C96;
}

@media print {
  /* line 1367, app/assets/stylesheets/_blog.scss */
  .blog-article-page {
    background-color: white;
  }
  /* line 1371, app/assets/stylesheets/_blog.scss */
  .blog-article-container {
    box-shadow: none;
  }
  /* line 1375, app/assets/stylesheets/_blog.scss */
  .blog-related-section,
.blog-newsletter-cta {
    display: none !important;
  }
  /* line 1380, app/assets/stylesheets/_blog.scss */
  .blog-reading-column {
    max-width: none;
    padding: 0;
  }
  /* line 1385, app/assets/stylesheets/_blog.scss */
  .blog-article-body {
    font-size: 12pt;
    line-height: 1.5;
    color: black;
  }
}

/* line 1403, app/assets/stylesheets/_blog.scss */
.blog-index-page {
  background-color: #F9FAFB;
  min-height: 100vh;
}

/* line 1408, app/assets/stylesheets/_blog.scss */
.blog-index-container {
  max-width: 900px;
  margin: 0 auto;
  padding: 2rem 1.5rem 4rem;
}

@media (min-width: 768px) {
  /* line 1408, app/assets/stylesheets/_blog.scss */
  .blog-index-container {
    padding: 3rem 2rem 5rem;
  }
}

/* line 1422, app/assets/stylesheets/_blog.scss */
.blog-index-hero {
  text-align: center;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1429, app/assets/stylesheets/_blog.scss */
.blog-index-identity {
  font-size: 0.6875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #123B66;
  margin-bottom: 0.75rem;
}

/* line 1438, app/assets/stylesheets/_blog.scss */
.blog-index-title {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 2rem;
  font-weight: 600;
  color: #1F2933;
  line-height: 1.2;
  margin-bottom: 0.75rem;
}

@media (min-width: 768px) {
  /* line 1438, app/assets/stylesheets/_blog.scss */
  .blog-index-title {
    font-size: 2.5rem;
  }
}

/* line 1451, app/assets/stylesheets/_blog.scss */
.blog-index-subtitle {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1rem;
  color: #6B7280;
  line-height: 1.6;
  max-width: 600px;
  margin: 0 auto 1rem;
}

@media (min-width: 768px) {
  /* line 1451, app/assets/stylesheets/_blog.scss */
  .blog-index-subtitle {
    font-size: 1.125rem;
  }
}

/* line 1464, app/assets/stylesheets/_blog.scss */
.blog-index-cta {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 0.9375rem;
  color: #9CA3AF;
  margin: 0;
}

/* line 1470, app/assets/stylesheets/_blog.scss */
.blog-index-cta a {
  color: #1F5C96;
  text-decoration: none;
  font-weight: 500;
}

/* line 1475, app/assets/stylesheets/_blog.scss */
.blog-index-cta a:hover {
  text-decoration: underline;
}

/* line 1485, app/assets/stylesheets/_blog.scss */
.blog-index-tabs {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1493, app/assets/stylesheets/_blog.scss */
.blog-tab {
  display: inline-block;
  padding: 0.75rem 0.25rem;
  margin-bottom: -1px;
  font-size: 1rem;
  font-weight: 500;
  color: #6B7280;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: all 0.15s ease;
}

/* line 1504, app/assets/stylesheets/_blog.scss */
.blog-tab:hover {
  color: #323C47;
}

/* line 1508, app/assets/stylesheets/_blog.scss */
.blog-tab.active {
  color: #123B66;
  border-bottom-color: #123B66;
}

/* line 1514, app/assets/stylesheets/_blog.scss */
.blog-index-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 2.5rem;
}

/* line 1522, app/assets/stylesheets/_blog.scss */
.blog-filter-pill {
  display: inline-block;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 2rem;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 1534, app/assets/stylesheets/_blog.scss */
.blog-filter-pill:hover {
  color: #323C47;
  border-color: #D1D5DB;
}

/* line 1539, app/assets/stylesheets/_blog.scss */
.blog-filter-pill.active {
  color: #123B66;
  background-color: #F4F7FC;
  border-color: #A3C4E0;
}

/* line 1550, app/assets/stylesheets/_blog.scss */
.blog-index-section {
  margin-bottom: 3rem;
}

/* line 1554, app/assets/stylesheets/_blog.scss */
.blog-index-section-header {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9CA3AF;
  padding-bottom: 0.75rem;
  margin-bottom: 1.25rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1570, app/assets/stylesheets/_blog.scss */
.blog-index-category {
  display: block;
  font-size: 0.6875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9CA3AF;
  margin-bottom: 0.375rem;
}

/* line 1588, app/assets/stylesheets/_blog.scss */
.blog-featured-item {
  padding: 1.5rem 0;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1592, app/assets/stylesheets/_blog.scss */
.blog-featured-item:first-child {
  padding-top: 0;
}

/* line 1596, app/assets/stylesheets/_blog.scss */
.blog-featured-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* line 1602, app/assets/stylesheets/_blog.scss */
.blog-featured-title {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.3;
  margin: 0 0 0.5rem;
}

@media (min-width: 768px) {
  /* line 1602, app/assets/stylesheets/_blog.scss */
  .blog-featured-title {
    font-size: 1.5rem;
  }
}

/* line 1613, app/assets/stylesheets/_blog.scss */
.blog-featured-title a {
  color: #1F2933;
  text-decoration: none;
}

/* line 1617, app/assets/stylesheets/_blog.scss */
.blog-featured-title a:hover {
  color: #1F5C96;
}

/* line 1623, app/assets/stylesheets/_blog.scss */
.blog-featured-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-bottom: 0.75rem;
}

/* line 1631, app/assets/stylesheets/_blog.scss */
.blog-featured-meta .blog-meta-sep {
  color: #D1D5DB;
}

/* line 1636, app/assets/stylesheets/_blog.scss */
.blog-featured-excerpt {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1rem;
  line-height: 1.6;
  color: #6B7280;
  margin: 0;
}

/* line 1648, app/assets/stylesheets/_blog.scss */
.blog-latest-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 576px) {
  /* line 1648, app/assets/stylesheets/_blog.scss */
  .blog-latest-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}

/* line 1659, app/assets/stylesheets/_blog.scss */
.blog-latest-card {
  display: block;
  background: #FFFFFF;
  padding: 1.25rem;
  border-radius: 8px;
  border: 1px solid #E5E7EB;
  text-decoration: none;
  transition: border-color 0.15s ease;
}

/* line 1668, app/assets/stylesheets/_blog.scss */
.blog-latest-card:hover {
  border-color: #D1D5DB;
}

/* line 1671, app/assets/stylesheets/_blog.scss */
.blog-latest-card:hover .blog-latest-title {
  color: #1F5C96;
}

/* line 1677, app/assets/stylesheets/_blog.scss */
.blog-latest-title {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.35;
  color: #323C47;
  margin: 0 0 0.5rem;
  transition: color 0.15s ease;
}

/* line 1687, app/assets/stylesheets/_blog.scss */
.blog-latest-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1694, app/assets/stylesheets/_blog.scss */
.blog-latest-meta .blog-meta-sep {
  color: #D1D5DB;
}

/* line 1703, app/assets/stylesheets/_blog.scss */
.blog-index-pagination {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}

@media print {
  /* line 1714, app/assets/stylesheets/_blog.scss */
  .blog-index-page {
    background-color: white;
  }
  /* line 1718, app/assets/stylesheets/_blog.scss */
  .blog-index-filters,
.blog-index-cta {
    display: none !important;
  }
}

/* line 1731, app/assets/stylesheets/_blog.scss */
.blog-inline-cta {
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 1.75rem 2rem;
  margin: 3rem 0;
}

@media (max-width: 576px) {
  /* line 1731, app/assets/stylesheets/_blog.scss */
  .blog-inline-cta {
    padding: 1.5rem 1.25rem;
    margin: 2.5rem 0;
  }
}

/* line 1744, app/assets/stylesheets/_blog.scss */
.blog-inline-cta-header {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #323C47;
  line-height: 1.35;
  margin: 0 0 0.625rem 0;
}

/* line 1753, app/assets/stylesheets/_blog.scss */
.blog-inline-cta-text {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 1rem;
  color: #6B7280;
  line-height: 1.7;
  margin: 0 0 1rem 0;
}

/* line 1760, app/assets/stylesheets/_blog.scss */
.blog-inline-cta-text:last-child {
  margin-bottom: 0;
}

/* line 1765, app/assets/stylesheets/_blog.scss */
.blog-cta-link {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 1773, app/assets/stylesheets/_blog.scss */
.blog-cta-link:hover {
  color: #1F2933;
}

/* line 7, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-kpi-compact {
  padding: 1rem !important;
  min-height: auto;
}

/* line 11, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-kpi-compact .rounded-circle {
  width: 40px !important;
  height: 40px !important;
}

/* line 16, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-kpi-compact h6 {
  font-size: 0.85rem !important;
}

/* line 20, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-kpi-compact h3 {
  font-size: 1.5rem !important;
}

/* line 24, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-kpi-compact small {
  font-size: 0.8rem;
}

/* line 30, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-filings-body {
  padding-bottom: 1rem !important;
}

/* line 34, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-filings-body.d-flex {
  padding: 1rem !important;
}

/* line 40, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-filing-item {
  padding: 1.25rem;
  transition: background-color 0.15s ease;
}

/* line 44, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-filing-item:hover {
  background-color: var(--blue-grey-050) !important;
}

/* line 48, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-filing-item.border-bottom {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

/* line 53, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-filing-item .fw-medium {
  line-height: 1.5;
}

/* line 58, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-filing-item .d-flex.justify-content-between.align-items-center {
  padding-bottom: 0.5rem;
}

/* line 64, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-filing-meta {
  font-size: 0.85rem;
  color: var(--blue-grey-600);
  line-height: 1.5;
}

/* line 71, app/assets/stylesheets/campaign_finance/_committees.scss */
.badge-sm {
  font-size: 0.7rem;
  padding: 0.2rem 0.4rem;
}

/* line 77, app/assets/stylesheets/campaign_finance/_committees.scss */
.obfuscated-amount {
  filter: blur(8px);
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
}

/* line 86, app/assets/stylesheets/campaign_finance/_committees.scss */
.committees-search-form .form-select {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 767px) {
  /* line 95, app/assets/stylesheets/campaign_finance/_committees.scss */
  .committees-search-form > * {
    margin-bottom: 0.75rem;
  }
}

@media (max-width: 991px) {
  /* line 101, app/assets/stylesheets/campaign_finance/_committees.scss */
  .committees-search-form .btn {
    width: 100% !important;
  }
}

/* line 106, app/assets/stylesheets/campaign_finance/_committees.scss */
.committees-explainer {
  background-color: #F9FAFB;
  padding: 1rem 1.25rem;
}

/* line 111, app/assets/stylesheets/campaign_finance/_committees.scss */
.committees-explainer-icon {
  color: #9CA3AF;
}

/* line 115, app/assets/stylesheets/campaign_finance/_committees.scss */
.committees-explainer-muted {
  color: #9CA3AF;
}

/* line 124, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-header {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 1.5rem;
}

/* line 131, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-header.committee-terminated {
  background-color: #FFFFFF;
  border-color: #D1D5DB;
}

/* line 137, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-header-inner {
  padding: 1.25rem 1.5rem;
}

@media (max-width: 768px) {
  /* line 137, app/assets/stylesheets/campaign_finance/_committees.scss */
  .committee-header-inner {
    padding: 1rem;
  }
}

/* line 145, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-header-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 154, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-header-type-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 160, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border-radius: 4px;
}

/* line 170, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-type-badge.committee-type-candidate {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 175, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-type-badge.committee-type-pac, .committee-type-badge.committee-type-general {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 181, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-type-badge.committee-type-measure {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 186, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-type-badge.committee-type-major-donor {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 191, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-type-badge.committee-type-primarily-formed {
  background-color: #E5E7EB;
  color: #4B5563;
}

/* line 196, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-type-badge.committee-type-sponsored {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 202, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-status {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 4px;
}

/* line 210, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-status.status-active {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 215, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-status.status-terminated {
  background-color: #E5E7EB;
  color: #4B5563;
}

/* line 220, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-status.status-suspended {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 226, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-header-ids {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 235, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-id {
  font-family: monospace;
  color: #4B5563;
}

/* line 240, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-id-separator {
  color: #B8BFC7;
}

/* line 244, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-filed {
  color: #9CA3AF;
}

/* line 248, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-terminated-date {
  color: #9CA3AF;
}

/* line 252, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-header-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.75rem 0;
  line-height: 1.3;
}

@media (max-width: 768px) {
  /* line 252, app/assets/stylesheets/campaign_finance/_committees.scss */
  .committee-header-name {
    font-size: 1.125rem;
  }
}

/* line 263, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-terminated .committee-header-name {
  color: #4B5563;
}

/* line 268, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-header-context {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
}

/* line 277, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-candidate,
.committee-office {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 284, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-context-label {
  color: #9CA3AF;
}

/* line 288, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-candidate-name,
.committee-office-name,
.committee-measure-name {
  color: #1F5C96;
  text-decoration: none;
  font-weight: 500;
}

/* line 295, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-candidate-name:hover,
.committee-office-name:hover,
.committee-measure-name:hover {
  text-decoration: underline;
  color: #123B66;
}

/* line 301, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-candidate-name-plain,
.committee-office-name-plain,
.committee-measure-name-plain {
  color: #1F2933;
  font-weight: 500;
}

/* line 308, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-candidate-party {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 4px;
}

/* line 318, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-candidate-party.party-democrat {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 323, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-candidate-party.party-republican {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 328, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-candidate-party.party-other {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 334, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-header-elections {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 341, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-elections-label {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 346, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-elections-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

/* line 352, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-election-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.625rem;
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 363, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-election-link:hover {
  background-color: #F3F4F6;
  border-color: #D1D5DB;
}

/* line 369, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-election-date {
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 375, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-election-type {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 384, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-header-nav {
  display: flex;
  align-items: center;
  padding: 0 1.5rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* line 395, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-header-nav::-webkit-scrollbar {
  display: none;
}

@media (max-width: 768px) {
  /* line 384, app/assets/stylesheets/campaign_finance/_committees.scss */
  .committee-header-nav {
    padding: 0 1rem;
  }
}

/* line 404, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-nav-sections {
  display: flex;
  align-items: center;
  gap: 0;
}

/* line 410, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.875rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  white-space: nowrap;
  transition: all 0.15s ease;
}

/* line 424, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-nav-link i {
  font-size: 0.875rem;
}

/* line 428, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-nav-link:hover {
  color: #1F2933;
  background-color: rgba(31, 41, 51, 0.04);
}

/* line 433, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-nav-link.active {
  color: #123B66;
  border-bottom-color: #1F5C96;
  font-weight: 500;
}

/* line 441, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-nav-mobile {
  display: none;
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

@media (max-width: 768px) {
  /* line 441, app/assets/stylesheets/campaign_finance/_committees.scss */
  .committee-nav-mobile {
    display: block;
  }
}

/* line 451, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-nav-mobile .committee-nav-mobile-label {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  margin-bottom: 0.375rem;
}

/* line 460, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-nav-mobile .committee-nav-mobile-label i {
  font-size: 0.75rem;
}

/* line 465, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-nav-mobile select {
  width: 100%;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: #1F2933;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  background-color: #FFFFFF;
  cursor: pointer;
}

/* line 475, app/assets/stylesheets/campaign_finance/_committees.scss */
.committee-nav-mobile select:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.15);
}

@media (max-width: 768px) {
  /* line 485, app/assets/stylesheets/campaign_finance/_committees.scss */
  .committee-header-nav {
    display: none;
  }
  /* line 489, app/assets/stylesheets/campaign_finance/_committees.scss */
  .committee-nav-mobile {
    display: block;
  }
}

/* line 499, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-overview {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 1.5rem;
}

/* line 507, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-overview-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 518, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-overview-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 525, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-overview-subtitle {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin: 0;
}

/* line 531, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-time-selector {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 537, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-time-label {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 542, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-time-chips {
  display: flex;
  gap: 0.25rem;
}

@media (max-width: 768px) {
  /* line 542, app/assets/stylesheets/campaign_finance/_committees.scss */
  .financial-time-chips {
    display: none;
  }
}

/* line 551, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-time-chip {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 562, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-time-chip:hover {
  border-color: #D1D5DB;
  background-color: #F9FAFB;
}

/* line 567, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-time-chip.active {
  background-color: #1F5C96;
  border-color: #1F5C96;
  color: #FFFFFF;
}

/* line 574, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-time-select {
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  cursor: pointer;
}

/* line 583, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-time-select:focus {
  outline: none;
  border-color: #1F5C96;
}

@media (min-width: 769px) {
  /* line 574, app/assets/stylesheets/campaign_finance/_committees.scss */
  .financial-time-select {
    display: none;
  }
}

/* line 594, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background-color: #E5E7EB;
}

@media (max-width: 992px) {
  /* line 594, app/assets/stylesheets/campaign_finance/_committees.scss */
  .financial-cards {
    grid-template-columns: 1fr;
  }
}

/* line 605, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-card {
  padding: 1.25rem;
  background-color: #FFFFFF;
}

@media (max-width: 992px) {
  /* line 605, app/assets/stylesheets/campaign_finance/_committees.scss */
  .financial-card {
    border-bottom: 1px solid #E5E7EB;
  }
  /* line 612, app/assets/stylesheets/campaign_finance/_committees.scss */
  .financial-card:last-child {
    border-bottom: none;
  }
}

/* line 618, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-card-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 625, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 6px;
  font-size: 0.875rem;
}

/* line 634, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-raised .financial-card-icon {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 639, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-spent .financial-card-icon {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 644, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-position .financial-card-icon {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 650, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-card-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 656, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-year-badge {
  margin-left: auto;
  padding: 0.125rem 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #123B66;
  background-color: #E4EEF8;
  border-radius: 4px;
}

/* line 666, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-card-amount {
  font-family: 'Inter', sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: #1F2933;
  margin-bottom: 0.75rem;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 768px) {
  /* line 666, app/assets/stylesheets/campaign_finance/_committees.scss */
  .financial-card-amount {
    font-size: 1.25rem;
  }
}

/* line 679, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-card-details {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding-top: 0.75rem;
  border-top: 1px solid #F3F4F6;
}

/* line 687, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-detail-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 693, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-detail-label {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 698, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-detail-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 704, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-detail-value.has-debt {
  color: #9B2331;
}

/* line 708, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-detail-value.no-debt {
  color: #B8BFC7;
  font-weight: 400;
}

/* line 714, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-period {
  font-size: 0.75rem;
  color: #B8BFC7;
}

/* line 720, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-overview-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 731, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-card-empty .financial-card-amount {
  color: #B8BFC7;
}

/* line 735, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-card-empty .financial-card-details {
  border-top: none;
  padding-top: 0;
}

/* line 741, app/assets/stylesheets/campaign_finance/_committees.scss */
.financial-empty-message {
  font-size: 0.875rem;
  color: #9CA3AF;
  line-height: 1.5;
}

/* line 751, app/assets/stylesheets/campaign_finance/_committees.scss */
.recent-activity-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: start;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

@media (max-width: 992px) {
  /* line 751, app/assets/stylesheets/campaign_finance/_committees.scss */
  .recent-activity-grid {
    grid-template-columns: 1fr;
  }
}

/* line 767, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 774, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 785, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-card-title-group {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 791, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-card-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 798, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-card-badge {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #F3F4F6;
  border-radius: 4px;
}

/* line 807, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-view-all {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  transition: color 0.15s ease;
}

/* line 817, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-view-all:hover {
  color: #123B66;
}

/* line 821, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-view-all i {
  font-size: 0.75rem;
}

/* line 826, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-list {
  display: flex;
  flex-direction: column;
}

/* line 831, app/assets/stylesheets/campaign_finance/_committees.scss */
.filing-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 840, app/assets/stylesheets/campaign_finance/_committees.scss */
.filing-item:last-child {
  border-bottom: none;
}

/* line 844, app/assets/stylesheets/campaign_finance/_committees.scss */
.filing-item:hover {
  background-color: #F9FAFB;
}

/* line 849, app/assets/stylesheets/campaign_finance/_committees.scss */
.filing-info {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

/* line 855, app/assets/stylesheets/campaign_finance/_committees.scss */
.filing-period {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 861, app/assets/stylesheets/campaign_finance/_committees.scss */
.filing-period-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 866, app/assets/stylesheets/campaign_finance/_committees.scss */
.filing-period-dates {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 872, app/assets/stylesheets/campaign_finance/_committees.scss */
.filing-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 878, app/assets/stylesheets/campaign_finance/_committees.scss */
.filing-date {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 883, app/assets/stylesheets/campaign_finance/_committees.scss */
.filing-type {
  font-size: 0.75rem;
  font-weight: 500;
  color: #123B66;
  background-color: #F4F7FC;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
}

/* line 892, app/assets/stylesheets/campaign_finance/_committees.scss */
.filing-actions {
  display: flex;
  gap: 0.5rem;
}

/* line 897, app/assets/stylesheets/campaign_finance/_committees.scss */
.filing-action-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 908, app/assets/stylesheets/campaign_finance/_committees.scss */
.filing-action-btn.filing-view {
  color: #123B66;
  background-color: #F4F7FC;
  border: 1px solid #E4EEF8;
}

/* line 913, app/assets/stylesheets/campaign_finance/_committees.scss */
.filing-action-btn.filing-view:hover {
  background-color: #E4EEF8;
  border-color: #A3C4E0;
}

/* line 919, app/assets/stylesheets/campaign_finance/_committees.scss */
.filing-action-btn.filing-download {
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
}

/* line 924, app/assets/stylesheets/campaign_finance/_committees.scss */
.filing-action-btn.filing-download:hover {
  background-color: #F9FAFB;
  border-color: #D1D5DB;
}

/* line 931, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-card-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 937, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-footer-note {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 943, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 2.5rem 1.25rem;
  text-align: center;
}

/* line 952, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-empty i {
  font-size: 1.875rem;
  color: #D1D5DB;
}

/* line 957, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-empty p {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
  max-width: 280px;
}

/* line 969, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 976, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 987, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-card-title-group {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 993, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-card-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 1000, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-card-badge {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #C4681A;
  background-color: #FDF0E3;
  border-radius: 4px;
}

/* line 1009, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-total {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1015, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-total-label {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1020, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-total-amount {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F6B4E;
  font-variant-numeric: tabular-nums;
}

/* line 1027, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-notice {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background-color: #F4F7FC;
  border-bottom: 1px solid #E5E7EB;
  font-size: 0.75rem;
  color: #123B66;
}

/* line 1037, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-notice i {
  font-size: 0.875rem;
}

/* line 1042, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-list {
  display: flex;
  flex-direction: column;
}

/* line 1047, app/assets/stylesheets/campaign_finance/_committees.scss */
.contribution-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 1055, app/assets/stylesheets/campaign_finance/_committees.scss */
.contribution-item:last-child {
  border-bottom: none;
}

/* line 1059, app/assets/stylesheets/campaign_finance/_committees.scss */
.contribution-item:hover {
  background-color: #F9FAFB;
}

/* line 1064, app/assets/stylesheets/campaign_finance/_committees.scss */
.contribution-info {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
  flex: 1;
}

/* line 1072, app/assets/stylesheets/campaign_finance/_committees.scss */
.contribution-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 1081, app/assets/stylesheets/campaign_finance/_committees.scss */
.contribution-name:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 1087, app/assets/stylesheets/campaign_finance/_committees.scss */
.contribution-name-plain {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 1096, app/assets/stylesheets/campaign_finance/_committees.scss */
.contribution-detail {
  font-size: 0.75rem;
  color: #9CA3AF;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 1104, app/assets/stylesheets/campaign_finance/_committees.scss */
.contribution-date {
  font-size: 0.75rem;
  color: #B8BFC7;
}

/* line 1109, app/assets/stylesheets/campaign_finance/_committees.scss */
.contribution-amount {
  font-size: 1rem;
  font-weight: 700;
  color: #1F6B4E;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}

/* line 1117, app/assets/stylesheets/campaign_finance/_committees.scss */
.late-contrib-donor {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 1123, app/assets/stylesheets/campaign_finance/_committees.scss */
.late-contrib-donor-name {
  font-weight: 500;
  color: #1F2933;
}

/* line 1128, app/assets/stylesheets/campaign_finance/_committees.scss */
a.late-contrib-donor-name {
  color: #1F5C96;
  text-decoration: none;
}

/* line 1132, app/assets/stylesheets/campaign_finance/_committees.scss */
a.late-contrib-donor-name:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 1138, app/assets/stylesheets/campaign_finance/_committees.scss */
.late-contrib-donor-detail {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 1143, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-card-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 1149, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-view-all {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 1159, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-view-all:hover {
  color: #123B66;
}

/* line 1163, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-view-all i {
  font-size: 0.75rem;
}

/* line 1169, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 2.5rem 1.25rem;
  text-align: center;
}

/* line 1178, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-empty i {
  font-size: 1.875rem;
  color: #D1D5DB;
}

/* line 1183, app/assets/stylesheets/campaign_finance/_committees.scss */
.contributions-empty p {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
  max-width: 280px;
}

/* line 1195, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-filter-panel {
  padding: 1rem 1.25rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1201, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-filter-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  margin-bottom: 0.375rem;
}

/* line 1209, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-filter-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-top: 1rem;
}

/* line 1216, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-filter-apply-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #FFFFFF;
  background-color: #1F5C96;
  border: 1px solid #1F5C96;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 1230, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-filter-apply-btn:hover {
  background-color: #123B66;
  border-color: #123B66;
}

/* line 1237, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-table-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 1244, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-table-empty {
  padding: 3rem 1.5rem;
  text-align: center;
}

/* line 1248, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-table-empty i {
  font-size: 2.5rem;
  color: #B8BFC7;
  margin-bottom: 0.75rem;
  display: block;
}

/* line 1255, app/assets/stylesheets/campaign_finance/_committees.scss */
.filings-table-empty p {
  color: #9CA3AF;
  font-size: 0.875rem;
  margin: 0;
}

/* line 1267, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-source-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 4px;
  margin-right: 0.5rem;
  vertical-align: middle;
}

/* line 1276, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-source-ind {
  background-color: #1F5C96;
}

/* line 1280, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-source-com {
  background-color: #127A7A;
}

/* line 1284, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-source-oth {
  background-color: #9CA3AF;
}

/* line 1288, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-source-pty {
  background-color: #C4681A;
}

/* line 1292, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-source-scc {
  background-color: #1D5E96;
}

/* line 1297, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-progress-bar {
  height: 8px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 1304, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-progress-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
}

/* line 1311, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-bar-ind {
  background-color: #1F5C96;
}

/* line 1315, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-bar-com {
  background-color: #127A7A;
}

/* line 1319, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-bar-oth {
  background-color: #9CA3AF;
}

/* line 1323, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-bar-pty {
  background-color: #C4681A;
}

/* line 1327, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-bar-scc {
  background-color: #1D5E96;
}

/* line 1332, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-summary-total {
  background-color: #F9FAFB;
}

/* line 1335, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-summary-total td {
  border-top: 1px solid #E5E7EB;
}

/* line 1341, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-table-description {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin: 0.25rem 0 0 0;
}

/* line 1348, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-filter-panel {
  padding: 1rem 1.25rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1354, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-filter-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  margin-bottom: 0.375rem;
}

/* line 1362, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-filter-date-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 1368, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-filter-date-group input[type="date"] {
  flex: 1;
  min-width: 120px;
  max-width: 140px;
}

/* line 1375, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-filter-date-separator {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1380, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-filter-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-top: 1rem;
}

/* line 1387, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-filter-apply-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #FFFFFF;
  background-color: #1F5C96;
  border: 1px solid #1F5C96;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 1401, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-filter-apply-btn:hover {
  background-color: #123B66;
  border-color: #123B66;
}

/* line 1408, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-filtered-summary {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background-color: #EDF4F0;
  border-bottom: 1px solid #E5E7EB;
  font-size: 0.875rem;
  color: #1F6B4E;
}

/* line 1419, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-filtered-count {
  color: #9CA3AF;
}

/* line 1427, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal {
  border: none;
  border-radius: 8px;
  box-shadow: 0 20px 25px rgba(31, 41, 51, 0.08), 0 10px 10px rgba(31, 41, 51, 0.03);
  overflow: hidden;
}

/* line 1434, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1443, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 1450, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  background: none;
  border: none;
  border-radius: 6px;
  color: #9CA3AF;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 1464, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-close:hover {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 1470, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-body {
  padding: 0;
  max-height: 70vh;
  overflow-y: auto;
}

/* line 1476, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem;
}

/* line 1482, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-loading .spinner-border {
  width: 2rem;
  height: 2rem;
  color: #1F5C96;
}

/* line 1489, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-donor-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background-color: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1500, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-donor-info {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 1506, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-donor-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 1511, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-donor-name {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 1517, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-donor-total {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.125rem;
}

/* line 1524, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-total-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 1529, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-total-amount {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F6B4E;
}

/* line 1535, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-notice {
  padding: 0.75rem 1.25rem;
  background-color: #EDF3F8;
  color: #1D5E96;
  font-size: 0.875rem;
  border-top: 1px solid #E5E7EB;
}

/* line 1543, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem;
  text-align: center;
}

/* line 1551, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-empty i {
  font-size: 2.5rem;
  color: #D1D5DB;
  margin-bottom: 0.75rem;
}

/* line 1557, app/assets/stylesheets/campaign_finance/_committees.scss */
.receipts-modal-empty p {
  color: #9CA3AF;
  font-size: 0.875rem;
  margin: 0;
}

/* line 1569, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-table-description {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin: 0.25rem 0 0 0;
}

/* line 1576, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-filter-panel {
  padding: 1rem 1.25rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1582, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-filter-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  margin-bottom: 0.375rem;
}

/* line 1590, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-filter-date-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 1596, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-filter-date-group input[type="date"] {
  flex: 1;
  min-width: 120px;
  max-width: 140px;
}

/* line 1603, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-filter-date-separator {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1608, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-filter-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-top: 1rem;
}

/* line 1615, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-filter-apply-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #FFFFFF;
  background-color: #1F5C96;
  border: 1px solid #1F5C96;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 1629, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-filter-apply-btn:hover {
  background-color: #123B66;
  border-color: #123B66;
}

/* line 1636, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-filtered-summary {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background-color: #FDF0E3;
  border-bottom: 1px solid #E5E7EB;
  font-size: 0.875rem;
  color: #C4681A;
}

/* line 1647, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-filtered-count {
  color: #9CA3AF;
}

/* line 1653, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditure-details-row.show {
  display: table-row;
}

/* line 1658, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditure-details-content {
  padding: 1rem 1.25rem;
  background-color: #F9FAFB;
}

/* line 1663, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditure-details-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem 1.5rem;
}

@media (max-width: 768px) {
  /* line 1663, app/assets/stylesheets/campaign_finance/_committees.scss */
  .expenditure-details-grid {
    grid-template-columns: 1fr;
  }
}

/* line 1673, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditure-detail-item {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 1679, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditure-detail-full {
  grid-column: 1 / -1;
}

/* line 1683, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditure-detail-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 1688, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditure-detail-value {
  font-size: 0.875rem;
  color: #1F2933;
}

/* line 1692, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditure-detail-value a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 1696, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditure-detail-value a:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 1703, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditure-details-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #E5E7EB;
}

/* line 1712, app/assets/stylesheets/campaign_finance/_committees.scss */
.expand-icon {
  transition: transform 0.15s ease;
  font-size: 0.75rem;
  color: #B8BFC7;
}

/* line 1718, app/assets/stylesheets/campaign_finance/_committees.scss */
tr[data-action] .expand-icon.rotated,
.expenditure-row:has(+ .show) .expand-icon {
  transform: rotate(90deg);
}

/* line 1727, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal {
  border: none;
  border-radius: 8px;
  box-shadow: 0 20px 25px rgba(31, 41, 51, 0.08), 0 10px 10px rgba(31, 41, 51, 0.03);
  overflow: hidden;
}

/* line 1734, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1743, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 1750, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  background: none;
  border: none;
  border-radius: 6px;
  color: #9CA3AF;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 1764, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-close:hover {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 1770, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-body {
  padding: 0;
  max-height: 70vh;
  overflow-y: auto;
}

/* line 1776, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem;
}

/* line 1782, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-loading .spinner-border {
  width: 2rem;
  height: 2rem;
  color: #1F5C96;
}

/* line 1789, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-vendor-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background-color: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1800, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-vendor-info {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 1806, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-vendor-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 1811, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-vendor-name {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 1817, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-vendor-total {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.125rem;
}

/* line 1824, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-total-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 1829, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-total-amount {
  font-size: 1.125rem;
  font-weight: 700;
  color: #C4681A;
}

/* line 1835, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-notice {
  padding: 0.75rem 1.25rem;
  background-color: #EDF3F8;
  color: #1D5E96;
  font-size: 0.875rem;
  border-top: 1px solid #E5E7EB;
}

/* line 1843, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem;
  text-align: center;
}

/* line 1851, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-empty i {
  font-size: 2.5rem;
  color: #D1D5DB;
  margin-bottom: 0.75rem;
}

/* line 1857, app/assets/stylesheets/campaign_finance/_committees.scss */
.expenditures-modal-empty p {
  color: #9CA3AF;
  font-size: 0.875rem;
  margin: 0;
}

/* line 1868, app/assets/stylesheets/campaign_finance/_committees.scss */
.late-contributions-description {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin: 0.25rem 0 0 0;
}

/* line 1873, app/assets/stylesheets/campaign_finance/_committees.scss */
.late-contributions-description i {
  color: #B8BFC7;
}

/* line 1878, app/assets/stylesheets/campaign_finance/_committees.scss */
.late-contributions-header-total {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.125rem;
}

/* line 1885, app/assets/stylesheets/campaign_finance/_committees.scss */
.late-contributions-header-total-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 1890, app/assets/stylesheets/campaign_finance/_committees.scss */
.late-contributions-header-total-amount {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F6B4E;
}

/* line 1900, app/assets/stylesheets/campaign_finance/_committees.scss */
.local-filings-alert {
  padding: 0.875rem 1rem;
  border-radius: 6px;
  font-size: 0.875rem;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  border-left: 3px solid #8A6A06;
  background-color: #F8F5ED;
  color: #8A6A06;
  margin-bottom: 1.5rem;
}

/* line 1912, app/assets/stylesheets/campaign_finance/_committees.scss */
.local-filings-alert > i {
  flex-shrink: 0;
  margin-top: 0.125rem;
}

/* line 1917, app/assets/stylesheets/campaign_finance/_committees.scss */
.local-filings-alert a {
  color: inherit;
  font-weight: 500;
  text-decoration: underline;
}

/* line 1922, app/assets/stylesheets/campaign_finance/_committees.scss */
.local-filings-alert a:hover {
  text-decoration: none;
}

/* line 1928, app/assets/stylesheets/campaign_finance/_committees.scss */
.local-filings-alert-content {
  flex: 1;
}

/* line 1932, app/assets/stylesheets/campaign_finance/_committees.scss */
.local-filings-alert-title {
  font-weight: 500;
  margin-bottom: 0.25rem;
}

/* line 1937, app/assets/stylesheets/campaign_finance/_committees.scss */
.local-filings-alert-body {
  color: #4B5563;
}

/* line 6, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-container {
  padding: 0.75rem 1rem 3rem;
}

@media (min-width: 1200px) {
  /* line 6, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-container {
    padding: 0.75rem 3rem 3rem;
  }
}

/* line 15, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-date-nav {
  text-align: center;
  margin-bottom: 24px;
}

/* line 20, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-date-nav-center {
  margin-bottom: 8px;
}

/* line 24, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-date-nav-row {
  display: flex;
  gap: 12px;
  justify-content: center;
}

/* line 30, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-page-label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #1F5C96;
  margin: 0 0 4px;
}

/* line 39, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-date-title {
  font-size: 22px;
  font-weight: 700;
  color: #1F2933;
  margin: 0;
}

@media (max-width: 576px) {
  /* line 39, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-date-title {
    font-size: 17px;
  }
}

/* line 50, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-date-subtitle {
  font-size: 13px;
  color: #6B7280;
  margin: 4px 0 0;
}

/* line 56, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-date-nav-arrow {
  font-size: 13px;
  color: #1F5C96;
  text-decoration: none;
  white-space: nowrap;
  padding: 8px 12px;
  border-radius: 6px;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  flex-shrink: 0;
}

/* line 67, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-date-nav-arrow:hover {
  background: #F3F4F6;
}

/* line 71, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-date-nav-arrow--disabled {
  color: #B8BFC7;
  border-color: #E5E7EB;
  cursor: default;
  pointer-events: none;
}

/* line 80, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-dev-banner {
  background-color: #DBEAFE;
  border: 1px solid #93C5FD;
  border-radius: 6px;
  padding: 10px 16px;
  margin-bottom: 20px;
  font-size: 12px;
  color: #1E40AF;
  font-weight: 600;
}

/* line 90, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-dev-banner a {
  color: #1E40AF;
  margin-left: 4px;
}

/* line 97, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-toggle {
  display: flex;
  gap: 0;
  margin-bottom: 24px;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  background: #FFFFFF;
}

/* line 107, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-toggle-btn {
  flex: 1;
  padding: 12px 20px;
  font-size: 15px;
  font-weight: 600;
  color: #6B7280;
  background: #FFFFFF;
  border: none;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 118, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-toggle-btn:not(:last-child) {
  border-right: 1px solid #E5E7EB;
}

/* line 122, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-toggle-btn.active {
  background: #1F5C96;
  color: #FFFFFF;
}

/* line 127, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-toggle-btn:hover:not(.active) {
  background: #F3F4F6;
}

/* line 133, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-stats-bar {
  display: flex;
  gap: 0;
  background: #F3F4F6;
  border-radius: 8px;
  margin-bottom: 20px;
  overflow: hidden;
}

/* line 142, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-stat-box {
  flex: 1;
  text-align: center;
  padding: 16px 8px;
}

/* line 148, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-stat-number {
  font-size: 24px;
  font-weight: 700;
  color: #1F2933;
}

/* line 154, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-stat-label {
  font-size: 11px;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 2px;
}

/* line 163, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-type-section {
  margin-bottom: 8px;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 171, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-type-header {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 14px 16px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background 0.1s;
}

/* line 183, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-type-header:hover {
  background: #F9FAFB;
}

/* line 188, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-type-arrow {
  font-size: 10px;
  color: #9CA3AF;
  transition: transform 0.2s ease;
  flex-shrink: 0;
}

/* line 194, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-type-arrow--open {
  transform: rotate(90deg);
}

/* line 199, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-type-title {
  font-size: 15px;
  font-weight: 600;
  color: #1F2933;
}

/* line 205, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-type-summary {
  font-size: 13px;
  color: #6B7280;
  font-weight: 400;
  margin-left: auto;
}

/* line 212, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-type-content {
  border-top: 1px solid #E5E7EB;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* line 219, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-filter-bar {
  padding: 8px 16px;
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 225, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-amendment-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #6B7280;
  cursor: pointer;
}

/* line 233, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-amendment-toggle input[type="checkbox"] {
  cursor: pointer;
  accent-color: #1F5C96;
}

/* line 240, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-table {
  width: 100%;
  min-width: 500px;
  border-collapse: collapse;
  font-size: 14px;
}

/* line 246, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-table thead th {
  padding: 10px 16px;
  font-size: 11px;
  font-weight: 600;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: #F9FAFB;
  text-align: left;
  border-bottom: 1px solid #E5E7EB;
}

/* line 258, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-table tbody td {
  padding: 10px 16px;
  color: #1F2933;
  border-bottom: 1px solid #F3F4F6;
  vertical-align: top;
}

/* line 265, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 269, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-table a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 273, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-table a:hover {
  text-decoration: underline;
}

/* line 279, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-table-number {
  text-align: right !important;
  font-variant-numeric: tabular-nums;
}

/* line 284, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-table-period {
  white-space: nowrap;
  font-size: 13px;
  color: #6B7280;
}

/* line 290, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-table-muted {
  color: #9CA3AF;
  font-size: 13px;
}

/* line 295, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-table-pdf {
  width: 32px;
  text-align: center !important;
}

/* line 300, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-pdf-link {
  color: #B8BFC7;
  font-size: 16px;
  text-decoration: none;
}

/* line 305, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-pdf-link:hover {
  color: #9B2331;
}

/* line 310, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-table-sub {
  font-size: 12px;
  color: #9CA3AF;
  margin-top: 2px;
}

/* line 316, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-table-donors {
  font-size: 13px;
  color: #6B7280;
}

/* line 322, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-amount-raised {
  color: #1F6B4E;
  font-weight: 600;
}

/* line 327, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-amount-cash {
  color: #1F5C96;
  font-weight: 600;
}

/* line 332, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-amount-donor {
  color: #8A6A06;
  font-weight: 600;
}

/* line 338, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-amendment-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  color: #9CA3AF;
  background: #F3F4F6;
  padding: 2px 6px;
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  vertical-align: middle;
  margin-left: 4px;
}

/* line 352, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-party-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  color: #6B7280;
  margin-left: 4px;
}

/* line 360, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-major-donor-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  color: #8A6A06;
  background: #F8F5ED;
  padding: 2px 6px;
  border-radius: 3px;
  margin-left: 4px;
}

/* line 371, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-candidate-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  color: #1F5C96;
  background: #E4EEF8;
  padding: 2px 6px;
  border-radius: 3px;
  margin-left: 4px;
}

/* line 382, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-support-badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 3px;
}

/* line 389, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-support-badge--supporting {
  color: #1F6B4E;
  background: #EDF4F0;
}

/* line 394, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-support-badge--opposing {
  color: #9B2331;
  background: #F8F0F1;
}

/* line 401, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-prioritize-bar {
  margin-bottom: 16px;
}

/* line 405, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-prioritize-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  color: #4B5563;
  text-decoration: none;
  padding: 6px 12px;
  border-radius: 6px;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
}

/* line 417, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-prioritize-checkbox:hover {
  background: #F9FAFB;
  color: #1F2933;
  text-decoration: none;
}

/* line 424, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-checkbox-icon {
  font-size: 18px;
  color: #B8BFC7;
  line-height: 1;
}

/* line 429, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-checkbox-icon--checked {
  color: #1F5C96;
}

/* line 435, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-row-relevant {
  border-left: 3px solid #1F5C96;
}

/* line 438, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-row-relevant td:first-child {
  padding-left: 13px;
}

/* line 443, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-row-amendment {
  opacity: 0.7;
}

/* line 447, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-expandable-row {
  cursor: pointer;
}

/* line 450, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-expandable-row:hover {
  background: #F9FAFB;
}

/* line 456, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-sub-row {
  background: #F9FAFB;
}

/* line 460, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-sub-cell {
  padding-left: 32px !important;
}

/* line 465, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-empty {
  text-align: center;
  color: #9CA3AF;
  padding: 32px 16px;
  font-size: 15px;
}

/* line 472, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-source-line {
  font-size: 13px;
  color: #6B7280;
  margin-bottom: 16px;
}

/* line 478, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-county-detail-placeholder {
  padding: 16px;
  font-size: 14px;
  color: #9CA3AF;
  font-style: italic;
}

/* line 486, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-mobile-cards {
  display: none;
}

/* line 490, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-desktop-only {
  display: table;
}

@media (max-width: 768px) {
  /* line 496, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-stats-bar {
    flex-wrap: wrap;
  }
  /* line 500, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-stat-box {
    min-width: 50%;
    padding: 12px 8px;
  }
  /* line 505, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-table {
    font-size: 13px;
  }
  /* line 508, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-table thead th,
.dr-table tbody td {
    padding: 8px 10px;
  }
  /* line 514, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-table-period {
    display: none;
  }
}

@media (max-width: 576px) {
  /* line 520, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-type-header {
    flex-wrap: wrap;
  }
  /* line 524, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-type-title {
    font-size: 14px;
  }
  /* line 528, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-type-summary {
    width: 100%;
    margin-left: 20px;
    font-size: 12px;
    line-height: 1.4;
  }
  /* line 535, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-desktop-only {
    display: none;
  }
  /* line 539, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-mobile-cards {
    display: block;
  }
  /* line 543, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card {
    padding: 14px 16px;
    border-bottom: 1px solid #E5E7EB;
  }
  /* line 547, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card:last-child {
    border-bottom: none;
  }
  /* line 551, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card--relevant {
    border-left: 3px solid #1F5C96;
    padding-left: 13px;
  }
  /* line 556, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card--amendment {
    opacity: 0.7;
  }
  /* line 560, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card--expanded {
    background: #F9FAFB;
  }
  /* line 564, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card a {
    color: #1F5C96;
    text-decoration: none;
  }
  /* line 568, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card a:hover {
    text-decoration: underline;
  }
  /* line 574, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card-top {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
  }
  /* line 581, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card-pdf {
    margin-left: auto;
    font-size: 18px;
    flex-shrink: 0;
  }
  /* line 587, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card-chevron {
    font-size: 9px;
    color: #B8BFC7;
    transition: transform 0.2s ease;
    flex-shrink: 0;
  }
  /* line 595, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card-chevron:first-of-type:not(.dr-card-pdf ~ .dr-card-chevron) {
    margin-left: auto;
  }
  /* line 599, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card--expanded .dr-card-chevron {
    transform: rotate(90deg);
  }
  /* line 603, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card--expandable {
    cursor: pointer;
  }
  /* line 607, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card-amount {
    font-size: 16px;
    font-weight: 700;
  }
  /* line 612, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card-count {
    font-size: 13px;
    color: #9CA3AF;
  }
  /* line 617, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card-financials {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
    font-size: 13px;
    font-weight: 600;
    color: #4B5563;
    margin-top: 6px;
  }
  /* line 627, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card-name {
    font-size: 14px;
    color: #1F2933;
    line-height: 1.3;
  }
  /* line 633, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card-target {
    font-size: 14px;
    font-weight: 600;
    color: #1F2933;
    line-height: 1.3;
  }
  /* line 640, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card-meta {
    font-size: 13px;
    color: #6B7280;
    margin-top: 4px;
  }
  /* line 645, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card-meta a {
    color: #6B7280;
  }
  /* line 650, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card-detail {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #E5E7EB;
  }
  /* line 656, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card-sub {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    padding: 4px 0;
    font-size: 13px;
  }
  /* line 665, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card-sub-name {
    color: #4B5563;
    min-width: 0;
  }
  /* line 670, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-card-sub-amount {
    color: #1F2933;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    flex-shrink: 0;
  }
}

/* line 680, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-preview-banner {
  background: #E4EEF8;
  border: 1px solid #A3C4E0;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 20px;
}

/* line 688, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-preview-banner-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}

@media (min-width: 768px) {
  /* line 688, app/assets/stylesheets/campaign_finance/_daily_report.scss */
  .dr-preview-banner-inner {
    justify-content: flex-start;
    text-align: left;
  }
}

/* line 702, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-preview-badge {
  display: inline-block;
  background: #1F5C96;
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 4px;
  flex-shrink: 0;
  white-space: nowrap;
}

/* line 716, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-preview-text {
  font-size: 13px;
  color: #0B2742;
  line-height: 1.4;
}

/* line 722, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-preview-link {
  color: #1F5C96;
  font-weight: 600;
  text-decoration: underline;
}

/* line 727, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-preview-link:hover {
  color: #123B66;
}

/* line 732, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-preview-learn-more {
  margin-left: 6px;
  color: #1F5C96 !important;
  font-weight: 600;
  white-space: nowrap;
}

/* line 738, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-preview-learn-more:hover {
  color: #123B66 !important;
}

/* line 744, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-sample-cta {
  background-color: #E4EEF8;
  border-left: 4px solid #1F5C96;
  border-radius: 6px;
  padding: 24px 28px;
  margin-top: 40px;
  text-align: center;
}

/* line 753, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-sample-cta-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: #0B2742;
  margin: 0 0 8px;
}

/* line 760, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-sample-cta-text {
  font-size: 0.92rem;
  color: #4B5563;
  margin: 0 0 16px;
  line-height: 1.5;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

/* line 770, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-sample-cta-btn {
  display: inline-block;
  background-color: #1F5C96;
  color: #fff;
  font-size: 0.92rem;
  font-weight: 600;
  padding: 10px 24px;
  border-radius: 5px;
  text-decoration: none;
  transition: background-color 0.15s ease;
}

/* line 781, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-sample-cta-btn:hover {
  background-color: #123B66;
  color: #fff;
  text-decoration: none;
}

/* line 789, app/assets/stylesheets/campaign_finance/_daily_report.scss */
.dr-sample-date-header {
  text-align: center;
  margin-bottom: 24px;
}

/* line 8, app/assets/stylesheets/campaign_finance.scss */
.bb-card .nav-tabs {
  border-bottom: 1px solid var(--blue-grey-200);
}

/* line 11, app/assets/stylesheets/campaign_finance.scss */
.bb-card .nav-tabs .nav-link {
  color: var(--blue-grey-600);
  border: none;
  border-bottom: 3px solid transparent;
  font-weight: 500;
  padding: 0.75rem 1rem;
}

/* line 18, app/assets/stylesheets/campaign_finance.scss */
.bb-card .nav-tabs .nav-link:hover {
  border-color: transparent transparent var(--light-blue-vivid-300) transparent;
  color: var(--blue-grey-800);
}

/* line 23, app/assets/stylesheets/campaign_finance.scss */
.bb-card .nav-tabs .nav-link.active {
  color: var(--blue-grey-800);
  font-weight: 500;
  background-color: transparent;
  border-color: transparent transparent var(--light-blue-vivid-600) transparent;
}

/* line 35, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance .committee-table .sortable {
  cursor: pointer;
  user-select: none;
}

/* line 39, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance .committee-table .sortable:hover {
  background-color: rgba(0, 0, 0, 0.03);
}

/* line 44, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance .committee-table tbody tr:hover {
  background-color: #f8f9fa;
}

/* line 51, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance .filter-controls .clear-search-btn {
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

/* line 62, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance .committee-detail .tab-pane {
  display: none;
}

/* line 65, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance .committee-detail .tab-pane.show {
  display: block;
}

/* line 71, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance .committee-detail .card-body.p-0 .tab-content {
  border: none;
}

/* line 76, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance .committee-detail .tab-content > .tab-pane {
  padding: 0;
}

/* line 82, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance .committee-detail #form497 .table-responsive {
  padding: 0;
  margin: 0;
}

/* line 87, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance .committee-detail #form497 table {
  margin-top: 0 !important;
}

/* line 91, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance .committee-detail #form497 tbody tr:first-child td {
  border-top: none;
}

/* line 99, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance .filing-modal .modal-section-header {
  font-size: 0.9rem;
  padding: 0.5rem;
  margin-bottom: 0;
}

/* line 105, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance .filing-modal table.table-sm {
  margin-bottom: 0;
}

/* line 108, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance .filing-modal table.table-sm td {
  padding: 0.25rem 0.5rem;
}

/* line 118, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .desktop-sticky-nav, .local-campaign-finance-dashboard .desktop-sticky-nav {
  top: 0;
  margin-left: 250px;
  margin-right: 0;
  z-index: 1020;
}

/* line 126, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .filter-card-container, .local-campaign-finance-dashboard .filter-card-container {
  background-color: var(--blue-grey-050);
  border: 1px solid var(--blue-grey-200);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* line 133, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .county-notice-alert, .local-campaign-finance-dashboard .county-notice-alert {
  background-color: var(--light-blue-vivid-050);
  border: 1px solid var(--light-blue-vivid-200);
}

/* line 137, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .county-notice-alert .notice-icon, .local-campaign-finance-dashboard .county-notice-alert .notice-icon {
  color: var(--light-blue-vivid-700);
}

/* line 141, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .county-notice-alert .notice-title, .local-campaign-finance-dashboard .county-notice-alert .notice-title {
  color: var(--light-blue-vivid-900);
}

/* line 145, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .county-notice-alert .notice-text, .local-campaign-finance-dashboard .county-notice-alert .notice-text {
  color: var(--light-blue-vivid-800);
}

/* line 149, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .county-notice-alert .notice-link, .local-campaign-finance-dashboard .county-notice-alert .notice-link {
  color: var(--light-blue-vivid-700);
  text-decoration: underline;
}

/* line 156, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .activity-feed-header, .local-campaign-finance-dashboard .activity-feed-header {
  color: var(--text-primary);
}

/* line 159, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .activity-feed-header .header-icon, .local-campaign-finance-dashboard .activity-feed-header .header-icon {
  color: var(--light-blue-vivid-700);
}

/* line 164, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .activity-feed-subtitle, .local-campaign-finance-dashboard .activity-feed-subtitle {
  color: var(--text-muted);
}

/* line 169, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .upsell-banner, .local-campaign-finance-dashboard .upsell-banner {
  background-color: var(--blue-grey-100);
  border: 1px solid var(--blue-grey-200);
}

/* line 173, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .upsell-banner .upsell-icon, .local-campaign-finance-dashboard .upsell-banner .upsell-icon {
  font-size: 3rem;
  color: var(--light-blue-vivid-500);
}

/* line 178, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .upsell-banner .upsell-title, .local-campaign-finance-dashboard .upsell-banner .upsell-title {
  color: var(--blue-grey-800);
}

/* line 182, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .upsell-banner .upsell-description, .local-campaign-finance-dashboard .upsell-banner .upsell-description {
  color: var(--blue-grey-600);
}

/* line 186, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .upsell-banner .upsell-notice, .local-campaign-finance-dashboard .upsell-banner .upsell-notice {
  color: var(--blue-grey-500);
}

/* line 190, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .upsell-banner .upsell-cta, .local-campaign-finance-dashboard .upsell-banner .upsell-cta {
  background-color: var(--light-blue-vivid-600);
  border-color: var(--light-blue-vivid-600);
}

/* line 195, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .upsell-banner .upsell-learn-more, .local-campaign-finance-dashboard .upsell-banner .upsell-learn-more {
  color: var(--light-blue-vivid-700);
}

/* line 201, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .preview-limit-banner, .local-campaign-finance-dashboard .preview-limit-banner {
  background-color: var(--blue-grey-100);
  border: 1px solid var(--blue-grey-200);
}

/* line 205, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .preview-limit-banner .preview-limit-title, .local-campaign-finance-dashboard .preview-limit-banner .preview-limit-title {
  color: var(--blue-grey-800);
}

/* line 209, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .preview-limit-banner .preview-limit-text, .local-campaign-finance-dashboard .preview-limit-banner .preview-limit-text {
  color: var(--blue-grey-600);
}

/* line 213, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .preview-limit-banner .preview-limit-cta, .local-campaign-finance-dashboard .preview-limit-banner .preview-limit-cta {
  background-color: var(--light-blue-vivid-600);
  border-color: var(--light-blue-vivid-600);
}

/* line 220, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .empty-state-card, .local-campaign-finance-dashboard .empty-state-card {
  background-color: var(--bg-primary);
}

/* line 223, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .empty-state-card .empty-state-icon, .local-campaign-finance-dashboard .empty-state-card .empty-state-icon {
  color: var(--text-muted);
}

/* line 227, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .empty-state-card .empty-state-title, .local-campaign-finance-dashboard .empty-state-card .empty-state-title {
  color: var(--text-muted);
}

/* line 231, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .empty-state-card .empty-state-text, .local-campaign-finance-dashboard .empty-state-card .empty-state-text {
  color: var(--text-muted);
}

/* line 238, app/assets/stylesheets/campaign_finance.scss */
.campaign-finance-dashboard .filter-description small, .local-campaign-finance-dashboard .filter-description small {
  color: var(--text-muted);
}

/* line 245, app/assets/stylesheets/campaign_finance.scss */
.border-blue-grey-300 {
  border-color: var(--blue-grey-300);
}

/* line 249, app/assets/stylesheets/campaign_finance.scss */
.text-blue-grey-700 {
  color: var(--blue-grey-700);
}

/* line 254, app/assets/stylesheets/campaign_finance.scss */
.local-cf-info-block {
  background-color: var(--blue-grey-050);
  border: 1px solid var(--blue-grey-200);
  font-size: 0.875rem;
}

/* line 259, app/assets/stylesheets/campaign_finance.scss */
.local-cf-info-block h6 {
  font-size: 0.75rem;
}

/* line 263, app/assets/stylesheets/campaign_finance.scss */
.local-cf-info-block ul {
  color: var(--blue-grey-700);
}

/* line 267, app/assets/stylesheets/campaign_finance.scss */
.local-cf-info-block .border-top {
  border-color: var(--blue-grey-200) !important;
}

/* line 281, app/assets/stylesheets/campaign_finance.scss */
.lcf-filters {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1rem;
}

/* line 289, app/assets/stylesheets/campaign_finance.scss */
.lcf-clear-btn {
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
  padding: 0.25rem 0.5rem !important;
  font-size: 0.75rem !important;
}

/* line 298, app/assets/stylesheets/campaign_finance.scss */
.lcf-mobile-card {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1rem;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 306, app/assets/stylesheets/campaign_finance.scss */
.lcf-mobile-card:hover {
  border-color: #4C7FB5;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 313, app/assets/stylesheets/campaign_finance.scss */
.lcf-contribution-feed {
  padding: 0;
}

/* line 316, app/assets/stylesheets/campaign_finance.scss */
.lcf-contribution-feed .lcf-contribution-item {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 320, app/assets/stylesheets/campaign_finance.scss */
.lcf-contribution-feed .lcf-contribution-item:last-child {
  border-bottom: none;
}

/* line 324, app/assets/stylesheets/campaign_finance.scss */
.lcf-contribution-feed .lcf-contribution-item:hover {
  background-color: #F9FAFB;
}

/* line 331, app/assets/stylesheets/campaign_finance.scss */
.lcf-contribution-summary {
  font-size: 0.875rem;
  line-height: 1.6;
  color: #4B5563;
}

/* line 337, app/assets/stylesheets/campaign_finance.scss */
.lcf-contributor-name {
  font-weight: 500;
  color: #1F2933;
}

/* line 342, app/assets/stylesheets/campaign_finance.scss */
.lcf-contribution-action {
  color: #9CA3AF;
}

/* line 346, app/assets/stylesheets/campaign_finance.scss */
.lcf-contribution-amount {
  font-weight: 700;
  color: #127A7A;
}

/* line 351, app/assets/stylesheets/campaign_finance.scss */
.lcf-committee-link {
  font-weight: 500;
  color: #123B66;
  text-decoration: none;
}

/* line 356, app/assets/stylesheets/campaign_finance.scss */
.lcf-committee-link:hover {
  color: #1F5C96;
  text-decoration: underline;
}

/* line 362, app/assets/stylesheets/campaign_finance.scss */
.lcf-contribution-date {
  color: #9CA3AF;
}

/* line 367, app/assets/stylesheets/campaign_finance.scss */
.lcf-contribution-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

/* line 375, app/assets/stylesheets/campaign_finance.scss */
.lcf-meta-item {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 379, app/assets/stylesheets/campaign_finance.scss */
.lcf-meta-item i {
  margin-right: 0.25rem;
}

/* line 385, app/assets/stylesheets/campaign_finance.scss */
.lcf-contribution-total {
  font-size: 1.125rem;
  font-weight: 700;
  color: #127A7A;
  white-space: nowrap;
  margin-left: 1rem;
}

/* line 394, app/assets/stylesheets/campaign_finance.scss */
.lcf-contribution-amount-mobile {
  font-size: 1rem;
  font-weight: 700;
  color: #127A7A;
}

/* line 400, app/assets/stylesheets/campaign_finance.scss */
.lcf-mobile-recipient {
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 405, app/assets/stylesheets/campaign_finance.scss */
.lcf-mobile-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 414, app/assets/stylesheets/campaign_finance.scss */
.lcf-description-truncated {
  cursor: help;
  border-bottom: 1px dotted #B8BFC7;
}

/* line 424, app/assets/stylesheets/campaign_finance.scss */
.lcf-contributor-cell {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 429, app/assets/stylesheets/campaign_finance.scss */
.lcf-contributor-cell .lcf-contributor-name {
  font-weight: 500;
  color: #1F2933;
}

/* line 434, app/assets/stylesheets/campaign_finance.scss */
.lcf-contributor-cell .lcf-contributor-type {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 441, app/assets/stylesheets/campaign_finance.scss */
.lcf-late-table-amount {
  font-weight: 700;
  color: #127A7A;
  text-align: right;
  white-space: nowrap;
}

/* line 449, app/assets/stylesheets/campaign_finance.scss */
.lcf-late-table-date {
  color: #9CA3AF;
  white-space: nowrap;
}

/* line 455, app/assets/stylesheets/campaign_finance.scss */
.lcf-late-table-link {
  color: #1F5C96;
  text-decoration: none;
}

/* line 459, app/assets/stylesheets/campaign_finance.scss */
.lcf-late-table-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 469, app/assets/stylesheets/campaign_finance.scss */
.followed-election-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  text-decoration: none;
  font-size: 0.75rem;
  color: #4B5563;
  transition: all 0.15s ease;
}

/* line 482, app/assets/stylesheets/campaign_finance.scss */
.followed-election-badge:hover {
  background-color: #F4F7FC;
  border-color: #4C7FB5;
  color: #123B66;
  text-decoration: none;
}

/* line 489, app/assets/stylesheets/campaign_finance.scss */
.followed-election-badge .election-date {
  font-weight: 500;
  color: #1F2933;
}

/* line 494, app/assets/stylesheets/campaign_finance.scss */
.followed-election-badge .election-type {
  color: #9CA3AF;
}

/* line 497, app/assets/stylesheets/campaign_finance.scss */
.followed-election-badge .election-type::before {
  content: "•";
  margin-right: 0.375rem;
}

/* line 503, app/assets/stylesheets/campaign_finance.scss */
.followed-election-badge .election-name {
  font-weight: 500;
  color: #1F5C96;
}

/* line 508, app/assets/stylesheets/campaign_finance.scss */
.followed-election-badge:hover .election-date, .followed-election-badge:hover .election-name {
  color: #123B66;
}

/* line 7, app/assets/stylesheets/campaign_finance/_tables.scss */
.expenditure-row:hover {
  background-color: var(--blue-grey-050);
}

/* line 11, app/assets/stylesheets/campaign_finance/_tables.scss */
.expand-icon {
  transition: transform 0.2s ease;
}

/* line 15, app/assets/stylesheets/campaign_finance/_tables.scss */
.cursor-pointer {
  cursor: pointer;
}

/* line 19, app/assets/stylesheets/campaign_finance/_tables.scss */
.contributor-card:hover {
  background-color: var(--blue-grey-050) !important;
}

/* line 23, app/assets/stylesheets/campaign_finance/_tables.scss */
.toggle-icon i {
  transition: transform 0.3s ease;
}

/* line 27, app/assets/stylesheets/campaign_finance/_tables.scss */
.toggle-icon.rotated i {
  transform: rotate(180deg);
}

/* line 32, app/assets/stylesheets/campaign_finance/_tables.scss */
#receiptsFilterPanel,
#expendituresFilterPanel {
  background-color: var(--blue-grey-050);
}

/* line 36, app/assets/stylesheets/campaign_finance/_tables.scss */
#receiptsFilterPanel .form-label,
#expendituresFilterPanel .form-label {
  color: var(--blue-grey-700);
}

/* line 40, app/assets/stylesheets/campaign_finance/_tables.scss */
#receiptsFilterPanel .form-control,
#receiptsFilterPanel .form-select,
#expendituresFilterPanel .form-control,
#expendituresFilterPanel .form-select {
  border-color: var(--blue-grey-200);
}

/* line 45, app/assets/stylesheets/campaign_finance/_tables.scss */
#receiptsFilterPanel .input-group-text,
#expendituresFilterPanel .input-group-text {
  background-color: var(--blue-grey-100);
  border-color: var(--blue-grey-200);
}

/* line 50, app/assets/stylesheets/campaign_finance/_tables.scss */
#receiptsFilterPanel h6,
#expendituresFilterPanel h6 {
  color: var(--blue-grey-700);
}

/* line 56, app/assets/stylesheets/campaign_finance/_tables.scss */
#filteredTotalContainer {
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-900);
  border-color: var(--blue-grey-200);
}

/* line 63, app/assets/stylesheets/campaign_finance/_tables.scss */
.table thead {
  background-color: var(--blue-grey-050);
}

/* line 66, app/assets/stylesheets/campaign_finance/_tables.scss */
.table thead th {
  color: var(--blue-grey-900);
}

/* line 73, app/assets/stylesheets/campaign_finance/_tables.scss */
.table tbody td {
  color: var(--blue-grey-700);
}

/* line 80, app/assets/stylesheets/campaign_finance/_tables.scss */
.entity-badge.ind {
  background-color: var(--blue-grey-600);
}

/* line 81, app/assets/stylesheets/campaign_finance/_tables.scss */
.entity-badge.com {
  background-color: var(--light-blue-vivid-600);
}

/* line 82, app/assets/stylesheets/campaign_finance/_tables.scss */
.entity-badge.oth {
  background-color: var(--cyan-600);
}

/* line 83, app/assets/stylesheets/campaign_finance/_tables.scss */
.entity-badge.pty {
  background-color: var(--teal-600);
}

/* line 84, app/assets/stylesheets/campaign_finance/_tables.scss */
.entity-badge.scc {
  background-color: var(--yellow-vivid-600);
}

/* line 85, app/assets/stylesheets/campaign_finance/_tables.scss */
.entity-badge.default {
  background-color: var(--blue-grey-400);
}

/* line 89, app/assets/stylesheets/campaign_finance/_tables.scss */
.non-monetary-badge {
  background-color: var(--blue-grey-400);
}

/* line 94, app/assets/stylesheets/campaign_finance/_tables.scss */
.pagination-info {
  color: var(--blue-grey-400);
}

/* line 11, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-committees__count {
  font-size: 0.875rem;
  color: #9CA3AF;
  font-weight: 500;
  white-space: nowrap;
}

/* line 18, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-committees__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0.875rem 0 0.5rem;
  flex-wrap: wrap;
}

/* line 27, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-committees__toolbar-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 34, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-committees__toolbar-right {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  flex-wrap: wrap;
}

/* line 41, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-committees__search {
  font-size: 0.8125rem;
  padding: 0.4375rem 0.75rem;
  border-radius: 8px;
  border: 1px solid #E5E7EB;
  outline: none;
  width: 220px;
  color: #4B5563;
  background: #FFFFFF;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 52, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-committees__search:focus {
  border-color: #1F5C96;
  box-shadow: 0 0 0 2px rgba(31, 92, 150, 0.12);
}

/* line 57, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-committees__search::placeholder {
  color: #9CA3AF;
}

/* line 62, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-committees__footer {
  display: flex;
  justify-content: center;
  margin-top: 0.875rem;
}

/* line 72, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-type-pills {
  display: flex;
  gap: 0.25rem;
  flex-wrap: wrap;
}

/* line 78, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-type-pill {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.375rem 0.75rem;
  border-radius: 7px;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 89, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-type-pill:hover:not(.is-active) {
  border-color: #D1D5DB;
  color: #323C47;
}

/* line 94, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-type-pill.is-active {
  border-color: #1F5C96;
  background: #E4EEF8;
  color: #1F5C96;
}

/* line 104, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-local-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.4375rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  cursor: pointer;
  margin: 0;
  user-select: none;
}

/* line 115, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-local-toggle__input {
  width: 0.875rem;
  height: 0.875rem;
  accent-color: #1F5C96;
  cursor: pointer;
  margin: 0;
}

/* line 123, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-local-toggle__label {
  line-height: 1;
}

/* line 131, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-sort {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-bottom: 0.875rem;
  flex-wrap: wrap;
}

/* line 138, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-sort__label {
  font-size: 0.65625rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-right: 0.125rem;
}

/* line 147, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-sort__pills {
  display: flex;
  gap: 0.375rem;
  flex-wrap: wrap;
}

/* line 153, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-sort__pill {
  font-size: 0.6875rem;
  font-weight: 500;
  padding: 0.1875rem 0.5rem;
  border-radius: 5px;
  border: none;
  background: #eef1f6;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 164, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-sort__pill:hover:not(.is-active) {
  background: #E5E7EB;
  color: #323C47;
}

/* line 169, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-sort__pill.is-active {
  background: #1F2933;
  color: #FFFFFF;
}

/* line 179, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-cards {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

/* line 184, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-cards__empty {
  text-align: center;
  padding: 2.5rem 1rem;
  color: #9CA3AF;
  font-size: 0.875rem;
}

/* line 192, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-card {
  background: #FFFFFF;
  border-radius: 10px;
  border: 1px solid #eef1f6;
  padding: 0.875rem 1.125rem;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 203, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-card:hover, .lcf-card:focus-visible {
  border-color: #D1D5DB;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  outline: none;
}

/* line 210, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-card__main {
  flex: 1;
  min-width: 0;
}

/* line 215, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-card__name {
  font-size: 0.84375rem;
  font-weight: 500;
  color: #1F2933;
  line-height: 1.4;
  text-wrap: pretty;
}

/* line 223, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-card__meta {
  margin-top: 0.3125rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 231, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-card__id {
  font-size: 0.65625rem;
  color: #b0b8c4;
}

/* line 236, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-card__activity {
  font-size: 0.65625rem;
  color: #9CA3AF;
}

/* line 241, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-card__figures {
  display: flex;
  gap: 1.125rem;
  flex-shrink: 0;
}

/* line 251, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-type-badge {
  display: inline-block;
  font-size: 0.65625rem;
  font-weight: 500;
  line-height: 1;
  padding: 3px 7px;
  border-radius: 4px;
  white-space: nowrap;
  border: 1px solid;
}

/* line 261, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-type-badge--candidate {
  background: #E4EEF8;
  color: #1F5C96;
  border-color: rgba(31, 92, 150, 0.18);
}

/* line 267, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-type-badge--organization {
  background: #F9FAFB;
  color: #4B5563;
  border-color: #E5E7EB;
}

/* line 273, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-type-badge--ballot {
  background: #EDF4F0;
  color: #1F6B4E;
  border-color: rgba(31, 107, 78, 0.2);
}

/* line 279, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-type-badge--other {
  background: #F9FAFB;
  color: #4B5563;
  border-color: #E5E7EB;
}

/* line 289, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-figure {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  min-width: 72px;
}

/* line 295, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-figure__label {
  font-size: 0.59375rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9CA3AF;
  margin-bottom: 2px;
}

/* line 304, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-figure__info {
  font-size: 0.625rem;
  color: #B8BFC7;
  margin-left: 1px;
  cursor: help;
  transition: color 0.15s ease;
  vertical-align: baseline;
}

/* line 312, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-figure__info:hover {
  color: #4B5563;
}

/* line 317, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-figure__value {
  font-size: 0.84375rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 324, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-figure__value.is-empty {
  font-weight: 400;
  color: #D1D5DB;
}

/* line 329, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-figure__value.is-debt {
  color: #8A6A06;
}

/* line 333, app/assets/stylesheets/campaign_finance/_local.scss */
.lcf-figure__value.is-late {
  color: #1F6B4E;
}

@media (max-width: 767.98px) {
  /* line 343, app/assets/stylesheets/campaign_finance/_local.scss */
  .lcf-card {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
  }
  /* line 349, app/assets/stylesheets/campaign_finance/_local.scss */
  .lcf-card__figures {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem 0.75rem;
  }
  /* line 356, app/assets/stylesheets/campaign_finance/_local.scss */
  .lcf-figure {
    min-width: 0;
    align-items: flex-start;
  }
  /* line 361, app/assets/stylesheets/campaign_finance/_local.scss */
  .lcf-committees__search {
    width: 100%;
  }
  /* line 365, app/assets/stylesheets/campaign_finance/_local.scss */
  .lcf-committees__toolbar-right {
    width: 100%;
  }
}

/* line 377, app/assets/stylesheets/campaign_finance/_local.scss */
.btn-blue-grey {
  background-color: var(--blue-grey-600);
  border-color: var(--blue-grey-600);
  color: white;
}

/* line 382, app/assets/stylesheets/campaign_finance/_local.scss */
.btn-blue-grey:hover {
  background-color: var(--blue-grey-700);
  border-color: var(--blue-grey-700);
  color: white;
}

/* line 390, app/assets/stylesheets/campaign_finance/_local.scss */
.badge-blue-grey {
  background-color: var(--blue-grey-600);
  color: white;
}

/* line 395, app/assets/stylesheets/campaign_finance/_local.scss */
.badge-blue-grey-light {
  background-color: var(--blue-grey-500);
  color: white;
}

/* line 401, app/assets/stylesheets/campaign_finance/_local.scss */
.card-header-blue-grey {
  background-color: var(--blue-grey-600);
  color: white;
}

/* line 407, app/assets/stylesheets/campaign_finance/_local.scss */
.breadcrumb-link {
  color: var(--blue-grey-600);
  text-decoration: none;
}

/* line 411, app/assets/stylesheets/campaign_finance/_local.scss */
.breadcrumb-link:hover {
  color: var(--blue-grey-700);
}

/* line 417, app/assets/stylesheets/campaign_finance/_local.scss */
.filter-form-bg {
  background-color: var(--blue-grey-50);
  border-radius: 8px;
}

/* line 423, app/assets/stylesheets/campaign_finance/_local.scss */
.filter-controls {
  background-color: var(--blue-grey-025);
}

/* line 426, app/assets/stylesheets/campaign_finance/_local.scss */
.filter-controls .form-label {
  color: var(--blue-grey-700);
  font-size: 0.875rem;
  min-width: 120px;
}

/* line 432, app/assets/stylesheets/campaign_finance/_local.scss */
.filter-controls .btn-outline-secondary {
  border-color: var(--blue-grey-300);
  color: var(--blue-grey-700);
}

/* line 436, app/assets/stylesheets/campaign_finance/_local.scss */
.filter-controls .btn-outline-secondary:hover:not(.active) {
  background-color: var(--blue-grey-100);
  border-color: var(--blue-grey-400);
  color: var(--blue-grey-800);
}

/* line 442, app/assets/stylesheets/campaign_finance/_local.scss */
.filter-controls .btn-outline-secondary.active, .filter-controls .btn-outline-secondary:active {
  background-color: var(--blue-grey-600);
  border-color: var(--blue-grey-600);
  color: white;
}

/* line 450, app/assets/stylesheets/campaign_finance/_local.scss */
.filter-controls .btn-check:checked + .btn-outline-secondary {
  background-color: var(--blue-grey-600);
  border-color: var(--blue-grey-600);
  color: white;
}

/* line 458, app/assets/stylesheets/campaign_finance/_local.scss */
.filtered-total-alert {
  background-color: var(--blue-grey-100);
  border: 1px solid var(--blue-grey-300);
  color: var(--blue-grey-800);
}

/* line 465, app/assets/stylesheets/campaign_finance/_local.scss */
.text-cash-balance {
  color: var(--blue-grey-700);
}

/* line 470, app/assets/stylesheets/campaign_finance/_local.scss */
.border-blue-grey {
  border-color: var(--blue-grey-400) !important;
}

/* line 475, app/assets/stylesheets/campaign_finance/_local.scss */
.table-campaign-finance {
  --bs-table-hover-bg: var(--blue-grey-25);
}

/* line 478, app/assets/stylesheets/campaign_finance/_local.scss */
.table-campaign-finance tbody tr {
  border-bottom: 1px solid var(--blue-grey-100);
}

/* line 481, app/assets/stylesheets/campaign_finance/_local.scss */
.table-campaign-finance tbody tr:last-child {
  border-bottom: none;
}

/* line 486, app/assets/stylesheets/campaign_finance/_local.scss */
.table-campaign-finance td {
  vertical-align: middle;
  padding: 0.75rem 0.5rem;
}

/* line 494, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-table thead th {
  background-color: var(--blue-grey-050);
  border-bottom: 2px solid var(--blue-grey-200);
  color: var(--blue-grey-800);
  font-weight: 500;
  padding: 0.875rem 0.75rem;
  font-size: 0.875rem;
}

/* line 504, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-table tbody tr {
  transition: all 0.15s ease;
  border-bottom: 1px solid var(--blue-grey-100);
}

/* line 508, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-table tbody tr:last-child {
  border-bottom: none;
}

/* line 512, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-table tbody tr:hover {
  background-color: var(--blue-grey-050) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* line 518, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-table tbody td {
  padding: 1rem 0.75rem;
  vertical-align: middle;
}

/* line 524, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-table tbody td.text-success,
.committee-table tbody td.text-danger,
.committee-table tbody td.text-warning {
  color: var(--blue-grey-700) !important;
}

/* line 531, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-table tbody td:nth-child(2),
.committee-table tbody td:nth-child(3),
.committee-table tbody td:nth-child(5) {
  font-size: 0.85rem;
  color: var(--blue-grey-700);
}

/* line 539, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-table tbody td:nth-child(4) {
  font-weight: 600;
  color: var(--light-blue-vivid-700) !important;
}

/* line 545, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-table tbody td:nth-child(6) {
  font-size: 0.8rem;
  color: var(--blue-grey-600);
}

/* line 553, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-name {
  font-weight: 500;
  color: var(--blue-grey-800);
  font-size: 0.9375rem;
  line-height: 1.4;
  transition: color 0.15s ease;
}

/* line 560, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-name:hover {
  color: var(--blue-grey-600);
}

/* line 566, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.375rem;
}

/* line 573, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-id {
  font-size: 0.75rem;
  color: var(--blue-grey-500);
  font-weight: 500;
}

/* line 580, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-type-badge {
  font-size: 0.6875rem;
  padding: 0.25rem 0.5rem;
  border-radius: 3px;
  font-weight: 500;
  letter-spacing: 0.3px;
  background-color: var(--blue-grey-050);
  color: var(--blue-grey-700);
  border: 1px solid var(--blue-grey-150);
}

/* line 590, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-type-badge.badge-candidate {
  background-color: var(--teal-050);
  border-color: var(--teal-200);
  color: var(--teal-700);
}

/* line 596, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-type-badge.badge-organization {
  background-color: var(--cyan-050);
  border-color: var(--cyan-200);
  color: var(--cyan-700);
}

/* line 602, app/assets/stylesheets/campaign_finance/_local.scss */
.committee-type-badge.badge-ballot {
  background-color: var(--yellow-vivid-050);
  border-color: var(--yellow-vivid-200);
  color: var(--yellow-vivid-700);
}

/* line 611, app/assets/stylesheets/campaign_finance/_local.scss */
.sortable-header {
  cursor: pointer;
  white-space: nowrap;
}

/* line 615, app/assets/stylesheets/campaign_finance/_local.scss */
.sortable-header:hover {
  background-color: var(--blue-grey-50);
}

/* line 622, app/assets/stylesheets/campaign_finance/_local.scss */
.campaign-finance .nav-tabs .nav-link {
  border: 1px solid var(--blue-grey-300);
  color: var(--blue-grey-700);
  background-color: var(--blue-grey-50);
}

/* line 627, app/assets/stylesheets/campaign_finance/_local.scss */
.campaign-finance .nav-tabs .nav-link:hover {
  background-color: var(--blue-grey-100);
  border-color: var(--blue-grey-400);
  color: var(--blue-grey-800);
}

/* line 633, app/assets/stylesheets/campaign_finance/_local.scss */
.campaign-finance .nav-tabs .nav-link.active {
  background-color: var(--blue-grey-600);
  border-color: var(--blue-grey-600);
  color: white;
}

/* line 642, app/assets/stylesheets/campaign_finance/_local.scss */
.autocomplete-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-top: none;
  max-height: 200px;
  overflow-y: auto;
  z-index: 1000;
  display: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* line 657, app/assets/stylesheets/campaign_finance/_local.scss */
.autocomplete-item {
  padding: 8px 12px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
}

/* line 662, app/assets/stylesheets/campaign_finance/_local.scss */
.autocomplete-item:hover {
  background-color: #f8f9fa;
}

/* line 666, app/assets/stylesheets/campaign_finance/_local.scss */
.autocomplete-item strong {
  color: #0d6efd;
}

/* line 672, app/assets/stylesheets/campaign_finance/_local.scss */
.spinner-border {
  color: var(--blue-grey-600) !important;
}

/* line 15, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-feed-filters {
  background: transparent;
  padding: 0.875rem 0;
  position: sticky;
  top: 0;
  z-index: 100;
}

/* line 23, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-pills {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  padding-bottom: 2px;
}

/* line 29, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-pills::-webkit-scrollbar {
  height: 0;
}

/* line 34, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 100px;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
  text-decoration: none;
}

/* line 50, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-pill i {
  font-size: 0.875rem;
  opacity: 0.7;
}

/* line 55, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-pill:hover {
  background: #F9FAFB;
  border-color: #D1D5DB;
  color: #323C47;
  text-decoration: none;
}

/* line 62, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-pill.active {
  background: #123B66;
  color: #FFFFFF;
  border-color: #123B66;
}

/* line 67, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-pill.active i {
  opacity: 1;
}

/* line 77, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-view-toggle {
  background: transparent;
  padding: 0.5rem 0;
}

/* line 82, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-view-toggle-pills {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 88, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-view-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 100px;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
  text-decoration: none;
}

/* line 104, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-view-pill i {
  font-size: 0.75rem;
}

/* line 108, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-view-pill:hover {
  background: #F9FAFB;
  border-color: #D1D5DB;
  color: #4B5563;
  text-decoration: none;
}

/* line 115, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-view-pill.active {
  background: #4B5563;
  color: #FFFFFF;
  border-color: #4B5563;
}

/* line 126, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-feed-timeline {
  padding-top: 1rem;
  padding-bottom: 4rem;
}

/* line 131, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-timeline-section {
  margin-bottom: 2.5rem;
}

/* line 134, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-timeline-section:last-child {
  margin-bottom: 0;
}

/* line 139, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-timeline-date {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9CA3AF;
  margin-bottom: 1rem;
  padding-left: 0.25rem;
}

/* line 149, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-timeline-items {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 159, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-feed-item {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 1.25rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
  position: relative;
  overflow: hidden;
}

/* line 168, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-feed-item:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  transform: translateY(-1px);
}

/* line 179, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-feed-item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

/* line 186, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-header-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 192, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-action-link {
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
}

/* line 198, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-action-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 204, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-action-separator {
  color: #B8BFC7;
  font-size: 0.75rem;
}

/* line 209, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-amendment-inline {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
}

/* line 215, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-type-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.25rem 0.625rem;
  border-radius: 4px;
}

/* line 226, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-type-badge i {
  font-size: 0.75rem;
}

/* line 231, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-type-badge--contribution {
  background: rgba(18, 122, 122, 0.12);
  color: #127A7A;
}

/* line 236, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-type-badge--candidate {
  background: rgba(139, 92, 246, 0.12);
  color: #7c3aed;
}

/* line 241, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-type-badge--committee {
  background: rgba(58, 122, 184, 0.12);
  color: #123B66;
}

/* line 246, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-type-badge--major-donor {
  background: rgba(245, 158, 11, 0.12);
  color: #d97706;
}

/* line 251, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-type-badge--f460 {
  background: rgba(31, 92, 150, 0.12);
  color: #123B66;
}

/* line 256, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-type-badge--ie {
  background: rgba(156, 163, 175, 0.12);
  color: #6B7280;
}

/* line 261, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-feed-timestamp {
  font-size: 0.75rem;
  color: #B8BFC7;
}

/* line 270, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-amount {
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.025em;
  margin-bottom: 0.25rem;
}

/* line 278, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-amount--teal {
  color: #0d9488;
}

/* line 279, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-amount--green {
  color: #059669;
}

/* line 280, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-amount--red {
  color: #dc2626;
}

/* line 281, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-amount--amber {
  color: #d97706;
}

/* line 282, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-amount--neutral {
  color: #323C47;
}

/* line 284, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-amount-label {
  font-size: 0.6875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.875rem;
}

/* line 292, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-amount-label--received {
  color: #0d9488;
}

/* line 293, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-amount-label--gave {
  color: #9CA3AF;
}

/* line 294, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-amount-label--support {
  color: #059669;
}

/* line 295, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-amount-label--oppose {
  color: #dc2626;
}

/* line 296, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-amount-label--donated {
  color: #d97706;
}

/* line 302, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-entity-primary {
  font-size: 1rem;
  font-weight: 600;
  color: #1F2933;
  margin-bottom: 0.125rem;
  line-height: 1.3;
}

/* line 309, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-entity-primary a {
  color: inherit;
  text-decoration: none;
}

/* line 313, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-entity-primary a:hover {
  color: #1F5C96;
}

/* line 319, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-entity-secondary {
  font-size: 0.875rem;
  color: #9CA3AF;
  line-height: 1.4;
}

/* line 324, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-entity-secondary a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 328, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-entity-secondary a:hover {
  text-decoration: underline;
}

/* line 333, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-entity-secondary strong {
  color: #4B5563;
  font-weight: 500;
}

/* line 339, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-entity-meta {
  font-size: 0.75rem;
  color: #B8BFC7;
  margin-top: 0.25rem;
}

/* line 344, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-entity-meta a {
  color: #9CA3AF;
  text-decoration: none;
}

/* line 348, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-entity-meta a:hover {
  color: #4B5563;
  text-decoration: none;
}

/* line 354, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-entity-meta i {
  margin-right: 0.25rem;
}

/* line 363, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-financial-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  margin: 0.75rem 0;
}

/* line 373, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-financial-cell {
  background: #FFFFFF;
  padding: 0.75rem 0.5rem;
  text-align: center;
}

/* line 379, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-financial-value {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.25rem;
}

/* line 386, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-financial-value--raised {
  color: #059669;
}

/* line 387, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-financial-value--spent {
  color: #dc2626;
}

/* line 388, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-financial-value--debt {
  color: #d97706;
}

/* line 389, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-financial-value--cash {
  color: #4B5563;
}

/* line 391, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-financial-label {
  font-size: 0.625rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #B8BFC7;
}

/* line 403, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-feed-item-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1rem;
  padding-top: 0.875rem;
  border-top: 1px solid #F3F4F6;
}

/* line 412, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-item-actions {
  display: flex;
  gap: 0.375rem;
  margin-left: auto;
}

/* line 418, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  background: transparent;
  border: 1px solid #E5E7EB;
  padding: 0.375rem 0.75rem;
  border-radius: 6px;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 433, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-action-btn i {
  font-size: 0.8125rem;
}

/* line 437, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-action-btn:hover {
  background: #F9FAFB;
  border-color: #D1D5DB;
  color: #4B5563;
  text-decoration: none;
}

/* line 445, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-amendment-badge {
  font-size: 0.625rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #9CA3AF;
  background: #F3F4F6;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

/* line 460, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-committee-name {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 0.25rem;
  letter-spacing: -0.01em;
}

/* line 467, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-committee-name a {
  color: inherit;
  text-decoration: none;
}

/* line 471, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-committee-name a:hover {
  color: #1F5C96;
}

/* line 481, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-candidate-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 0.25rem;
  letter-spacing: -0.01em;
}

/* line 488, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-candidate-name a {
  color: inherit;
  text-decoration: none;
}

/* line 492, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-candidate-name a:hover {
  color: #1F5C96;
}

/* line 498, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-candidate-office {
  font-size: 0.875rem;
  color: #6B7280;
  margin-bottom: 0.5rem;
}

/* line 504, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-party-tag {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

/* line 514, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-party-tag--dem {
  background: rgba(37, 99, 235, 0.1);
  color: #1d4ed8;
}

/* line 519, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-party-tag--rep {
  background: rgba(220, 38, 38, 0.1);
  color: #b91c1c;
}

/* line 524, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-party-tag--npf {
  background: #F3F4F6;
  color: #6B7280;
}

/* line 529, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-party-tag--grn {
  background: rgba(22, 163, 74, 0.1);
  color: #15803d;
}

/* line 534, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-party-tag--lib {
  background: rgba(234, 179, 8, 0.1);
  color: #a16207;
}

/* line 543, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-contribution-group-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.75rem;
  padding: 0.375rem 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #1F5C96;
  background: none;
  border: none;
  cursor: pointer;
  transition: color 0.15s ease;
}

/* line 557, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-contribution-group-toggle i {
  font-size: 0.75rem;
  transition: transform 0.15s ease;
}

/* line 562, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-contribution-group-toggle:hover {
  color: #123B66;
}

/* line 567, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-contribution-group-list {
  margin-top: 0.75rem;
  border-top: 1px solid #E5E7EB;
  padding-top: 0.5rem;
}

/* line 573, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-contribution-group-item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 0;
}

/* line 580, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-contribution-group-item + .cf-contribution-group-item {
  border-top: 1px solid #F3F4F6;
}

/* line 585, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-contribution-group-donor {
  font-size: 0.875rem;
  color: #4B5563;
  min-width: 0;
}

/* line 590, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-contribution-group-donor a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 594, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-contribution-group-donor a:hover {
  text-decoration: underline;
}

/* line 600, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-contribution-group-meta {
  display: block;
  font-size: 0.75rem;
  color: #B8BFC7;
  margin-top: 0.125rem;
}

/* line 607, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-contribution-group-right {
  text-align: right;
  flex-shrink: 0;
}

/* line 612, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-contribution-group-amount {
  font-size: 0.875rem;
  font-weight: 700;
  color: #323C47;
  white-space: nowrap;
}

/* line 619, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-contribution-group-date {
  font-size: 0.6875rem;
  color: #B8BFC7;
  margin-top: 0.125rem;
}

/* line 629, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-target {
  margin-bottom: 0.5rem;
}

/* line 633, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-target-name {
  font-size: 1rem;
  font-weight: 600;
  color: #1F2933;
  margin-bottom: 0.125rem;
}

/* line 639, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-target-name a {
  color: inherit;
  text-decoration: none;
}

/* line 643, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-target-name a:hover {
  color: #1F5C96;
}

/* line 649, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-target-context {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 658, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-empty-state {
  text-align: center;
  padding: 3rem 1.5rem;
  background: #FFFFFF;
  border-radius: 12px;
}

/* line 664, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-empty-state i {
  font-size: 3rem;
  color: #D1D5DB;
  margin-bottom: 1rem;
  display: block;
}

/* line 671, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-empty-state h5 {
  color: #9CA3AF;
  margin-bottom: 0.5rem;
}

/* line 676, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-empty-state p {
  color: #B8BFC7;
  font-size: 0.875rem;
  max-width: 400px;
  margin: 0 auto;
}

@media (max-width: 640px) {
  /* line 689, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .cf-financial-strip {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 693, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .cf-amount {
    font-size: 1.625rem;
  }
  /* line 697, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .cf-feed-item {
    padding: 1rem;
  }
  /* line 701, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .cf-feed-item-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  /* line 707, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .cf-item-actions {
    margin-left: 0;
  }
  /* line 711, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .cf-filter-pills {
    padding-left: 1rem;
    padding-right: 1rem;
    margin-left: -1rem;
    margin-right: -1rem;
  }
}

/* line 724, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-feed .card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  border: 1px solid var(--blue-grey-200) !important;
}

/* line 729, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-feed .card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
}

/* line 736, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.feed-column-left {
  max-height: 80vh;
  overflow-y: auto;
  padding-top: 4px;
}

/* line 741, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.feed-column-left::-webkit-scrollbar {
  width: 8px;
}

/* line 745, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.feed-column-left::-webkit-scrollbar-track {
  background: var(--blue-grey-100);
  border-radius: 4px;
}

/* line 750, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.feed-column-left::-webkit-scrollbar-thumb {
  background: var(--blue-grey-300);
  border-radius: 4px;
}

/* line 754, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.feed-column-left::-webkit-scrollbar-thumb:hover {
  background: var(--blue-grey-400);
}

/* line 762, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.btn-check:checked + label {
  background-color: var(--blue-grey-600) !important;
  color: white !important;
  border-color: var(--blue-grey-600) !important;
}

/* line 769, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.committee-link {
  color: var(--blue-grey-700);
  text-decoration: none;
}

/* line 773, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.committee-link:hover {
  text-decoration: underline;
}

/* line 779, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card {
  background: white;
  border: 1px solid var(--blue-grey-200);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 12px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* line 787, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* line 793, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-header {
  margin-bottom: 6px;
}

/* line 797, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-title {
  font-weight: 500;
  font-size: 0.95rem;
  color: var(--light-blue-vivid-700);
  text-decoration: none;
}

/* line 803, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-title:hover {
  text-decoration: underline;
}

/* line 809, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-item[data-activity-type="candidates"] .activity-card-title {
  font-size: 1.1rem;
  font-weight: 700;
}

/* line 814, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-amount {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 6px;
  line-height: 1.2;
}

/* line 820, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-amount.amount-support {
  color: var(--teal-600);
}

/* line 824, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-amount.amount-oppose {
  color: var(--red-vivid-600);
}

/* line 829, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-target {
  font-size: 0.9rem;
  margin-bottom: 6px;
  color: var(--text-primary);
}

/* line 834, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-target .position-support {
  color: var(--teal-600);
  font-weight: 500;
}

/* line 839, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-target .position-oppose {
  color: var(--red-vivid-600);
  font-weight: 500;
}

/* line 844, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-target .target-link {
  color: var(--light-blue-vivid-700);
  text-decoration: none;
  font-weight: 500;
}

/* line 849, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-target .target-link:hover {
  text-decoration: underline;
}

/* line 854, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-target strong {
  color: var(--text-primary);
}

/* line 859, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-badge {
  margin-top: 8px;
  margin-bottom: 8px;
}

/* line 863, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-badge .badge {
  background-color: var(--blue-grey-200);
  color: var(--blue-grey-700);
  font-size: 0.75rem;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 500;
}

/* line 873, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-dates {
  margin-bottom: 10px;
}

/* line 876, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-dates small {
  color: var(--text-muted);
  font-size: 0.8rem;
}

/* line 882, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 4px;
}

/* line 889, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.btn-action {
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-700);
  border: 1px solid var(--blue-grey-200);
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 0.85rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: background-color 0.2s ease;
}

/* line 901, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.btn-action:hover {
  background-color: var(--blue-grey-200);
  color: var(--blue-grey-800);
  text-decoration: none;
}

/* line 907, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.btn-action i {
  font-size: 0.9rem;
}

/* line 913, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.f460-metrics {
  display: flex;
  gap: 0;
  overflow: hidden;
  border-radius: 6px;
  margin-bottom: 12px;
}

@media (max-width: 768px) {
  /* line 913, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .f460-metrics {
    flex-wrap: wrap;
  }
}

/* line 925, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.f460-metric {
  flex: 1;
  padding: 8px 10px;
  border-right: 3px solid transparent;
  text-align: center;
}

/* line 931, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.f460-metric:last-child {
  border-right: none;
}

@media (max-width: 768px) {
  /* line 925, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .f460-metric {
    flex-basis: 50%;
    border-right: none;
    border-bottom: 2px solid transparent;
  }
  /* line 940, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .f460-metric:nth-child(odd) {
    border-right: 3px solid transparent;
  }
}

/* line 946, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.f460-metric-raised {
  background-color: rgba(5, 150, 105, 0.1);
  border-right-color: var(--teal-600);
}

/* line 950, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.f460-metric-raised .f460-metric-value {
  color: var(--teal-700);
}

@media (max-width: 768px) {
  /* line 955, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .f460-metric-raised:nth-child(odd) {
    border-right-color: var(--teal-600);
  }
}

/* line 961, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.f460-metric-spent {
  background-color: rgba(220, 38, 38, 0.08);
  border-right-color: var(--red-vivid-600);
}

/* line 965, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.f460-metric-spent .f460-metric-value {
  color: var(--red-vivid-700);
}

@media (max-width: 768px) {
  /* line 961, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .f460-metric-spent {
    border-bottom-color: var(--red-vivid-600);
  }
}

/* line 974, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.f460-metric-debt {
  background-color: rgba(234, 179, 8, 0.1);
  border-right-color: var(--yellow-vivid-600);
}

/* line 978, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.f460-metric-debt .f460-metric-value {
  color: var(--yellow-vivid-700);
}

@media (max-width: 768px) {
  /* line 983, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .f460-metric-debt:nth-child(odd) {
    border-right-color: var(--yellow-vivid-600);
  }
}

/* line 989, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.f460-metric-cash {
  background-color: rgba(51, 65, 85, 0.06);
}

/* line 992, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.f460-metric-cash .f460-metric-value {
  color: var(--blue-grey-800);
}

/* line 997, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.f460-metric-label {
  font-size: 0.65rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-top: 3px;
  font-weight: 500;
}

/* line 1006, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.f460-metric-value {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
}

/* line 1014, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-card-title-static {
  font-weight: 500;
  font-size: 0.95rem;
  color: var(--text-primary);
}

/* line 1021, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-top-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 5px;
}

/* line 1029, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-committee {
  flex: 1;
  min-width: 0;
  padding-top: 1px;
}

/* line 1035, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-committee-link {
  font-weight: 400;
  font-size: 0.875rem;
  color: var(--blue-grey-600);
  text-decoration: none;
  line-height: 1.4;
}

/* line 1042, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-committee-link:hover {
  text-decoration: underline;
  color: var(--light-blue-vivid-700);
}

/* line 1048, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-committee-context {
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 2px;
  line-height: 1.3;
}

/* line 1056, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-amount-compact {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  flex-shrink: 0;
  margin-top: -2px;
}

/* line 1064, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-direction-badge {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 3px;
}

/* line 1071, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-direction-badge.direction-gave {
  color: var(--blue-grey-700);
}

/* line 1075, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-direction-badge.direction-received {
  color: var(--teal-700);
}

/* line 1080, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-amount-value {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--teal-700);
  line-height: 1;
  white-space: nowrap;
}

/* line 1089, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-jurisdiction {
  font-size: 0.8rem;
  color: var(--blue-grey-600);
  margin-bottom: 6px;
}

/* line 1094, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-jurisdiction i {
  font-size: 0.75rem;
  margin-right: 4px;
  opacity: 0.7;
}

/* line 1100, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-jurisdiction .contribution-jurisdiction-link {
  color: var(--blue-grey-600);
}

/* line 1103, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-jurisdiction .contribution-jurisdiction-link:hover {
  color: var(--blue-grey-700);
}

/* line 1110, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-party {
  font-size: 0.9rem;
  color: var(--text-primary);
  margin-bottom: 4px;
  line-height: 1.3;
}

/* line 1116, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-party strong {
  font-weight: 500;
  color: var(--text-primary);
}

/* line 1121, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-party .contribution-party-link {
  color: var(--light-blue-vivid-700);
  text-decoration: none;
  font-weight: 500;
}

/* line 1126, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-party .contribution-party-link:hover {
  text-decoration: underline;
}

/* line 1132, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-employment {
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 2px;
  line-height: 1.3;
  margin-bottom: 2px;
}

/* line 1141, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.contribution-date {
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 8px;
  padding-top: 2px;
  margin-bottom: 10px;
}

/* line 1150, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.candidate-office {
  font-size: 0.95rem;
  color: var(--text-primary);
  margin-bottom: 8px;
  font-weight: 500;
}

/* line 1157, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.candidate-party {
  font-size: 0.85rem;
  font-weight: 500;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 1166, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.f461-amount {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--teal-600);
  margin-bottom: 4px;
  line-height: 1.2;
}

/* line 1174, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.f461-label {
  font-size: 0.75rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
  font-weight: 500;
}

/* line 1183, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.feed-column-right {
  padding-top: 4px;
}

@media (min-width: 992px) {
  /* line 1188, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .dashboard-header-wrapper {
    max-width: 66.666667%;
  }
}

@media (min-width: 992px) {
  /* line 1195, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .filter-controls-wrapper {
    max-width: 66.666667%;
  }
}

/* line 1202, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-filter-control-bar {
  padding: 0.875rem 1.25rem !important;
}

/* line 1205, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.activity-filter-control-bar .filter-badge-group {
  flex: 1;
}

/* line 1211, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-description-text {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
  opacity: 0.85;
}

/* line 1216, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-description-text .filter-description-inline {
  line-height: 1.6;
}

/* line 1222, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.feed-bottom-spacer {
  height: 3rem;
  margin-top: 2rem;
}

/* line 1227, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-badge-option {
  cursor: pointer;
  margin: 0;
}

/* line 1231, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-badge-option input[type="radio"] {
  display: none;
}

/* line 1235, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-badge-option .filter-badge-content {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.25rem 0.625rem;
  border-radius: 6px;
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-700);
  border: 2px solid var(--blue-grey-200);
  font-size: 0.8125rem;
  font-weight: 500;
  transition: all 0.2s ease;
}

/* line 1248, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-badge-option .filter-badge-content i {
  font-size: 0.9rem;
  transition: color 0.2s ease;
}

/* line 1254, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-badge-option:hover .filter-badge-content {
  background-color: var(--blue-grey-200);
  border-color: var(--blue-grey-300);
}

/* line 1259, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-badge-option input[type="radio"]:checked + .filter-badge-content {
  background-color: var(--light-blue-vivid-600);
  border-color: var(--light-blue-vivid-600);
  color: white;
}

/* line 1264, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-badge-option input[type="radio"]:checked + .filter-badge-content i {
  color: white;
}

/* line 1271, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-badge-link {
  text-decoration: none;
  cursor: pointer;
}

/* line 1275, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-badge-link .filter-badge-content {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.25rem 0.625rem;
  border-radius: 6px;
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-700);
  border: 2px solid var(--blue-grey-200);
  font-size: 0.8125rem;
  font-weight: 500;
  transition: all 0.2s ease;
}

/* line 1288, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-badge-link .filter-badge-content i {
  font-size: 0.9rem;
  transition: color 0.2s ease;
}

/* line 1294, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-badge-link:hover .filter-badge-content {
  background-color: var(--blue-grey-200);
  border-color: var(--blue-grey-300);
}

/* line 1299, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-badge-link.active .filter-badge-content {
  background-color: var(--light-blue-vivid-600);
  border-color: var(--light-blue-vivid-600);
  color: white;
}

/* line 1304, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-badge-link.active .filter-badge-content i {
  color: white;
}

@media (max-width: 767.98px) {
  /* line 1313, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .activity-filter-control-bar .d-flex {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  /* line 1318, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .activity-filter-control-bar .filter-badge-group {
    width: 100%;
  }
  /* line 1321, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .activity-filter-control-bar .filter-badge-group .filter-badge-option {
    flex: 1;
  }
  /* line 1324, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .activity-filter-control-bar .filter-badge-group .filter-badge-option .filter-badge-content {
    width: 100%;
    justify-content: center;
  }
}

/* line 1333, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.feed-column-left {
  max-height: 80vh;
  overflow-y: auto;
  padding-top: 4px;
}

/* line 1338, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.feed-column-left::-webkit-scrollbar {
  width: 8px;
}

/* line 1342, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.feed-column-left::-webkit-scrollbar-track {
  background: var(--blue-grey-100);
  border-radius: 4px;
}

/* line 1347, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.feed-column-left::-webkit-scrollbar-thumb {
  background: var(--blue-grey-300);
  border-radius: 4px;
}

/* line 1351, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.feed-column-left::-webkit-scrollbar-thumb:hover {
  background: var(--blue-grey-400);
}

/* line 1358, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.sticky-filters {
  position: sticky;
  top: 20px;
}

/* line 1363, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-description {
  padding: 12px;
  background-color: var(--blue-grey-50);
  border-left: 3px solid var(--light-blue-vivid-600);
  border-radius: 4px;
  line-height: 1.5;
}

/* line 1371, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 1377, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-option {
  cursor: pointer;
  margin: 0;
}

/* line 1381, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-option input[type="radio"] {
  display: none;
}

/* line 1385, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-option .filter-option-content {
  display: flex;
  align-items: center;
  padding: 14px 12px;
  border-radius: 6px;
  background-color: var(--blue-grey-50);
  border: 2px solid var(--blue-grey-200);
  transition: all 0.2s ease;
}

/* line 1394, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-option .filter-option-content i {
  font-size: 1.1rem;
  margin-right: 10px;
  color: var(--blue-grey-600);
  transition: color 0.2s ease;
}

/* line 1402, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-option .filter-option-label {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text-primary);
}

/* line 1408, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-option:hover .filter-option-content {
  background-color: var(--blue-grey-100);
  border-color: var(--blue-grey-300);
}

/* line 1413, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-option input[type="radio"]:checked + .filter-option-content {
  background-color: var(--blue-grey-600);
  border-color: var(--blue-grey-600);
}

/* line 1417, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-option input[type="radio"]:checked + .filter-option-content i {
  color: white;
}

/* line 1421, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.filter-option input[type="radio"]:checked + .filter-option-content .filter-option-label {
  color: white;
}

/* line 1431, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-jurisdiction-filters {
  background: #FFFFFF;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin-bottom: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

/* line 1439, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-help {
  font-size: 0.8125rem;
  color: #9CA3AF;
  margin-bottom: 0.875rem;
  line-height: 1.5;
}

/* line 1445, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-help i {
  margin-right: 0.375rem;
  color: #B8BFC7;
}

/* line 1451, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-row {
  display: flex;
  gap: 1rem;
  align-items: flex-end;
  flex-wrap: wrap;
}

@media (max-width: 767px) {
  /* line 1451, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .cf-filter-row {
    flex-direction: column;
    align-items: stretch;
  }
}

/* line 1463, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-group {
  flex: 1;
  min-width: 180px;
}

@media (max-width: 767px) {
  /* line 1463, app/assets/stylesheets/campaign_finance/activity_feed.scss */
  .cf-filter-group {
    min-width: 100%;
  }
}

/* line 1472, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9CA3AF;
  margin-bottom: 0.375rem;
}

/* line 1482, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-select {
  width: 100%;
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.25rem;
}

/* line 1499, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-select:hover {
  border-color: #B8BFC7;
}

/* line 1503, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-select:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.1);
}

/* line 1510, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-actions {
  display: flex;
  align-items: center;
  padding-bottom: 0.125rem;
}

/* line 1516, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-clear {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #9CA3AF;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 1526, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-clear i {
  font-size: 0.875rem;
}

/* line 1530, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-clear:hover {
  color: #4B5563;
  text-decoration: none;
}

/* line 1536, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-notice {
  margin-top: 0.75rem;
  padding: 0.625rem 0.875rem;
  font-size: 0.8125rem;
  color: #6B7280;
  background: #F9FAFB;
  border-radius: 6px;
  border-left: 3px solid #B8BFC7;
}

/* line 1545, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-notice i {
  margin-right: 0.375rem;
}

/* line 1549, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-notice a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 1553, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-filter-notice a:hover {
  text-decoration: underline;
}

/* line 1563, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-jurisdiction-badge {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  margin: 1rem 0;
  font-size: 0.875rem;
  color: #6B7280;
  background: #F9FAFB;
  border-radius: 8px;
  border-left: 3px solid #1F5C96;
}

/* line 1575, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-jurisdiction-badge i {
  color: #9CA3AF;
  font-size: 1rem;
}

/* line 1580, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-jurisdiction-badge strong {
  color: #323C47;
}

/* line 1584, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-jurisdiction-badge a {
  margin-left: auto;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 1594, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-jurisdiction-badge a:hover {
  text-decoration: underline;
}

/* line 1598, app/assets/stylesheets/campaign_finance/activity_feed.scss */
.cf-jurisdiction-badge a i {
  font-size: 0.75rem;
  color: #1F5C96;
}

/* line 4, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal {
  border: none;
  border-radius: 8px;
  box-shadow: 0 20px 25px rgba(31, 41, 51, 0.08), 0 10px 10px rgba(31, 41, 51, 0.03);
  overflow: hidden;
}

/* line 11, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 20, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 27, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  background: none;
  border: none;
  border-radius: 6px;
  color: #9CA3AF;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 41, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-close:hover {
  background-color: #E5E7EB;
  color: #4B5563;
}

/* line 47, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-body {
  padding: 0;
  max-height: 70vh;
  overflow-y: auto;
}

/* line 53, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem;
}

/* line 59, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-loading .spinner-border {
  width: 2rem;
  height: 2rem;
  color: #1F5C96;
}

/* line 66, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  background-color: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
}

/* line 77, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-recipient {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 83, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-recipient-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #9CA3AF;
}

/* line 90, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-recipient-name {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 95, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-recipient-name a {
  color: inherit;
  text-decoration: none;
}

/* line 99, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-recipient-name a:hover {
  color: #1F5C96;
}

/* line 105, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-totals {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
}

/* line 112, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-count {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 117, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-amount {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 123, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-content {
  padding: 1.5rem;
}

/* line 127, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-section {
  margin-bottom: 1.5rem;
}

/* line 130, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-section:last-child {
  margin-bottom: 0;
}

/* line 135, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-section-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  margin-bottom: 0.75rem;
}

/* line 141, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-section-title a {
  color: inherit;
  text-decoration: none;
}

/* line 145, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-section-title a:hover {
  color: #1F5C96;
}

/* line 150, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-section-title .contributions-modal-section-meta {
  font-weight: 400;
  color: #9CA3AF;
  margin-left: 0.5rem;
}

/* line 157, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-table {
  width: 100%;
  font-size: 0.875rem;
  border-collapse: collapse;
}

/* line 162, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-table th {
  text-align: left;
  padding: 0.5rem 0.75rem;
  font-weight: 500;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #6B7280;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 173, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-table th.text-end {
  text-align: right;
}

/* line 178, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-table td {
  padding: 0.625rem 0.75rem;
  color: #4B5563;
  border-bottom: 1px solid #F3F4F6;
  vertical-align: middle;
}

/* line 184, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-table td.text-end {
  text-align: right;
}

/* line 188, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-table td.text-nowrap {
  white-space: nowrap;
}

/* line 192, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-table td.fw-semibold {
  font-weight: 600;
  color: #1F2933;
}

/* line 198, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 202, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-table a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 206, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-table a:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 213, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem;
  text-align: center;
}

/* line 221, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-empty i {
  font-size: 2.5rem;
  color: #D1D5DB;
  margin-bottom: 1rem;
}

/* line 227, app/assets/stylesheets/campaign_finance/_contributions_made.scss */
.contributions-modal-empty p {
  color: #9CA3AF;
  margin: 0;
}

/* line 5, app/assets/stylesheets/campaign_finance/_primary_funds.scss */
.primary-overview-race-col {
  max-width: 140px;
  white-space: normal;
}

@media (max-width: 767px) {
  /* line 8, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
  #committeeBreakdownModal .modal-dialog {
    margin: 0;
    max-width: 100%;
    height: 100vh;
  }
  /* line 13, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
  #committeeBreakdownModal .modal-dialog .modal-content {
    height: 100vh;
    border-radius: 0;
  }
}

/* line 20, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
#committeeBreakdownModal .modal-header {
  position: sticky;
  top: 0;
  z-index: 1055;
}

/* line 26, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
#committeeBreakdownModal .modal-body {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* line 34, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.ie-view-toggle .btn-check:checked + .btn-outline-primary {
  background-color: var(--light-blue-vivid-600) !important;
  border-color: var(--light-blue-vivid-600) !important;
  color: white !important;
}

/* line 40, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.ie-view-toggle .btn-outline-primary {
  border-color: var(--blue-grey-300);
  color: var(--blue-grey-700);
}

/* line 44, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.ie-view-toggle .btn-outline-primary:hover:not(.active) {
  background-color: var(--blue-grey-100);
  border-color: var(--blue-grey-400);
  color: var(--blue-grey-800);
}

/* line 54, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.modal-view-toggle .btn-check:checked + .btn {
  background-color: var(--blue-grey-700) !important;
  border-color: var(--blue-grey-700) !important;
  color: white !important;
}

/* line 60, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.modal-view-toggle .btn {
  border-color: var(--blue-grey-300);
  color: var(--blue-grey-700);
  background-color: white;
}

/* line 65, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.modal-view-toggle .btn:hover:not(.active) {
  background-color: var(--blue-grey-100);
  border-color: var(--blue-grey-400);
}

/* line 73, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.target-row {
  transition: background-color 0.15s ease;
}

/* line 76, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.target-row:hover {
  background-color: rgba(0, 0, 0, 0.02);
}

/* line 86, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.filing-modal-dialog {
  max-width: 1400px;
}

/* line 90, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.filing-modal-footer {
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 95, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.filing-modal-pdf-btn {
  background-color: #6B7280;
  color: white;
}

/* line 99, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.filing-modal-pdf-btn:hover {
  background-color: #4B5563;
  color: white;
}

/* line 106, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-modal-section-header {
  padding: 0.5rem 0.75rem;
  font-weight: 500;
  font-size: 0.875rem;
  margin-bottom: 0;
}

/* line 113, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-modal-section-header-teal {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 118, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-modal-section-header-orange {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 123, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-modal-section-header-info {
  background-color: #EDF3F8;
  color: #1D5E96;
}

/* line 128, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-modal-section-header-neutral {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 142, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.lcf-committee-detail .lcf-filing-content {
  margin-top: 1.5rem;
}

/* line 147, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.lcf-committee-detail .table-responsive {
  padding: 0 1.25rem;
}

/* line 153, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.lcf-committee-detail .table th {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  border-bottom: 2px solid #E5E7EB;
}

/* line 160, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.lcf-committee-detail .table td {
  vertical-align: middle;
  font-size: 0.875rem;
  color: #1F2933;
}

/* line 169, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.lcf-nav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.25rem;
  padding: 0 0.375rem;
  margin-left: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  background-color: rgba(107, 114, 128, 0.15);
  color: #6B7280;
}

/* line 183, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.committee-nav-link.active .lcf-nav-badge {
  background-color: rgba(31, 92, 150, 0.2);
  color: #123B66;
}

/* line 190, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.lcf-committee-name-breadcrumb {
  display: inline-block;
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
}

@media (max-width: 767px) {
  /* line 190, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
  .lcf-committee-name-breadcrumb {
    max-width: 120px;
  }
}

/* line 209, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-card {
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 2.5rem;
  text-align: center;
  max-width: 600px;
  margin: 2rem auto;
}

/* line 219, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-icon {
  font-size: 2.5rem;
  color: #B8BFC7;
  margin-bottom: 1rem;
}

/* line 225, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 0.75rem;
}

/* line 232, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-text {
  font-size: 0.875rem;
  color: #6B7280;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

/* line 239, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-links {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: center;
}

/* line 246, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.25rem;
  background: #1F5C96;
  color: white;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 6px;
  text-decoration: none;
  transition: background-color 0.15s ease;
}

/* line 259, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-link:hover {
  background: #123B66;
  color: white;
  text-decoration: none;
}

/* line 265, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-link i {
  font-size: 0.875rem;
}

/* line 271, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-county-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 1rem;
  text-align: left;
}

/* line 279, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-county-item {
  width: 100%;
}

/* line 283, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-county-link {
  display: flex;
  align-items: center;
  padding: 0.875rem 1rem;
  background: white;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  text-decoration: none;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

/* line 293, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-county-link:hover:not(.cf-info-county-link--disabled) {
  border-color: #4C7FB5;
  background: #F4F7FC;
  text-decoration: none;
}

/* line 299, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-county-link.cf-info-county-link--disabled {
  cursor: default;
  opacity: 0.7;
}

/* line 305, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-county-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  flex: 1;
}

/* line 312, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-county-status {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  margin-right: 0.75rem;
}

/* line 320, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-county-status i {
  font-size: 0.75rem;
}

/* line 324, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-county-status.cf-info-county-status--available {
  color: #127A7A;
}

/* line 328, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-county-status.cf-info-county-status--unavailable {
  color: #B8BFC7;
}

/* line 333, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-county-arrow {
  color: #B8BFC7;
  font-size: 0.875rem;
  transition: transform 0.15s ease;
}

/* line 338, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.cf-info-county-link:hover:not(.cf-info-county-link--disabled) .cf-info-county-arrow {
  transform: translateX(2px);
  color: #1F5C96;
}

/* line 349, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.committee-header-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-bottom: 0.75rem;
}

/* line 357, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.committee-header-breadcrumb a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 361, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.committee-header-breadcrumb a:hover {
  text-decoration: underline;
}

/* line 366, app/assets/stylesheets/jurisdictions/campaign_finance.scss */
.committee-header-breadcrumb i {
  font-size: 0.625rem;
  color: #B8BFC7;
}

/* line 1, app/assets/stylesheets/_precinct_results.scss */
.precinct-tooltip {
  background: white;
  border: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 4px;
}

/* Enhanced main dropdown styling */
/* line 11, app/assets/stylesheets/_precinct_results.scss */
.form-floating > .form-select {
  height: calc(3.5rem + 2px);
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
  border: 2px solid var(--blue-grey-200);
  border-radius: 8px;
  transition: all 0.15s ease-in-out;
  background-color: #fff;
}

/* line 21, app/assets/stylesheets/_precinct_results.scss */
.form-floating > .form-select:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.15);
  transform: translateY(-1px);
}

/* line 27, app/assets/stylesheets/_precinct_results.scss */
.form-floating > label {
  color: var(--blue-grey-600);
  font-weight: 500;
  font-size: 0.875rem;
}

/* line 33, app/assets/stylesheets/_precinct_results.scss */
.form-floating > .form-select:focus ~ label,
.form-floating > .form-select:not(:placeholder-shown) ~ label {
  color: var(--bs-primary);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

/* Preview mode disabled state styling for precinct filters */
/* line 40, app/assets/stylesheets/_precinct_results.scss */
#precinctFilterCard .form-select:disabled,
#precinctFilterCard .form-control:disabled {
  background-color: var(--bs-gray-100);
  opacity: 0.6;
  cursor: not-allowed;
}

/* line 47, app/assets/stylesheets/_precinct_results.scss */
#precinctFilterCard .btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* line 19, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-results {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: visible;
  min-height: 550px;
  margin-bottom: 2rem;
}

/* line 32, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}

/* line 40, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-row {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 47, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-group {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  flex: 1;
  min-width: 140px;
}

/* line 55, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-group-fixed {
  flex: 0 0 auto;
}

/* line 59, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 67, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-select {
  display: block;
  width: 100%;
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: #1F2933;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%234B5563' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 12px;
}

/* line 84, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-select:hover {
  border-color: #B8BFC7;
}

/* line 88, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-select:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.15);
}

/* line 94, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-filter-select:disabled {
  background-color: #F3F4F6;
  color: #9CA3AF;
  cursor: not-allowed;
}

/* line 102, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-race-type-toggle {
  display: inline-flex;
  gap: 0.25rem;
}

/* line 107, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-race-type-btn {
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 118, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-race-type-btn:hover:not(.active) {
  background-color: #F9FAFB;
  border-color: #B8BFC7;
}

/* line 123, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-race-type-btn.active {
  background-color: #1F5C96;
  border-color: #1F5C96;
  color: #FFFFFF;
}

/* line 130, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-race-type-btn input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* line 138, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-election-type-toggle {
  display: inline-flex;
  gap: 0.25rem;
}

/* line 143, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-election-type-btn {
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 154, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-election-type-btn:hover:not(.active):not(.disabled) {
  background-color: #F9FAFB;
  border-color: #B8BFC7;
}

/* line 159, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-election-type-btn.active {
  background-color: #1F5C96;
  border-color: #1F5C96;
  color: #FFFFFF;
}

/* line 165, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-election-type-btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* line 172, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-election-type-btn input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* line 180, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-help-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  color: #9CA3AF;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 194, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-help-btn:hover {
  background-color: #F9FAFB;
  color: #4B5563;
  border-color: #B8BFC7;
}

/* line 200, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-help-btn i {
  font-size: 1rem;
}

/* line 206, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-load-data-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.4rem 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  background-color: #1F5C96;
  color: #FFFFFF;
  border: 1px solid #1F5C96;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}

/* line 221, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-load-data-btn:hover {
  background-color: #123B66;
  border-color: #123B66;
}

/* line 226, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-load-data-btn.is-loaded {
  background-color: #FFFFFF;
  color: #9CA3AF;
  border-color: #D1D5DB;
}

/* line 231, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-load-data-btn.is-loaded:hover {
  background-color: #F9FAFB;
  color: #4B5563;
  border-color: #B8BFC7;
}

/* line 238, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-load-data-btn.is-loading {
  opacity: 0.7;
  cursor: not-allowed;
  pointer-events: none;
}

/* line 244, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-load-data-btn i {
  font-size: 0.875rem;
}

/* line 250, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-empty-state {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1001;
}

/* line 263, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-empty-content {
  text-align: center;
}

/* line 267, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-empty-icon {
  font-size: 2.5rem;
  color: #B8BFC7;
  display: block;
  margin-bottom: 0.75rem;
}

/* line 274, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-empty-text {
  color: #9CA3AF;
  font-size: 1rem;
}

/* line 280, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-county-filter {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #E5E7EB;
}

/* line 290, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-content {
  position: relative;
  min-height: 550px;
}

/* line 299, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-map-section {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
}

/* line 309, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-map-container {
  flex: 1;
  background-color: #F3F4F6;
  position: relative;
  overflow: visible;
}

/* line 317, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-map {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 328, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-map-controls {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  z-index: 1000;
}

/* line 338, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-map-control-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  color: #4B5563;
  cursor: pointer;
  transition: all 0.15s ease;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 352, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-map-control-btn:hover {
  background-color: #F9FAFB;
  color: #1F2933;
}

/* line 357, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-map-control-btn:active {
  background-color: #F3F4F6;
}

/* line 363, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-map-legend {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 1rem;
  background-color: rgba(255, 255, 255, 0.95);
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  z-index: 1000;
}

/* line 379, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-gradient {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 385, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar {
  width: 60px;
  height: 10px;
  border-radius: 2px;
}

/* line 391, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-dem {
  background: linear-gradient(to right, rgba(31, 92, 150, 0.2), rgba(31, 92, 150, 0.5), #1F5C96);
}

/* line 395, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-rep {
  background: linear-gradient(to right, rgba(155, 35, 49, 0.2), rgba(155, 35, 49, 0.5), #9B2331);
}

/* line 399, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-nonpartisan {
  background: linear-gradient(to right, rgba(75, 85, 99, 0.2), rgba(75, 85, 99, 0.5), #4B5563);
}

/* line 404, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-candidate-a {
  background: linear-gradient(to right, rgba(31, 92, 150, 0.2), rgba(31, 92, 150, 0.5), #1F5C96);
}

/* line 408, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-candidate-b {
  background: linear-gradient(to left, rgba(155, 35, 49, 0.2), rgba(155, 35, 49, 0.5), #9B2331);
}

/* line 412, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-yes {
  background: linear-gradient(to right, rgba(31, 107, 78, 0.2), rgba(31, 107, 78, 0.5), #1F6B4E);
}

/* line 416, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-no {
  background: linear-gradient(to left, rgba(155, 35, 49, 0.2), rgba(155, 35, 49, 0.5), #9B2331);
}

/* line 421, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-nonpartisan-left {
  background: linear-gradient(to right, rgba(196, 104, 26, 0.2), rgba(196, 104, 26, 0.5), #C4681A);
}

/* line 425, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-bar.bb-legend-nonpartisan-right {
  background: linear-gradient(to left, rgba(31, 107, 78, 0.2), rgba(31, 107, 78, 0.5), #1F6B4E);
}

/* line 430, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
}

/* line 436, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-label-strong {
  font-size: 0.75rem;
  font-weight: 500;
}

/* line 440, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-label-strong.bb-label-dem {
  color: #1F5C96;
}

/* line 444, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-label-strong.bb-label-rep {
  color: #9B2331;
}

/* line 448, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-label-strong.bb-label-yes {
  color: #1F6B4E;
}

/* line 452, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-legend-label-strong.bb-label-no {
  color: #9B2331;
}

/* line 461, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-summary-panel {
  position: absolute;
  top: 1rem;
  left: 1rem;
  width: 320px;
  max-height: calc(100% - 2rem);
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  overflow: hidden;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

@media (max-width: 768px) {
  /* line 461, app/assets/stylesheets/_precinct_map.scss */
  .bb-precinct-summary-panel {
    width: calc(100% - 2rem);
    max-width: 320px;
  }
}

/* line 483, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-summary-panel.is-collapsed {
  transform: translateX(-100%);
  opacity: 0;
  pointer-events: none;
}

/* line 490, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 499, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 506, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 511, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: none;
  border: none;
  border-radius: 4px;
  color: #9CA3AF;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 524, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-close:hover {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 531, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-stats {
  display: flex;
  gap: 1.5rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #F3F4F6;
  background-color: #FFFFFF;
}

/* line 539, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-stat {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 545, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-stat-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 551, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-stat-label {
  font-size: 0.6875rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 559, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-candidates {
  flex: 1;
  overflow-y: auto;
  max-height: 300px;
}

/* line 565, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-candidate {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 572, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-candidate:last-child {
  border-bottom: none;
}

/* line 576, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-candidate.bb-panel-winner {
  background-color: rgba(31, 107, 78, 0.04);
}

/* line 581, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-rank {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  background-color: #F3F4F6;
  border-radius: 9999px;
}

/* line 595, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-candidate-info {
  flex: 1;
  min-width: 0;
}

/* line 600, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-candidate-name {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 609, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-party {
  font-size: 0.6875rem;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
}

/* line 614, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-party.bb-party-dem {
  background-color: rgba(31, 92, 150, 0.1);
  color: #1F5C96;
}

/* line 619, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-party.bb-party-rep {
  background-color: rgba(155, 35, 49, 0.1);
  color: #9B2331;
}

/* line 624, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-party.bb-party-nonpartisan {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 630, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-winner-icon {
  color: #1F6B4E;
  font-size: 0.75rem;
  margin-left: 0.25rem;
}

/* line 636, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-bar {
  margin-top: 0.25rem;
  height: 4px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 644, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-bar-fill {
  height: 100%;
  border-radius: 9999px;
}

/* line 649, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-results {
  flex: 0 0 auto;
  text-align: right;
}

/* line 654, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
}

/* line 660, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-votes {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 666, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-outcome {
  padding: 0.625rem 1rem;
  background-color: #EDF4F0;
  border-top: 1px solid #E5E7EB;
}

/* line 672, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-outcome-text {
  font-size: 0.75rem;
  color: #1F6B4E;
}

/* line 676, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-outcome-text strong {
  font-weight: 500;
}

/* line 683, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-measure-outcome.bb-outcome-passed {
  background-color: #EDF4F0;
}

/* line 686, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-measure-outcome.bb-outcome-passed .bb-precinct-panel-outcome-text {
  color: #1F6B4E;
}

/* line 691, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-measure-outcome.bb-outcome-failed {
  background-color: #F8F0F1;
}

/* line 694, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-measure-outcome.bb-outcome-failed .bb-precinct-panel-outcome-text {
  color: #9B2331;
}

/* line 700, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-disclaimer {
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
  color: #9CA3AF;
  border-top: 1px solid #E5E7EB;
  line-height: 1.4;
}

/* line 707, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-disclaimer a {
  color: #9CA3AF;
  text-decoration: underline;
}

/* line 714, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-measure-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 721, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-measure-option:last-child {
  border-bottom: none;
}

/* line 725, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-measure-option.bb-option-winner {
  background-color: rgba(31, 107, 78, 0.04);
}

/* line 730, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-label {
  flex: 0 0 36px;
  font-size: 1rem;
  font-weight: 700;
}

/* line 735, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-label.bb-label-yes {
  color: #1F6B4E;
}

/* line 739, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-label.bb-label-no {
  color: #9B2331;
}

/* line 744, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-bar-wrapper {
  flex: 1;
  min-width: 0;
}

/* line 749, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-bar {
  height: 20px;
  background-color: #F3F4F6;
  border-radius: 4px;
  overflow: hidden;
}

/* line 756, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-bar-fill {
  height: 100%;
  border-radius: 4px;
}

/* line 760, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-bar-fill.bb-fill-yes {
  background-color: #1F6B4E;
}

/* line 764, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-bar-fill.bb-fill-no {
  background-color: #9B2331;
}

/* line 769, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-option-pct {
  flex: 0 0 50px;
  text-align: right;
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 778, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-panel-empty {
  padding: 1.5rem 1rem;
  text-align: center;
  color: #9CA3AF;
  font-size: 0.875rem;
}

/* line 789, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-show-panel-btn {
  position: absolute;
  top: 1rem;
  left: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.875rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  color: #4B5563;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
}

/* line 810, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-show-panel-btn:hover {
  background-color: #F9FAFB;
  color: #1F2933;
}

/* line 816, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-show-panel-btn.is-visible {
  opacity: 1;
  pointer-events: auto;
}

/* line 827, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-tooltip {
  background-color: #FFFFFF !important;
  color: #323C47 !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 6px !important;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03) !important;
  font-size: 0.875rem;
  padding: 0.625rem 0.875rem;
  max-width: 280px;
}

/* line 838, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-tooltip::before {
  border-top-color: #FFFFFF !important;
}

/* line 843, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-tooltip-header {
  font-weight: 500;
  margin-bottom: 0.375rem;
}

/* line 848, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-tooltip-results {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 854, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-tooltip-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

/* line 860, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-tooltip-candidate {
  color: #6B7280;
}

/* line 864, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-tooltip-value {
  font-weight: 500;
  color: #323C47;
}

/* line 869, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-tooltip-total {
  margin-top: 0.25rem;
  padding-top: 0.25rem;
  border-top: 1px solid #E5E7EB;
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 881, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.9);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1001;
}

/* line 894, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-loading-content {
  text-align: center;
  min-width: 280px;
}

/* line 899, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-loading-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #E5E7EB;
  border-top-color: #1F5C96;
  border-radius: 50%;
  animation: bb-precinct-spin 0.8s linear infinite;
  margin: 0 auto 0.75rem;
}

@keyframes bb-precinct-spin {
  to {
    transform: rotate(360deg);
  }
}

/* line 915, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-loading-text {
  font-size: 0.875rem;
  color: #123B66;
  margin-bottom: 0.75rem;
}

/* line 921, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-loading-progress {
  height: 8px;
  background-color: #E5E7EB;
  border-radius: 9999px;
  overflow: hidden;
  display: none;
}

/* line 929, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-loading-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #1F5C96 0%, #3A7AB8 50%, #1F5C96 100%);
  background-size: 200% 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
  animation: bb-progress-shimmer 1.5s ease-in-out infinite;
}

@keyframes bb-progress-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

/* line 956, app/assets/stylesheets/_precinct_map.scss */
.bb-precinct-explainer {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-bottom: 1rem;
  line-height: 1.5;
}

@media (max-width: 991.98px) {
  /* line 968, app/assets/stylesheets/_precinct_map.scss */
  .bb-precinct-filter-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
  /* line 974, app/assets/stylesheets/_precinct_map.scss */
  .bb-precinct-filter-group {
    flex: none;
    width: 100%;
  }
  /* line 979, app/assets/stylesheets/_precinct_map.scss */
  .bb-precinct-race-type-toggle {
    flex-wrap: wrap;
  }
}

@media (max-width: 767.98px) {
  /* line 985, app/assets/stylesheets/_precinct_map.scss */
  .bb-precinct-content {
    min-height: 450px;
  }
  /* line 989, app/assets/stylesheets/_precinct_map.scss */
  .bb-precinct-summary-panel {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    margin-bottom: 1rem;
    box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  }
  /* line 1001, app/assets/stylesheets/_precinct_map.scss */
  .bb-precinct-map-legend {
    flex-wrap: wrap;
    gap: 0.5rem;
    left: 0.5rem;
    right: 0.5rem;
    transform: none;
    width: auto;
    justify-content: center;
  }
}

/* line 22, app/assets/stylesheets/_election_report.scss */
.bb-election-report-header {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 2rem;
}

/* line 30, app/assets/stylesheets/_election_report.scss */
.bb-election-report-header-inner {
  padding: 1.5rem;
}

@media (max-width: 768px) {
  /* line 30, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-header-inner {
    padding: 1.25rem 1rem;
  }
}

/* line 46, app/assets/stylesheets/_election_report.scss */
.bb-election-report-header-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 54, app/assets/stylesheets/_election_report.scss */
.bb-election-report-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border-radius: 9999px;
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 66, app/assets/stylesheets/_election_report.scss */
.bb-election-report-type-badge.bb-election-report-type-general {
  background-color: rgba(31, 92, 150, 0.1);
  color: #123B66;
}

/* line 71, app/assets/stylesheets/_election_report.scss */
.bb-election-report-type-badge.bb-election-report-type-primary {
  background-color: rgba(138, 106, 6, 0.1);
  color: #8A6A06;
}

/* line 76, app/assets/stylesheets/_election_report.scss */
.bb-election-report-type-badge.bb-election-report-type-special {
  background-color: rgba(31, 107, 78, 0.1);
  color: #1F6B4E;
}

/* line 83, app/assets/stylesheets/_election_report.scss */
.bb-election-report-term-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  background-color: rgba(138, 106, 6, 0.15);
  color: #8A6A06;
}

/* line 95, app/assets/stylesheets/_election_report.scss */
.bb-election-report-vote-for {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  background-color: #F3F4F6;
  border-radius: 4px;
}

/* line 107, app/assets/stylesheets/_election_report.scss */
.bb-election-report-election-date {
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 112, app/assets/stylesheets/_election_report.scss */
.bb-election-report-related-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  border-radius: 4px;
  transition: background-color 0.15s ease, color 0.15s ease;
}

/* line 124, app/assets/stylesheets/_election_report.scss */
.bb-election-report-related-link:hover {
  background-color: rgba(31, 92, 150, 0.1);
  color: #123B66;
  text-decoration: none;
}

/* line 130, app/assets/stylesheets/_election_report.scss */
.bb-election-report-related-link i {
  font-size: 0.75rem;
}

/* line 135, app/assets/stylesheets/_election_report.scss */
.bb-election-report-header-date {
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 140, app/assets/stylesheets/_election_report.scss */
.bb-election-report-header-separator {
  color: #B8BFC7;
}

/* line 144, app/assets/stylesheets/_election_report.scss */
.bb-election-report-header-context {
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 149, app/assets/stylesheets/_election_report.scss */
.bb-election-report-header-context-link {
  font-size: 0.875rem;
  color: #6B7280;
  text-decoration: none;
}

/* line 154, app/assets/stylesheets/_election_report.scss */
.bb-election-report-header-context-link:hover {
  color: #1F5C96;
  text-decoration: underline;
}

/* line 160, app/assets/stylesheets/_election_report.scss */
.bb-election-report-header-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0;
  line-height: 1.2;
}

@media (max-width: 768px) {
  /* line 160, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-header-name {
    font-size: 1.25rem;
  }
}

/* line 173, app/assets/stylesheets/_election_report.scss */
.bb-election-report-measure-description {
  font-size: 1rem;
  color: #4B5563;
  margin: 0.5rem 0 0 0;
  line-height: 1.5;
}

/* line 180, app/assets/stylesheets/_election_report.scss */
.bb-election-report-redistricting-notice {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0.5rem 0 0 0;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  color: #6B7280;
  background-color: #F3F4F6;
  border-radius: 4px;
}

/* line 191, app/assets/stylesheets/_election_report.scss */
.bb-election-report-redistricting-notice i {
  color: #9CA3AF;
}

/* line 197, app/assets/stylesheets/_election_report.scss */
.bb-election-report-winner-summary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background-color: #F9FAFB;
  border-radius: 6px;
  font-size: 0.875rem;
}

/* line 207, app/assets/stylesheets/_election_report.scss */
.bb-election-report-winner-summary .bb-candidate-badge {
  font-size: 0.875rem;
  padding: 0.25rem 0.625rem;
}

/* line 213, app/assets/stylesheets/_election_report.scss */
.bb-election-report-winner-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 218, app/assets/stylesheets/_election_report.scss */
.bb-election-report-winner-margin {
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F6B4E;
  padding: 0.125rem 0.375rem;
  background-color: rgba(31, 107, 78, 0.1);
  border-radius: 4px;
}

/* line 233, app/assets/stylesheets/_election_report.scss */
.bb-race-results-section {
  margin-bottom: 2rem;
}

/* line 237, app/assets/stylesheets/_election_report.scss */
.bb-race-results-body {
  padding: 0.5rem 1.25rem 0.75rem;
}

/* line 241, app/assets/stylesheets/_election_report.scss */
.bb-race-results-table {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

/* line 247, app/assets/stylesheets/_election_report.scss */
.bb-race-results-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.25rem 0;
}

/* line 254, app/assets/stylesheets/_election_report.scss */
.bb-race-results-rank {
  font-size: 0.75rem;
  font-weight: 500;
  color: #B8BFC7;
  width: 1rem;
  text-align: center;
  flex-shrink: 0;
}

/* line 263, app/assets/stylesheets/_election_report.scss */
.bb-race-results-candidate {
  flex: 1;
  min-width: 0;
}

/* line 268, app/assets/stylesheets/_election_report.scss */
.bb-race-results-name-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem 0.375rem;
}

/* line 275, app/assets/stylesheets/_election_report.scss */
.bb-race-results-elected-icon {
  color: #1F6B4E;
  font-size: 0.875rem;
  flex-shrink: 0;
}

/* line 281, app/assets/stylesheets/_election_report.scss */
.bb-race-results-designation {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 286, app/assets/stylesheets/_election_report.scss */
.bb-race-results-designation::before {
  content: "·";
  margin-right: 0.375rem;
  color: #B8BFC7;
}

/* line 294, app/assets/stylesheets/_election_report.scss */
.bb-race-results-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  background-color: #F3F4F6;
  color: #4B5563;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* line 309, app/assets/stylesheets/_election_report.scss */
.bb-race-results-stats {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}

/* line 316, app/assets/stylesheets/_election_report.scss */
.bb-race-results-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
  text-align: right;
  min-width: 42px;
}

/* line 325, app/assets/stylesheets/_election_report.scss */
.bb-race-results-votes {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-variant-numeric: tabular-nums;
  text-align: right;
  min-width: 70px;
}

/* line 333, app/assets/stylesheets/_election_report.scss */
.bb-race-results-margin {
  font-size: 0.75rem;
  font-weight: 500;
  color: #B8BFC7;
  font-variant-numeric: tabular-nums;
  text-align: right;
  min-width: 40px;
}

/* line 341, app/assets/stylesheets/_election_report.scss */
.bb-race-results-margin.bb-race-results-margin-empty {
  visibility: hidden;
}

/* line 346, app/assets/stylesheets/_election_report.scss */
.bb-race-results-footer {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid #F3F4F6;
}

/* line 352, app/assets/stylesheets/_election_report.scss */
.bb-race-results-total {
  font-size: 0.75rem;
  color: #9CA3AF;
}

@media (max-width: 576px) {
  /* line 359, app/assets/stylesheets/_election_report.scss */
  .bb-race-results-body {
    padding: 0.5rem 1rem 0.75rem;
  }
  /* line 363, app/assets/stylesheets/_election_report.scss */
  .bb-race-results-table {
    gap: 0;
  }
  /* line 367, app/assets/stylesheets/_election_report.scss */
  .bb-race-results-row {
    display: grid;
    grid-template-columns: 1.25rem 1fr;
    grid-template-rows: auto auto;
    column-gap: 0.625rem;
    row-gap: 0;
    padding: 0.625rem 0;
    border-bottom: 1px solid #F3F4F6;
  }
  /* line 376, app/assets/stylesheets/_election_report.scss */
  .bb-race-results-row:first-child {
    padding-top: 0.25rem;
  }
  /* line 380, app/assets/stylesheets/_election_report.scss */
  .bb-race-results-row:last-child {
    border-bottom: none;
    padding-bottom: 0.25rem;
  }
  /* line 386, app/assets/stylesheets/_election_report.scss */
  .bb-race-results-rank {
    grid-column: 1;
    grid-row: 1;
    width: auto;
    font-size: 0.875rem;
    font-weight: 600;
    color: #D1D5DB;
    line-height: 1.5rem;
  }
  /* line 396, app/assets/stylesheets/_election_report.scss */
  .bb-race-results-candidate {
    grid-column: 2;
    grid-row: 1;
  }
  /* line 401, app/assets/stylesheets/_election_report.scss */
  .bb-race-results-name-line {
    flex-wrap: nowrap;
    gap: 0.375rem;
    align-items: center;
  }
  /* line 407, app/assets/stylesheets/_election_report.scss */
  .bb-race-results-badge {
    flex-shrink: 1;
    min-width: 0;
  }
  /* line 412, app/assets/stylesheets/_election_report.scss */
  .bb-race-results-designation {
    display: none;
  }
  /* line 416, app/assets/stylesheets/_election_report.scss */
  .bb-race-results-stats {
    grid-column: 2;
    grid-row: 2;
    justify-content: flex-start;
    gap: 0.5rem;
    padding-top: 0.25rem;
  }
  /* line 424, app/assets/stylesheets/_election_report.scss */
  .bb-race-results-pct {
    text-align: left;
    min-width: auto;
    font-size: 0.875rem;
    font-weight: 600;
  }
  /* line 431, app/assets/stylesheets/_election_report.scss */
  .bb-race-results-votes {
    text-align: left;
    min-width: auto;
    font-size: 0.75rem;
    color: #B8BFC7;
  }
  /* line 437, app/assets/stylesheets/_election_report.scss */
  .bb-race-results-votes::before {
    content: "·";
    margin-right: 0.375rem;
  }
  /* line 443, app/assets/stylesheets/_election_report.scss */
  .bb-race-results-margin {
    display: none;
  }
}

/* line 452, app/assets/stylesheets/_election_report.scss */
.bb-election-report-section {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  margin-bottom: 2rem;
  overflow: hidden;
}

/* line 460, app/assets/stylesheets/_election_report.scss */
.bb-election-report-section-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 465, app/assets/stylesheets/_election_report.scss */
.bb-election-report-section-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 472, app/assets/stylesheets/_election_report.scss */
.bb-election-report-section-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
}

/* line 478, app/assets/stylesheets/_election_report.scss */
.bb-section-crosslink {
  display: inline-block;
  font-size: 0.75rem;
  color: #B8BFC7;
  margin-top: 0.5rem;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 486, app/assets/stylesheets/_election_report.scss */
.bb-section-crosslink:hover {
  color: #1F5C96;
}

/* line 490, app/assets/stylesheets/_election_report.scss */
.bb-section-crosslink i {
  margin-left: 0.25rem;
  font-size: 0.65rem;
}

/* line 496, app/assets/stylesheets/_election_report.scss */
.bb-election-report-section-body {
  padding: 1rem 1.25rem;
}

/* line 506, app/assets/stylesheets/_election_report.scss */
.bb-section-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  gap: 0.75rem;
  text-align: center;
  color: #9CA3AF;
  font-size: 0.875rem;
}

/* line 515, app/assets/stylesheets/_election_report.scss */
.bb-election-report-map-section .bb-election-report-section-body {
  padding: 0;
}

/* line 520, app/assets/stylesheets/_election_report.scss */
.bb-election-report-map-container {
  position: relative;
  min-height: 500px;
  background-color: #F3F4F6;
}

/* line 526, app/assets/stylesheets/_election_report.scss */
.bb-election-report-map {
  width: 100%;
  height: 500px;
  position: relative;
}

/* line 532, app/assets/stylesheets/_election_report.scss */
.bb-election-report-map .leaflet-interactive {
  cursor: pointer;
}

/* line 538, app/assets/stylesheets/_election_report.scss */
.bb-election-report-map-summary {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  background-color: rgba(255, 255, 255, 0.95);
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  z-index: 1000;
}

/* line 550, app/assets/stylesheets/_election_report.scss */
.bb-election-report-analytical-controls {
  position: absolute;
  top: 1rem;
  left: 1rem;
  background-color: rgba(255, 255, 255, 0.95);
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  z-index: 1000;
  padding: 0.75rem;
  min-width: 180px;
}

/* line 563, app/assets/stylesheets/_election_report.scss */
.bb-analytical-controls-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 574, app/assets/stylesheets/_election_report.scss */
.bb-analytical-controls-header i {
  color: #9CA3AF;
}

/* line 579, app/assets/stylesheets/_election_report.scss */
.bb-analytical-control-checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #4B5563;
  cursor: pointer;
  margin-bottom: 0.75rem;
}

/* line 588, app/assets/stylesheets/_election_report.scss */
.bb-analytical-control-checkbox input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  accent-color: #1F5C96;
}

/* line 595, app/assets/stylesheets/_election_report.scss */
.bb-analytical-control-label {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 602, app/assets/stylesheets/_election_report.scss */
.bb-analytical-control-select {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 607, app/assets/stylesheets/_election_report.scss */
.bb-analytical-control-select label {
  font-size: 0.75rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* line 614, app/assets/stylesheets/_election_report.scss */
.bb-analytical-control-select select {
  font-size: 0.875rem;
  padding: 0.375rem 0.5rem;
  border: 1px solid #D1D5DB;
  border-radius: 4px;
  background-color: #FFFFFF;
  color: #4B5563;
  cursor: pointer;
}

/* line 623, app/assets/stylesheets/_election_report.scss */
.bb-analytical-control-select select:focus {
  outline: none;
  border-color: #3A7AB8;
  box-shadow: 0 0 0 2px rgba(31, 92, 150, 0.1);
}

@media (max-width: 768px) {
  /* line 633, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-analytical-controls {
    top: auto;
    bottom: 4rem;
    left: 0.5rem;
    min-width: auto;
    padding: 0.5rem;
  }
  /* line 641, app/assets/stylesheets/_election_report.scss */
  .bb-analytical-controls-header span {
    display: none;
  }
  /* line 645, app/assets/stylesheets/_election_report.scss */
  .bb-analytical-control-label {
    font-size: 0.75rem;
  }
}

/* line 654, app/assets/stylesheets/_election_report.scss */
.bb-election-report-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 1.5rem;
  text-align: center;
  color: #B8BFC7;
}

/* line 663, app/assets/stylesheets/_election_report.scss */
.bb-election-report-placeholder i {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

/* line 668, app/assets/stylesheets/_election_report.scss */
.bb-election-report-placeholder p {
  font-size: 1rem;
  font-weight: 500;
  margin: 0 0 0.5rem;
  color: #9CA3AF;
}

/* line 676, app/assets/stylesheets/_election_report.scss */
.bb-election-report-placeholder-hint {
  font-size: 0.875rem;
  color: #B8BFC7;
}

/* line 685, app/assets/stylesheets/_election_report.scss */
.bb-election-report-preview-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 1.5rem;
  text-align: center;
  color: #B8BFC7;
  background-color: #F9FAFB;
  border-radius: 6px;
  min-height: 200px;
}

/* line 697, app/assets/stylesheets/_election_report.scss */
.bb-election-report-preview-placeholder i {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  opacity: 0.6;
}

/* line 703, app/assets/stylesheets/_election_report.scss */
.bb-election-report-preview-placeholder p {
  font-size: 1rem;
  font-weight: 500;
  margin: 0 0 0.5rem;
  color: #9CA3AF;
}

/* line 711, app/assets/stylesheets/_election_report.scss */
.bb-election-report-preview-placeholder:has(.bb-election-report-preview-map) {
  padding: 0;
  background-color: transparent;
}

/* line 717, app/assets/stylesheets/_election_report.scss */
.bb-election-report-preview-hint {
  font-size: 0.875rem;
  color: #B8BFC7;
}

/* line 722, app/assets/stylesheets/_election_report.scss */
.bb-election-report-preview-map {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  min-height: 400px;
  background-color: #F3F4F6;
  border-radius: 6px;
  color: #B8BFC7;
}

/* line 734, app/assets/stylesheets/_election_report.scss */
.bb-election-report-preview-map i {
  font-size: 3rem;
  margin-bottom: 1rem;
  opacity: 0.5;
}

/* line 740, app/assets/stylesheets/_election_report.scss */
.bb-election-report-preview-map p {
  font-size: 1rem;
  font-weight: 500;
  margin: 0 0 0.5rem;
  color: #9CA3AF;
}

/* line 748, app/assets/stylesheets/_election_report.scss */
.bb-election-report-preview-table {
  min-height: 250px;
}

/* line 756, app/assets/stylesheets/_election_report.scss */
.bb-election-report-section-error {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  gap: 0.75rem;
  text-align: center;
  color: #9B2331;
  background-color: rgba(248, 240, 241, 0.5);
  border-radius: 6px;
}

/* line 240, app/assets/stylesheets/_tokens.scss */
.bb-election-report-section-error i {
  font-size: 2rem;
  margin-bottom: 0.25rem;
}

/* line 245, app/assets/stylesheets/_tokens.scss */
.bb-election-report-section-error p {
  font-size: 1rem;
  font-weight: 500;
  margin: 0 0 0.75rem;
  color: #9B2331;
}

/* line 760, app/assets/stylesheets/_election_report.scss */
.bb-election-report-retry-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #FFFFFF;
  background-color: #1F5C96;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 286, app/assets/stylesheets/_tokens.scss */
.bb-election-report-retry-btn:hover {
  background-color: #123B66;
}

/* line 290, app/assets/stylesheets/_tokens.scss */
.bb-election-report-retry-btn i {
  font-size: 0.875rem;
}

/* line 768, app/assets/stylesheets/_election_report.scss */
.bb-map-popup {
  min-width: 180px;
}

/* line 772, app/assets/stylesheets/_election_report.scss */
.bb-map-popup-header {
  font-weight: 500;
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 779, app/assets/stylesheets/_election_report.scss */
.bb-map-popup-body {
  font-size: 0.875rem;
}

/* line 783, app/assets/stylesheets/_election_report.scss */
.bb-map-popup-stat {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.25rem;
}

/* line 788, app/assets/stylesheets/_election_report.scss */
.bb-map-popup-stat:last-child {
  margin-bottom: 0;
}

/* line 798, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table-section .bb-election-report-section-body {
  padding: 0;
}

/* line 803, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table-body {
  padding: 0;
}

/* line 807, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 817, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table-search {
  position: relative;
  max-width: 280px;
  width: 100%;
}

/* line 822, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table-search i {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #B8BFC7;
  font-size: 0.875rem;
}

/* line 832, app/assets/stylesheets/_election_report.scss */
.bb-election-report-search-input {
  width: 100%;
  padding: 0.5rem 0.75rem 0.5rem 2.25rem;
  font-size: 0.875rem;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  background-color: #FFFFFF;
  transition: border-color 0.15s ease;
}

/* line 841, app/assets/stylesheets/_election_report.scss */
.bb-election-report-search-input:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 2px rgba(31, 92, 150, 0.15);
}

/* line 847, app/assets/stylesheets/_election_report.scss */
.bb-election-report-search-input::placeholder {
  color: #B8BFC7;
}

/* line 852, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table-info {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-left: auto;
}

/* line 859, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table-filters {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}

/* line 865, app/assets/stylesheets/_election_report.scss */
.bb-table-filter-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 871, app/assets/stylesheets/_election_report.scss */
.bb-table-filter-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* line 879, app/assets/stylesheets/_election_report.scss */
.bb-table-filter-pills {
  display: flex;
  gap: 0.25rem;
}

/* line 884, app/assets/stylesheets/_election_report.scss */
.bb-table-filter-pill {
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 895, app/assets/stylesheets/_election_report.scss */
.bb-table-filter-pill:hover:not(.is-active) {
  background-color: #F9FAFB;
  border-color: #B8BFC7;
}

/* line 900, app/assets/stylesheets/_election_report.scss */
.bb-table-filter-pill.is-active {
  background-color: #1F5C96;
  border-color: #1F5C96;
  color: #FFFFFF;
}

/* line 906, app/assets/stylesheets/_election_report.scss */
.bb-table-filter-pill:focus {
  outline: 2px solid #1F5C96;
  outline-offset: 1px;
}

/* line 913, app/assets/stylesheets/_election_report.scss */
.bb-table-controls-divider {
  width: 1px;
  height: 24px;
  background-color: #D1D5DB;
}

/* line 920, app/assets/stylesheets/_election_report.scss */
.bb-table-lens-section {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 926, app/assets/stylesheets/_election_report.scss */
.bb-table-lens-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #B8BFC7;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-style: italic;
}

/* line 935, app/assets/stylesheets/_election_report.scss */
.bb-table-lens-pills {
  display: flex;
  gap: 0.375rem;
  flex-wrap: wrap;
}

/* line 941, app/assets/stylesheets/_election_report.scss */
.bb-table-lens-pill {
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  background-color: transparent;
  border: 1px dashed #D1D5DB;
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 952, app/assets/stylesheets/_election_report.scss */
.bb-table-lens-pill:hover:not(.is-active) {
  color: #4B5563;
  border-color: #B8BFC7;
  border-style: solid;
}

/* line 958, app/assets/stylesheets/_election_report.scss */
.bb-table-lens-pill.is-active {
  color: #123B66;
  background-color: #F4F7FC;
  border-color: #4C7FB5;
  border-style: solid;
}

/* line 965, app/assets/stylesheets/_election_report.scss */
.bb-table-lens-pill:focus {
  outline: 2px solid #3A7AB8;
  outline-offset: 1px;
}

/* line 972, app/assets/stylesheets/_election_report.scss */
.bb-table-row-lens-match {
  background-color: rgba(31, 92, 150, 0.08);
}

/* line 975, app/assets/stylesheets/_election_report.scss */
.bb-table-row-lens-match td {
  font-weight: 500;
}

/* line 980, app/assets/stylesheets/_election_report.scss */
.bb-table-row-lens-other {
  opacity: 0.6;
}

/* line 983, app/assets/stylesheets/_election_report.scss */
.bb-table-row-lens-other:hover {
  opacity: 1;
}

/* line 988, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table-wrapper {
  overflow-x: auto;
}

/* line 992, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

/* line 997, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table thead {
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1002, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-weight: 500;
  color: #4B5563;
  white-space: nowrap;
}

/* line 1009, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table th.bb-sortable {
  cursor: pointer;
  user-select: none;
  transition: background-color 0.15s ease;
}

/* line 1014, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table th.bb-sortable:hover {
  background-color: #F3F4F6;
}

/* line 1018, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table th.bb-sortable i {
  margin-left: 0.375rem;
  font-size: 0.75rem;
  opacity: 0.5;
}

/* line 1026, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table th.bb-sortable-numeric {
  text-align: right;
}

/* line 1031, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table tbody tr {
  border-bottom: 1px solid rgba(243, 244, 246, 0.6);
  transition: background-color 0.15s ease;
}

/* line 1035, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table tbody tr:hover {
  background-color: #F9FAFB;
}

/* line 1039, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table tbody tr.bb-table-row-highlighted {
  background-color: rgba(31, 92, 150, 0.1);
  outline: 2px solid #1F5C96;
  outline-offset: -2px;
}

/* line 1045, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table tbody tr:last-child {
  border-bottom: none;
}

/* line 1050, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table td {
  padding: 0.625rem 1rem;
  color: #4B5563;
}

/* line 1056, app/assets/stylesheets/_election_report.scss */
.bb-table-cell-precinct {
  font-weight: 500;
  color: #1F2933;
}

/* line 1061, app/assets/stylesheets/_election_report.scss */
.bb-table-cell-numeric {
  text-align: right;
  font-variant-numeric: tabular-nums;
  padding-right: 0.75rem;
}

/* line 1067, app/assets/stylesheets/_election_report.scss */
.bb-table-cell-winner {
  font-weight: 500;
}

/* line 1071, app/assets/stylesheets/_election_report.scss */
.bb-table-cell-highlight {
  font-weight: 600;
  color: #1F5C96;
}

/* line 1077, app/assets/stylesheets/_election_report.scss */
.bb-positive {
  color: #1F6B4E;
  font-weight: 500;
}

/* line 1082, app/assets/stylesheets/_election_report.scss */
.bb-negative {
  color: #9B2331;
  font-weight: 500;
}

/* line 1089, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table-empty,
.bb-election-report-table-error {
  padding: 2rem 1rem;
  text-align: center;
  color: #9CA3AF;
}

/* line 1096, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table-error {
  color: #9B2331;
}

/* line 1100, app/assets/stylesheets/_election_report.scss */
.bb-election-report-table-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 1110, app/assets/stylesheets/_election_report.scss */
.bb-election-report-pagination-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 1124, app/assets/stylesheets/_election_report.scss */
.bb-election-report-pagination-btn:hover:not(:disabled) {
  background-color: #F9FAFB;
  border-color: #B8BFC7;
}

/* line 1129, app/assets/stylesheets/_election_report.scss */
.bb-election-report-pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* line 1134, app/assets/stylesheets/_election_report.scss */
.bb-election-report-pagination-btn i {
  font-size: 0.875rem;
}

/* line 1139, app/assets/stylesheets/_election_report.scss */
.bb-election-report-pagination-info {
  font-size: 0.875rem;
  color: #9CA3AF;
  min-width: 100px;
  text-align: center;
}

/* line 1150, app/assets/stylesheets/_election_report.scss */
.bb-election-report-map-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1rem;
}

/* line 1158, app/assets/stylesheets/_election_report.scss */
.bb-election-report-map-header-content {
  flex: 1;
  min-width: 200px;
}

/* line 1164, app/assets/stylesheets/_election_report.scss */
.bb-map-candidate-filter {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 1171, app/assets/stylesheets/_election_report.scss */
.bb-map-candidate-filter-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
}

/* line 1177, app/assets/stylesheets/_election_report.scss */
.bb-map-candidate-filter-select {
  font-size: 0.875rem;
  padding: 0.375rem 0.625rem;
  border: 1px solid #D1D5DB;
  border-radius: 4px;
  background-color: #FFFFFF;
  color: #4B5563;
  cursor: pointer;
  min-width: 140px;
}

/* line 1187, app/assets/stylesheets/_election_report.scss */
.bb-map-candidate-filter-select:hover {
  border-color: #B8BFC7;
}

/* line 1191, app/assets/stylesheets/_election_report.scss */
.bb-map-candidate-filter-select:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 2px rgba(31, 92, 150, 0.15);
}

@media (max-width: 767.98px) {
  /* line 1203, app/assets/stylesheets/_election_report.scss */
  .bb-election-report {
    padding: 1rem;
  }
  /* line 1207, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-header {
    flex-direction: column;
  }
  /* line 1211, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-winner-summary {
    text-align: left;
  }
  /* line 1215, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-map-container,
.bb-election-report-map {
    min-height: 350px;
    height: 350px;
  }
  /* line 1222, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-table-controls {
    flex-direction: column;
    gap: 0.75rem;
    align-items: stretch;
  }
  /* line 1228, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-table-search {
    max-width: none;
  }
  /* line 1232, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-table-info {
    text-align: center;
  }
  /* line 1237, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-table th, .bb-election-report-table td {
    padding: 0.5rem 0.75rem;
  }
  /* line 1242, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-table-pagination {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  /* line 1248, app/assets/stylesheets/_election_report.scss */
  .bb-correlations-cards {
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.5rem;
  }
  /* line 1253, app/assets/stylesheets/_election_report.scss */
  .bb-correlation-card {
    padding: 0.75rem;
  }
  /* line 1258, app/assets/stylesheets/_election_report.scss */
  .bb-breakdown-filters {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 1264, app/assets/stylesheets/_election_report.scss */
  .bb-breakdown-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 1270, app/assets/stylesheets/_election_report.scss */
  .bb-breakdown-item-stats {
    width: 100%;
    justify-content: space-between;
  }
  /* line 1275, app/assets/stylesheets/_election_report.scss */
  .bb-breakdown-item-share {
    min-width: 0;
    width: 100%;
  }
  /* line 1281, app/assets/stylesheets/_election_report.scss */
  .bb-breakdown-row-header {
    padding: 0.625rem 0.75rem;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  /* line 1287, app/assets/stylesheets/_election_report.scss */
  .bb-breakdown-row-preview {
    width: 100%;
    justify-content: flex-end;
    padding-left: 1.25rem;
  }
  /* line 1293, app/assets/stylesheets/_election_report.scss */
  .bb-breakdown-row-body {
    padding: 0 0.75rem 0.625rem 1.5rem;
  }
  /* line 1297, app/assets/stylesheets/_election_report.scss */
  .bb-breakdown-contestant {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
  }
  /* line 1303, app/assets/stylesheets/_election_report.scss */
  .bb-breakdown-contestant-info {
    min-width: auto;
  }
  /* line 1307, app/assets/stylesheets/_election_report.scss */
  .bb-breakdown-contestant-results {
    width: 100%;
  }
  /* line 1311, app/assets/stylesheets/_election_report.scss */
  .bb-breakdown-vote-bar-wrapper {
    max-width: none;
  }
}

/* line 1324, app/assets/stylesheets/_election_report.scss */
.bb-election-report-coalition-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  gap: 0.75rem;
  text-align: center;
  color: #9CA3AF;
}

/* line 258, app/assets/stylesheets/_tokens.scss */
.bb-election-report-coalition-empty i {
  font-size: 1.5rem;
  color: #B8BFC7;
}

/* line 263, app/assets/stylesheets/_tokens.scss */
.bb-election-report-coalition-empty p {
  font-size: 0.875rem;
  font-weight: 500;
  margin: 0;
  color: #9CA3AF;
}

/* line 1334, app/assets/stylesheets/_election_report.scss */
.bb-table-winner-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  white-space: nowrap;
}

/* line 1344, app/assets/stylesheets/_election_report.scss */
.bb-table-winner-badge-neutral {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 1350, app/assets/stylesheets/_election_report.scss */
.bb-candidate-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  white-space: nowrap;
}

/* line 1360, app/assets/stylesheets/_election_report.scss */
.bb-candidate-badge-neutral {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 1366, app/assets/stylesheets/_election_report.scss */
.bb-chip-color-indicator {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 6px;
  flex-shrink: 0;
}

@media (max-width: 767.98px) {
  /* line 1381, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-map-section {
    display: none;
  }
}

@media (max-width: 576px) {
  /* line 1388, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-table-controls {
    padding: 0.5rem 0.75rem;
    gap: 0.5rem;
  }
  /* line 1393, app/assets/stylesheets/_election_report.scss */
  .bb-table-lens-section {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
  }
  /* line 1400, app/assets/stylesheets/_election_report.scss */
  .bb-table-lens-pills {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.25rem;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }
  /* line 1409, app/assets/stylesheets/_election_report.scss */
  .bb-table-lens-pills::-webkit-scrollbar {
    display: none;
  }
  /* line 1414, app/assets/stylesheets/_election_report.scss */
  .bb-table-filter-group {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 0.375rem;
  }
  /* line 1421, app/assets/stylesheets/_election_report.scss */
  .bb-table-filter-pills {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    flex-wrap: nowrap;
    padding-bottom: 0.25rem;
    scrollbar-width: none;
  }
  /* line 1429, app/assets/stylesheets/_election_report.scss */
  .bb-table-filter-pills::-webkit-scrollbar {
    display: none;
  }
  /* line 1434, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-table-filters {
    width: 100%;
    gap: 0.75rem;
  }
  /* line 1439, app/assets/stylesheets/_election_report.scss */
  .bb-table-controls-divider {
    display: none;
  }
  /* line 1444, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-section-header {
    padding: 0.75rem 1rem;
  }
  /* line 1448, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-section-title {
    font-size: 1rem;
  }
  /* line 1452, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-section-body {
    padding: 0.75rem 1rem;
  }
}

@media (max-width: 480px) {
  /* line 1459, app/assets/stylesheets/_election_report.scss */
  .bb-election-report-map-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 1465, app/assets/stylesheets/_election_report.scss */
  .bb-map-candidate-filter {
    width: 100%;
  }
  /* line 1469, app/assets/stylesheets/_election_report.scss */
  .bb-map-candidate-filter-select {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 768px) {
  /* line 1478, app/assets/stylesheets/_election_report.scss */
  .bb-precinct-map-controls .bb-precinct-map-control-btn {
    width: 44px;
    height: 44px;
    font-size: 1.25rem;
  }
  /* line 1485, app/assets/stylesheets/_election_report.scss */
  .bb-analytical-control-checkbox {
    min-height: 44px;
    padding: 0.5rem 0;
  }
  /* line 1489, app/assets/stylesheets/_election_report.scss */
  .bb-analytical-control-checkbox input[type="checkbox"] {
    width: 1.25rem;
    height: 1.25rem;
  }
  /* line 1495, app/assets/stylesheets/_election_report.scss */
  .bb-analytical-control-select select {
    min-height: 44px;
    padding: 0.625rem 0.5rem;
  }
}

/* line 13, app/assets/stylesheets/_election_report_modal.scss */
.bb-election-report-table-row-clickable {
  cursor: pointer;
  transition: background-color 0.15s ease;
}

/* line 18, app/assets/stylesheets/_election_report_modal.scss */
.bb-election-report-table-row-clickable:nth-child(even) {
  background-color: rgba(243, 244, 246, 0.4);
}

/* line 22, app/assets/stylesheets/_election_report_modal.scss */
.bb-election-report-table-row-clickable:hover {
  background-color: #F4F7FC;
}

/* line 27, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
  z-index: 1050;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  overflow-y: auto;
}

/* line 44, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal.is-open {
  opacity: 1;
  visibility: visible;
}

/* line 50, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-content {
  background-color: #FFFFFF;
  border-radius: 12px;
  box-shadow: 0 20px 25px rgba(31, 41, 51, 0.08), 0 10px 10px rgba(31, 41, 51, 0.03);
  width: 100%;
  max-width: 1000px;
  min-height: 600px;
  max-height: calc(100vh - 4rem);
  display: flex;
  flex-direction: column;
  transform: scale(0.95) translateY(-20px);
  transition: transform 0.2s ease;
}

/* line 63, app/assets/stylesheets/_election_report_modal.scss */
.is-open .bb-er-modal-content {
  transform: scale(1) translateY(0);
}

/* line 68, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #FFFFFF;
  border-radius: 12px 12px 0 0;
  flex-shrink: 0;
  gap: 1rem;
}

/* line 80, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-header-text {
  flex: 1;
  min-width: 0;
}

/* line 85, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 92, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-subtitle {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
}

/* line 98, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  background-color: transparent;
  border-radius: 9999px;
  color: #9CA3AF;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

/* line 111, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-close:hover {
  background-color: #F3F4F6;
  color: #1F2933;
}

/* line 116, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-close i {
  font-size: 1.25rem;
}

/* line 121, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-body {
  flex: 1;
  overflow-y: auto;
  padding: 1.25rem;
}

/* line 128, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem;
  gap: 0.75rem;
  text-align: center;
  color: #9CA3AF;
  font-size: 0.875rem;
}

/* line 131, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-loading i {
  font-size: 2rem;
}

/* line 136, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-error {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem;
  gap: 0.75rem;
  text-align: center;
  color: #9CA3AF;
  font-size: 0.875rem;
  color: #8A6A06;
}

/* line 140, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-error i {
  font-size: 2rem;
}

/* line 145, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-retry-btn {
  padding: 0.5rem 1rem;
  border: 1px solid #1F5C96;
  background-color: #FFFFFF;
  color: #1F5C96;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.875rem;
  transition: all 0.15s ease;
}

/* line 306, app/assets/stylesheets/_tokens.scss */
.bb-er-modal-retry-btn:hover {
  background-color: #F4F7FC;
}

/* line 149, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-loading-text {
  color: #9CA3AF;
  font-size: 0.875rem;
}

/* line 155, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-kpi-strip {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
}

/* line 165, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-kpi {
  flex: 1;
  text-align: center;
}

/* line 169, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-kpi:not(:last-child) {
  border-right: 1px solid #E5E7EB;
}

/* line 174, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-kpi-label {
  display: block;
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-bottom: 0.25rem;
}

/* line 181, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-kpi-value {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
}

/* line 189, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-grid-new {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

@media (max-width: 768px) {
  /* line 189, app/assets/stylesheets/_election_report_modal.scss */
  .bb-er-modal-grid-new {
    grid-template-columns: 1fr;
  }
}

/* line 200, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-metrics-column {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 206, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-map-column {
  display: flex;
  flex-direction: column;
}

/* line 212, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-section-compact .bb-er-modal-section-content {
  padding: 0.5rem 0.75rem;
}

/* line 216, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-section-compact .bb-er-modal-party-list,
.bb-er-modal-section-compact .bb-er-modal-ethnic-list {
  gap: 0.5rem;
}

/* line 222, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-map-section-large {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* line 227, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-map-section-large .bb-er-modal-section-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* line 234, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-map-container-large {
  flex: 1;
  min-height: 280px;
  background-color: #F3F4F6;
  border-radius: 6px;
  overflow: hidden;
}

/* line 243, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

@media (max-width: 900px) {
  /* line 243, app/assets/stylesheets/_election_report_modal.scss */
  .bb-er-modal-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  /* line 243, app/assets/stylesheets/_election_report_modal.scss */
  .bb-er-modal-grid {
    grid-template-columns: 1fr;
  }
}

/* line 258, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-section {
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 265, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background-color: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
}

/* line 274, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-section-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 281, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-section-content {
  padding: 0.75rem 1rem;
}

/* line 286, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-toggle {
  display: flex;
  gap: 0.25rem;
  background-color: #F3F4F6;
  border-radius: 6px;
  padding: 2px;
}

/* line 294, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-toggle-btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  background-color: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

/* line 305, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-toggle-btn:hover {
  color: #323C47;
}

/* line 309, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-toggle-btn.is-active {
  background-color: #FFFFFF;
  color: #1F2933;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 317, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-party-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 323, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-party-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 329, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-party-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 335, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-party-name {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 340, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-party-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
}

/* line 346, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-party-bar-track {
  height: 6px;
  background-color: #E5E7EB;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 353, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-party-bar-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
}

/* line 358, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-party-bar-fill.bb-bar-dem {
  background-color: #1D5E96;
}

/* line 362, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-party-bar-fill.bb-bar-rep {
  background-color: #9B2331;
}

/* line 366, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-party-bar-fill.bb-bar-other {
  background-color: #4B5563;
}

/* line 372, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-ethnic-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 378, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-ethnic-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 384, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-ethnic-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 390, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-ethnic-name {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 395, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-ethnic-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
}

/* line 401, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-ethnic-bar-track {
  height: 6px;
  background-color: #E5E7EB;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 408, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-ethnic-bar-fill {
  height: 100%;
  background-color: #1F5C96;
  border-radius: 9999px;
  transition: width 0.3s ease;
}

/* line 417, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-map-section .bb-er-modal-section-content {
  padding: 0;
}

/* line 422, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-map-container {
  height: 180px;
  background-color: #F3F4F6;
}

/* line 427, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-map-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #9CA3AF;
  gap: 0.5rem;
}

/* line 436, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-map-placeholder i {
  font-size: 1.5rem;
}

/* line 440, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-map-placeholder span {
  font-size: 0.875rem;
}

/* line 446, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contests {
  border-top: 1px solid #E5E7EB;
  padding-top: 1rem;
  margin-top: 1.5rem;
}

/* line 452, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contests-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* line 461, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contests-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 469, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contest-filters {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 475, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-filter-chip {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  background-color: #F3F4F6;
  border: 1px solid #E5E7EB;
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 486, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-filter-chip:hover {
  background-color: #E5E7EB;
  color: #323C47;
}

/* line 491, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-filter-chip.is-active {
  background-color: #E4EEF8;
  border-color: #4C7FB5;
  color: #123B66;
}

/* line 499, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contests-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 505, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contests-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  color: #9CA3AF;
  gap: 0.5rem;
}

/* line 514, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contests-empty i {
  font-size: 1.5rem;
}

/* line 518, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contests-empty span {
  font-size: 0.875rem;
}

/* line 524, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contest-card {
  background-color: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  overflow: hidden;
}

/* line 530, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contest-card:hover {
  border-color: #d1d5db;
}

/* line 535, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contest-card.is-expanded .bb-er-modal-contest-header {
  border-bottom: 1px solid #e5e7eb;
}

/* line 541, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contest-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.75rem 1rem;
  background-color: #ffffff;
  border: none;
  cursor: pointer;
  text-align: left;
  gap: 1rem;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  appearance: none;
  -webkit-appearance: none;
}

/* line 559, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contest-header:hover {
  background-color: #f9fafb;
}

/* line 564, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contest-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
}

/* line 571, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contest-toggle i {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 577, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contest-name-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
  flex: 1;
}

/* line 585, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contest-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #111827;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 594, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contest-description {
  font-size: 0.75rem;
  font-weight: 400;
  color: #9CA3AF;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 603, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contest-category {
  font-size: 0.75rem;
  color: #9CA3AF;
  padding: 0.125rem 0.5rem;
  background-color: #F3F4F6;
  border-radius: 9999px;
  flex-shrink: 0;
}

/* line 612, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contest-preview {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}

/* line 619, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-winner-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 630, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-winner-badge.bb-winner-yes {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 635, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-winner-badge.bb-winner-no {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 168, app/assets/stylesheets/_tokens.scss */
.bb-er-modal-winner-badge.bb-party-dem {
  background-color: rgba(29, 94, 150, 0.12);
  color: #1D5E96;
}

/* line 172, app/assets/stylesheets/_tokens.scss */
.bb-er-modal-winner-badge.bb-party-rep {
  background-color: rgba(155, 35, 49, 0.12);
  color: #9B2331;
}

/* line 176, app/assets/stylesheets/_tokens.scss */
.bb-er-modal-winner-badge.bb-party-green {
  background-color: rgba(31, 107, 78, 0.12);
  color: #1F6B4E;
}

/* line 180, app/assets/stylesheets/_tokens.scss */
.bb-er-modal-winner-badge.bb-party-libertarian {
  background-color: rgba(138, 106, 6, 0.12);
  color: #8A6A06;
}

/* line 184, app/assets/stylesheets/_tokens.scss */
.bb-er-modal-winner-badge.bb-party-aip {
  background-color: rgba(196, 104, 26, 0.12);
  color: #C4681A;
}

/* line 188, app/assets/stylesheets/_tokens.scss */
.bb-er-modal-winner-badge.bb-party-pf {
  background-color: rgba(155, 35, 49, 0.12);
  color: #9B2331;
}

/* line 192, app/assets/stylesheets/_tokens.scss */
.bb-er-modal-winner-badge.bb-party-nonpartisan {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 644, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contest-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  min-width: 45px;
  text-align: right;
}

/* line 652, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contest-votes {
  font-size: 0.75rem;
  color: #9CA3AF;
  min-width: 80px;
  text-align: right;
}

/* line 660, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contest-body {
  padding: 0.75rem 1rem;
  background-color: #FFFFFF;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 668, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contestant {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0;
}

/* line 675, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contestant.is-winner .bb-er-modal-contestant-badge {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 682, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contestant-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 140px;
}

/* line 689, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contestant-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 699, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contestant-badge.bb-winner-yes {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 704, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contestant-badge.bb-winner-no {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 711, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-party-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  background-color: #F3F4F6;
  color: #6B7280;
}

/* line 168, app/assets/stylesheets/_tokens.scss */
.bb-er-modal-party-badge.bb-party-dem {
  background-color: rgba(29, 94, 150, 0.12);
  color: #1D5E96;
}

/* line 172, app/assets/stylesheets/_tokens.scss */
.bb-er-modal-party-badge.bb-party-rep {
  background-color: rgba(155, 35, 49, 0.12);
  color: #9B2331;
}

/* line 176, app/assets/stylesheets/_tokens.scss */
.bb-er-modal-party-badge.bb-party-green {
  background-color: rgba(31, 107, 78, 0.12);
  color: #1F6B4E;
}

/* line 180, app/assets/stylesheets/_tokens.scss */
.bb-er-modal-party-badge.bb-party-libertarian {
  background-color: rgba(138, 106, 6, 0.12);
  color: #8A6A06;
}

/* line 184, app/assets/stylesheets/_tokens.scss */
.bb-er-modal-party-badge.bb-party-aip {
  background-color: rgba(196, 104, 26, 0.12);
  color: #C4681A;
}

/* line 188, app/assets/stylesheets/_tokens.scss */
.bb-er-modal-party-badge.bb-party-pf {
  background-color: rgba(155, 35, 49, 0.12);
  color: #9B2331;
}

/* line 192, app/assets/stylesheets/_tokens.scss */
.bb-er-modal-party-badge.bb-party-nonpartisan {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 724, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contestant-results {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 731, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-vote-bar {
  flex: 1;
  height: 8px;
  background-color: #E5E7EB;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 739, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-vote-fill {
  height: 100%;
  background-color: #3A7AB8;
  border-radius: 9999px;
  transition: width 0.3s ease;
}

/* line 746, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contestant-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  min-width: 45px;
  text-align: right;
}

/* line 754, app/assets/stylesheets/_election_report_modal.scss */
.bb-er-modal-contestant-votes {
  font-size: 0.75rem;
  color: #9CA3AF;
  min-width: 60px;
  text-align: right;
}

/* line 765, app/assets/stylesheets/_election_report_modal.scss */
.bb-map-focus-chip {
  position: absolute;
  top: 0.75rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.5rem 0.375rem 0.625rem;
  background: #FFFFFF;
  border: 1px solid #A3C4E0;
  border-radius: 9999px;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  font-size: 0.875rem;
  font-weight: 500;
}

/* line 782, app/assets/stylesheets/_election_report_modal.scss */
.bb-map-focus-chip > i:first-child {
  color: #1F5C96;
  font-size: 0.75rem;
}

/* line 788, app/assets/stylesheets/_election_report_modal.scss */
.bb-map-focus-label {
  color: #4B5563;
}

/* line 792, app/assets/stylesheets/_election_report_modal.scss */
.bb-map-focus-clear {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 9999px;
  color: #B8BFC7;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 806, app/assets/stylesheets/_election_report_modal.scss */
.bb-map-focus-clear:hover {
  background: #F3F4F6;
  color: #4B5563;
}

/* line 811, app/assets/stylesheets/_election_report_modal.scss */
.bb-map-focus-clear i {
  font-size: 0.875rem;
}

/* line 820, app/assets/stylesheets/_election_report_modal.scss */
.bb-map-focus-toast {
  position: fixed;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%) translateY(100%);
  z-index: 1100;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  background: #323C47;
  color: #FFFFFF;
  border-radius: 9999px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  font-size: 0.875rem;
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.25s ease;
  pointer-events: none;
}

/* line 839, app/assets/stylesheets/_election_report_modal.scss */
.bb-map-focus-toast.bb-map-focus-toast-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

/* line 845, app/assets/stylesheets/_election_report_modal.scss */
.bb-map-focus-toast > i:first-child {
  color: #4C7FB5;
  font-size: 0.875rem;
}

/* line 851, app/assets/stylesheets/_election_report_modal.scss */
.bb-map-focus-toast-text {
  color: #F3F4F6;
}

/* line 855, app/assets/stylesheets/_election_report_modal.scss */
.bb-map-focus-toast-action {
  color: #FFFFFF;
  background: none;
  border: none;
  padding: 0;
  margin-left: 0.25rem;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.15s ease;
}

/* line 869, app/assets/stylesheets/_election_report_modal.scss */
.bb-map-focus-toast-action:hover {
  color: #A3C4E0;
}

/* line 873, app/assets/stylesheets/_election_report_modal.scss */
.bb-map-focus-toast-action:focus {
  outline: 1px solid #FFFFFF;
  outline-offset: 2px;
}

@media (max-width: 576px) {
  /* line 885, app/assets/stylesheets/_election_report_modal.scss */
  .bb-er-modal-kpi-strip {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  /* line 890, app/assets/stylesheets/_election_report_modal.scss */
  .bb-er-modal-kpi {
    flex: 1 1 45%;
    min-width: 0;
    padding: 0.5rem;
  }
  /* line 895, app/assets/stylesheets/_election_report_modal.scss */
  .bb-er-modal-kpi:not(:last-child) {
    border-right: none;
  }
  /* line 899, app/assets/stylesheets/_election_report_modal.scss */
  .bb-er-modal-kpi:nth-child(odd) {
    border-right: 1px solid #E5E7EB;
  }
  /* line 904, app/assets/stylesheets/_election_report_modal.scss */
  .bb-er-modal-kpi-label {
    font-size: 0.625rem;
  }
  /* line 908, app/assets/stylesheets/_election_report_modal.scss */
  .bb-er-modal-kpi-value {
    font-size: 0.75rem;
  }
  /* line 913, app/assets/stylesheets/_election_report_modal.scss */
  .bb-map-focus-toast {
    bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px));
    max-width: calc(100% - 2rem);
    font-size: 0.75rem;
    padding: 0.5rem 0.75rem;
  }
}

@media (max-width: 480px) {
  /* line 923, app/assets/stylesheets/_election_report_modal.scss */
  .bb-er-modal-contests-header {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 928, app/assets/stylesheets/_election_report_modal.scss */
  .bb-er-modal-contest-filters {
    width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.25rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  /* line 936, app/assets/stylesheets/_election_report_modal.scss */
  .bb-er-modal-contest-filters::-webkit-scrollbar {
    display: none;
  }
  /* line 941, app/assets/stylesheets/_election_report_modal.scss */
  .bb-er-modal-filter-chip {
    flex-shrink: 0;
    white-space: nowrap;
  }
}

@media (max-width: 400px) {
  /* line 949, app/assets/stylesheets/_election_report_modal.scss */
  .bb-er-modal-kpi {
    flex: 1 1 100%;
  }
  /* line 952, app/assets/stylesheets/_election_report_modal.scss */
  .bb-er-modal-kpi:nth-child(odd) {
    border-right: none;
  }
  /* line 956, app/assets/stylesheets/_election_report_modal.scss */
  .bb-er-modal-kpi:not(:last-child) {
    border-bottom: 1px solid #E5E7EB;
    padding-bottom: 0.5rem;
  }
}

/* line 16, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-chart {
  position: absolute;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.5rem 0.75rem;
  background-color: rgba(255, 255, 255, 0.95);
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  z-index: 1000;
  bottom: 1rem;
  right: 1rem;
}

/* line 34, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-voteshare-redesigned {
  min-width: 180px;
  max-width: 220px;
}

/* line 40, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-title {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-bottom: 0.25rem;
}

/* line 49, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-scale {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 55, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-scale-single {
  justify-content: center;
}

/* line 59, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-endpoint {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  min-width: 70px;
  white-space: nowrap;
}

/* line 69, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-endpoint:last-child {
  justify-content: flex-end;
}

/* line 74, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-party-swatch {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  flex-shrink: 0;
}

/* line 81, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-buckets {
  display: flex;
  gap: 1px;
}

/* line 86, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-bucket {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.125rem;
}

/* line 93, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-bucket-color {
  display: block;
  width: 16px;
  height: 12px;
  border-radius: 2px;
  background-color: #D1D5DB;
}

/* line 101, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-bucket-label {
  font-size: 0.5625rem;
  color: #9CA3AF;
  white-space: nowrap;
}

/* line 108, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-gradient-bar {
  width: 150px;
  height: 12px;
  border-radius: 2px;
  overflow: hidden;
}

/* line 115, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-gradient {
  display: block;
  width: 100%;
  height: 100%;
}

/* line 121, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-ticks {
  display: flex;
  justify-content: space-between;
  font-size: 0.5625rem;
  color: #B8BFC7;
  padding: 0 70px;
}

/* line 129, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-ticks-voteshare {
  padding: 0;
  justify-content: space-around;
}

/* line 134, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-ticks-gradient {
  padding: 0;
}

/* line 142, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-layer {
  margin-bottom: 0.625rem;
}

/* line 145, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-layer:last-child {
  margin-bottom: 0;
}

/* line 150, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-layer-title {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-bottom: 0.375rem;
}

/* line 160, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-subtitle {
  font-weight: 400;
  text-transform: none;
  color: #B8BFC7;
  letter-spacing: 0;
}

/* line 168, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-candidate-row {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 174, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-candidate-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 180, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-candidate-swatch {
  width: 14px;
  height: 14px;
  border-radius: 3px;
  flex-shrink: 0;
}

/* line 187, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-candidate-name {
  font-size: 0.75rem;
  color: #4B5563;
  white-space: nowrap;
}

/* line 194, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-strength-scale {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 200, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-strength-gradient {
  height: 10px;
  border-radius: 2px;
  background: linear-gradient(to right, #F3F4F6, #D1D5DB 33%, #9CA3AF 66%, #4B5563);
}

/* line 207, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-strength-labels {
  display: flex;
  justify-content: space-between;
}

/* line 212, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-strength-bucket {
  flex: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.0625rem;
}

/* line 220, app/assets/stylesheets/_election_report_legend.scss */
.bb-strength-pct {
  font-size: 0.5625rem;
  color: #6B7280;
  font-variant-numeric: tabular-nums;
}

/* line 226, app/assets/stylesheets/_election_report_legend.scss */
.bb-strength-label {
  font-size: 0.5rem;
  color: #B8BFC7;
}

/* line 236, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-deviation-redesigned {
  min-width: 220px;
}

/* line 240, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-deviation-scale {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 246, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-deviation-gradient {
  height: 10px;
  border-radius: 2px;
  background: linear-gradient(to right, #D1D5DB 0%, #E5E7EB 25%, #F3F4F6 50%, #E5E7EB 75%, #D1D5DB 100%);
}

/* line 260, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-deviation-labels {
  display: flex;
  justify-content: space-between;
}

/* line 265, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-deviation-label {
  flex: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.0625rem;
}

/* line 272, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-deviation-label:first-child {
  text-align: left;
}

/* line 276, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-deviation-label:last-child {
  text-align: right;
}

/* line 282, app/assets/stylesheets/_election_report_legend.scss */
.bb-deviation-label-center .bb-deviation-threshold {
  font-weight: 600;
  color: #4B5563;
}

/* line 288, app/assets/stylesheets/_election_report_legend.scss */
.bb-deviation-threshold {
  font-size: 0.5625rem;
  color: #6B7280;
  font-variant-numeric: tabular-nums;
}

/* line 294, app/assets/stylesheets/_election_report_legend.scss */
.bb-deviation-descriptor {
  font-size: 0.5rem;
  color: #B8BFC7;
}

/* line 300, app/assets/stylesheets/_election_report_legend.scss */
.bb-deviation-positive {
  color: #1F6B4E;
}

/* line 304, app/assets/stylesheets/_election_report_legend.scss */
.bb-deviation-negative {
  color: #9B2331;
}

/* line 314, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-turnout {
  min-width: 180px;
}

/* line 317, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-turnout .bb-map-legend-turnout-scale {
  gap: 0.25rem;
}

/* line 321, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-turnout .bb-map-legend-endpoint {
  min-width: 30px;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
}

/* line 329, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-turnout .bb-map-legend-bucket-color {
  width: 36px;
}

/* line 333, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-turnout .bb-map-legend-note {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  border-top: 1px solid #E5E7EB;
  padding-top: 0.5rem;
}

/* line 343, app/assets/stylesheets/_election_report_legend.scss */
.bb-map-legend-turnout .bb-map-legend-note i {
  font-size: 0.7rem;
  color: #B8BFC7;
}

/* line 359, app/assets/stylesheets/_election_report_legend.scss */
.bb-bucket-yes-safe {
  background-color: #0F3527;
}

/* line 360, app/assets/stylesheets/_election_report_legend.scss */
.bb-bucket-yes-lean {
  background-color: #16503A;
}

/* line 361, app/assets/stylesheets/_election_report_legend.scss */
.bb-bucket-yes-competitive {
  background-color: #1F6B4E;
}

/* line 362, app/assets/stylesheets/_election_report_legend.scss */
.bb-bucket-yes-very-competitive {
  background-color: #5AAD8A;
}

/* line 363, app/assets/stylesheets/_election_report_legend.scss */
.bb-bucket-yes-toss-up {
  background-color: #A8D4C2;
}

/* line 365, app/assets/stylesheets/_election_report_legend.scss */
.bb-bucket-no-toss-up {
  background-color: #EABFC3;
}

/* line 366, app/assets/stylesheets/_election_report_legend.scss */
.bb-bucket-no-very-competitive {
  background-color: #D17D85;
}

/* line 367, app/assets/stylesheets/_election_report_legend.scss */
.bb-bucket-no-competitive {
  background-color: #9B2331;
}

/* line 368, app/assets/stylesheets/_election_report_legend.scss */
.bb-bucket-no-lean {
  background-color: #741A25;
}

/* line 369, app/assets/stylesheets/_election_report_legend.scss */
.bb-bucket-no-safe {
  background-color: #4D1118;
}

@media (max-width: 576px) {
  /* line 376, app/assets/stylesheets/_election_report_legend.scss */
  .bb-map-legend-chart {
    left: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    max-width: calc(100% - 1rem);
  }
  /* line 383, app/assets/stylesheets/_election_report_legend.scss */
  .bb-map-legend-endpoint {
    min-width: 50px;
    font-size: 0.625rem;
  }
  /* line 388, app/assets/stylesheets/_election_report_legend.scss */
  .bb-map-legend-ticks {
    padding: 0 50px;
    font-size: 0.5rem;
  }
  /* line 393, app/assets/stylesheets/_election_report_legend.scss */
  .bb-map-legend-bucket-color {
    width: 12px;
    height: 10px;
  }
  /* line 398, app/assets/stylesheets/_election_report_legend.scss */
  .bb-map-legend-voteshare-redesigned {
    min-width: 140px;
    max-width: 180px;
  }
  /* line 403, app/assets/stylesheets/_election_report_legend.scss */
  .bb-map-legend-deviation-redesigned {
    min-width: 180px;
  }
  /* line 407, app/assets/stylesheets/_election_report_legend.scss */
  .bb-map-legend-turnout {
    min-width: 140px;
  }
  /* line 410, app/assets/stylesheets/_election_report_legend.scss */
  .bb-map-legend-turnout .bb-map-legend-bucket-color {
    width: 28px;
  }
}

/* line 10, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-election-report-breakdown-section .bb-election-report-section-body {
  padding: 0;
}

/* line 15, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-election-report-breakdown-body {
  padding: 0;
}

/* line 23, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-container {
  padding: 0;
}

/* line 27, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-summary {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 39, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-groups {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 50, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-group-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.5rem 1rem;
  background: transparent;
  border: none;
  border-bottom: 1px solid #E5E7EB;
  cursor: pointer;
  transition: background-color 0.15s ease;
  text-align: left;
  font-family: inherit;
}

/* line 65, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-group:not(:first-child) .bb-breakdown-group-header {
  margin-top: 2px;
}

/* line 69, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-group-header:hover {
  background-color: #F9FAFB;
}

/* line 73, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-group-header:focus {
  outline: 2px solid #1F5C96;
  outline-offset: -2px;
}

/* line 79, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-group-header i {
  color: #B8BFC7;
  font-size: 0.625rem;
  transition: transform 0.15s ease;
  flex-shrink: 0;
}

/* line 88, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-group-header-static {
  cursor: default;
}

/* line 91, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-group-header-static:hover {
  background: transparent;
}

/* line 97, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-group-expanded .bb-breakdown-group-header {
  border-radius: 0;
  border-bottom: 1px solid #E5E7EB;
}

/* line 103, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-group-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* line 112, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-group-title {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* line 121, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-group-count {
  font-size: 0.75rem;
  font-weight: 500;
  color: #B8BFC7;
  margin-left: auto;
  background-color: transparent;
  padding: 0;
  border-radius: 0;
}

/* line 133, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-group-summary {
  margin-left: auto;
  font-size: 0.75rem;
  font-weight: 400;
  color: #B8BFC7;
}

/* line 144, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-group-rows {
  background: #F9FAFB;
  border: none;
  border-radius: 0;
  overflow: visible;
}

/* line 153, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-table-header {
  display: grid;
  grid-template-columns: 1fr 140px 90px;
  gap: 0.75rem;
  padding: 0.5rem 1rem;
  background: #F9FAFB;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #F3F4F6;
}

/* line 168, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-table-header-candidate {
  grid-template-columns: 1fr 120px 80px;
}

/* line 176, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-items {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 182, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item {
  display: grid;
  grid-template-columns: 1fr 140px 90px;
  gap: 0.75rem;
  align-items: center;
  padding: 0.625rem 1rem;
  background-color: #FFFFFF;
  border-bottom: 1px solid #F3F4F6;
  transition: background-color 0.15s ease;
}

/* line 192, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item:last-child {
  border-bottom: none;
}

/* line 196, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item:hover {
  background-color: #F9FAFB;
}

/* line 201, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  flex-wrap: wrap;
  text-transform: none;
}

/* line 212, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-type {
  font-size: 0.75rem;
  font-weight: 400;
  color: #B8BFC7;
}

/* line 218, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-pct {
  font-size: 0.875rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: #4B5563;
  min-width: 45px;
  text-align: right;
}

/* line 226, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-pct.bb-pct-high {
  color: #1F6B4E;
}

/* line 230, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-pct.bb-pct-low {
  color: #9CA3AF;
}

/* line 235, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-stats {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 241, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-winner {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 249, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-winner-name {
  font-weight: 500;
}

/* line 253, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-winner-pct {
  color: #9CA3AF;
}

/* line 257, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-votes {
  font-size: 0.75rem;
  color: #B8BFC7;
  font-variant-numeric: tabular-nums;
  min-width: 70px;
  text-align: right;
}

/* line 269, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-share {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 160px;
}

/* line 276, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-share-bar {
  flex: 1;
  height: 6px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 284, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-share-fill {
  height: 100%;
  background-color: #1F5C96;
  border-radius: 9999px;
  transition: width 0.2s ease;
}

/* line 291, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-share-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  min-width: 40px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* line 304, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-summary-band {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.625rem 1rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #F3F4F6;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 315, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-summary-band strong {
  color: #1F2933;
  font-weight: 500;
}

/* line 321, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-summary-band-candidate {
  background-color: #F4F7FC;
}

/* line 325, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-summary-stat {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 331, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-summary-divider {
  width: 1px;
  height: 1rem;
  background-color: #D1D5DB;
}

/* line 341, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-candidate {
  display: flex;
  align-items: stretch;
  gap: 0;
  padding: 0;
  overflow: hidden;
}

/* line 349, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-deviation-indicator {
  width: 4px;
  flex-shrink: 0;
  background-color: #D1D5DB;
}

/* line 355, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-content {
  flex: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.625rem 1rem;
}

/* line 363, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-deviation {
  font-size: 0.875rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  min-width: 70px;
  text-align: right;
}

/* line 372, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-deviation-weak {
  background-color: #f3c6c6;
}

/* line 376, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-deviation-below-avg {
  background-color: #f8dada;
}

/* line 380, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-deviation-average {
  background-color: #E5E7EB;
}

/* line 384, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-deviation-above-avg {
  background-color: #d4e6d1;
}

/* line 388, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-deviation-stronghold {
  background-color: #a8d4a0;
}

/* line 393, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-deviation-positive {
  color: #1F6B4E;
}

/* line 397, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-deviation-negative {
  color: #9B2331;
}

/* line 405, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-muted {
  opacity: 0.55;
}

/* line 408, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-muted .bb-breakdown-item-name,
.bb-breakdown-item-muted .bb-breakdown-item-stats {
  color: #B8BFC7;
}

/* line 413, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-muted:hover {
  opacity: 0.75;
}

/* line 418, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-winner-lost {
  background-color: rgba(248, 245, 237, 0.5);
}

/* line 422, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-winner-lost-indicator {
  color: #8A6A06;
  font-size: 0.75rem;
  margin-left: 0.25rem;
}

/* line 428, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-lost-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #8A6A06;
  background: #F8F5ED;
  border-radius: 4px;
}

/* line 439, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-item-carried {
  text-align: center;
  min-width: 70px;
}

/* line 448, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row {
  border-bottom: 1px solid #F3F4F6;
}

/* line 451, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row:last-child {
  border-bottom: none;
}

/* line 456, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-expanded {
  background-color: #F9FAFB;
}

/* line 461, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 0.625rem 1rem;
  background: transparent;
  transition: background-color 0.15s ease;
}

/* line 471, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-header:hover {
  background-color: #F9FAFB;
}

/* line 476, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  padding: 0;
  color: inherit;
}

/* line 491, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-toggle:focus {
  outline: 2px solid #1F5C96;
  outline-offset: -2px;
}

/* line 497, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-toggle i {
  color: #B8BFC7;
  font-size: 0.625rem;
  transition: transform 0.15s ease;
  flex-shrink: 0;
}

/* line 506, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  text-transform: none;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  transition: color 0.15s ease;
}

/* line 517, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-name:hover {
  color: #1F5C96;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* line 526, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-preview {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 533, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-preview .bb-breakdown-winner-badge {
  min-width: 50px;
  text-align: center;
}

/* line 539, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-winner {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 545, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-pct {
  font-size: 0.875rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: #1F2933;
  text-align: right;
  width: 50px;
}

/* line 554, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-votes {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-variant-numeric: tabular-nums;
  text-align: right;
  width: 95px;
}

/* line 562, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-share {
  font-size: 0.7rem;
  color: #B8BFC7;
  font-variant-numeric: tabular-nums;
  text-align: right;
  width: 95px;
  white-space: nowrap;
}

/* line 575, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-body {
  padding: 0 1rem 0.75rem 2rem;
}

/* line 579, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-contestant {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 0;
}

/* line 586, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-contestant.bb-breakdown-contestant-winner .bb-breakdown-contestant-name {
  font-weight: 500;
}

/* line 592, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-contestant-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 160px;
}

/* line 599, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-contestant-name {
  font-size: 0.875rem;
  color: #1F2933;
}

/* line 604, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-contestant-results {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 611, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-vote-bar-wrapper {
  flex: 1;
  max-width: 200px;
}

/* line 616, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-vote-bar {
  height: 8px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 623, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-vote-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.2s ease;
  background-color: #9CA3AF;
}

/* line 630, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-vote-stats {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 120px;
}

/* line 637, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-vote-pct {
  font-size: 0.875rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: #1F2933;
  min-width: 45px;
  text-align: right;
}

/* line 646, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-vote-count {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-variant-numeric: tabular-nums;
}

/* line 652, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-footer {
  padding-top: 0.5rem;
  margin-top: 0.25rem;
  border-top: 1px solid #E5E7EB;
}

/* line 658, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-total-votes {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 667, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-winner-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  white-space: nowrap;
}

/* line 168, app/assets/stylesheets/_tokens.scss */
.bb-breakdown-winner-badge.bb-party-dem {
  background-color: rgba(29, 94, 150, 0.12);
  color: #1D5E96;
}

/* line 172, app/assets/stylesheets/_tokens.scss */
.bb-breakdown-winner-badge.bb-party-rep {
  background-color: rgba(155, 35, 49, 0.12);
  color: #9B2331;
}

/* line 176, app/assets/stylesheets/_tokens.scss */
.bb-breakdown-winner-badge.bb-party-green {
  background-color: rgba(31, 107, 78, 0.12);
  color: #1F6B4E;
}

/* line 180, app/assets/stylesheets/_tokens.scss */
.bb-breakdown-winner-badge.bb-party-libertarian {
  background-color: rgba(138, 106, 6, 0.12);
  color: #8A6A06;
}

/* line 184, app/assets/stylesheets/_tokens.scss */
.bb-breakdown-winner-badge.bb-party-aip {
  background-color: rgba(196, 104, 26, 0.12);
  color: #C4681A;
}

/* line 188, app/assets/stylesheets/_tokens.scss */
.bb-breakdown-winner-badge.bb-party-pf {
  background-color: rgba(155, 35, 49, 0.12);
  color: #9B2331;
}

/* line 192, app/assets/stylesheets/_tokens.scss */
.bb-breakdown-winner-badge.bb-party-nonpartisan {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 200, app/assets/stylesheets/_tokens.scss */
.bb-breakdown-vote-fill.bb-party-dem {
  background-color: #1D5E96;
}

/* line 201, app/assets/stylesheets/_tokens.scss */
.bb-breakdown-vote-fill.bb-party-rep {
  background-color: #9B2331;
}

/* line 202, app/assets/stylesheets/_tokens.scss */
.bb-breakdown-vote-fill.bb-party-green {
  background-color: #1F6B4E;
}

/* line 203, app/assets/stylesheets/_tokens.scss */
.bb-breakdown-vote-fill.bb-party-libertarian {
  background-color: #8A6A06;
}

/* line 204, app/assets/stylesheets/_tokens.scss */
.bb-breakdown-vote-fill.bb-party-aip {
  background-color: #C4681A;
}

/* line 205, app/assets/stylesheets/_tokens.scss */
.bb-breakdown-vote-fill.bb-party-pf {
  background-color: #9B2331;
}

/* line 206, app/assets/stylesheets/_tokens.scss */
.bb-breakdown-vote-fill.bb-party-nonpartisan {
  background-color: #9CA3AF;
}

/* line 691, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-election-report-breakdown-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
  color: #9CA3AF;
}

/* line 700, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-election-report-breakdown-empty i {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}

/* line 705, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-election-report-breakdown-empty p {
  margin: 0 0 0.25rem;
  font-weight: 500;
}

/* line 716, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-view-on-map {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  margin-left: 0.5rem;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 4px;
  color: #B8BFC7;
  cursor: pointer;
  transition: opacity 0.15s ease, background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  flex-shrink: 0;
  opacity: 0;
  pointer-events: none;
}

/* line 734, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-view-on-map:focus {
  opacity: 1;
  pointer-events: auto;
  outline: 2px solid #1F5C96;
  outline-offset: 1px;
}

/* line 741, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-view-on-map:hover {
  background: #F4F7FC;
  border-color: #A3C4E0;
  color: #1F5C96;
}

/* line 747, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-view-on-map i {
  font-size: 0.8rem;
}

/* line 753, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-header:hover .bb-breakdown-view-on-map,
.bb-breakdown-row-header:focus-within .bb-breakdown-view-on-map {
  opacity: 1;
  pointer-events: auto;
}

/* line 760, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-focused .bb-breakdown-view-on-map {
  opacity: 1;
  pointer-events: auto;
  background: #E4EEF8;
  border-color: #4C7FB5;
  color: #1F5C96;
}

/* line 769, app/assets/stylesheets/_geographic_breakdown.scss */
.bb-breakdown-row-focused .bb-breakdown-row-header {
  background-color: #F4F7FC;
  box-shadow: inset 3px 0 0 #1F5C96;
}

@media (max-width: 576px) {
  /* line 779, app/assets/stylesheets/_geographic_breakdown.scss */
  .bb-breakdown-row-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
  }
  /* line 785, app/assets/stylesheets/_geographic_breakdown.scss */
  .bb-breakdown-row-toggle {
    width: 100%;
  }
  /* line 789, app/assets/stylesheets/_geographic_breakdown.scss */
  .bb-breakdown-row-preview {
    width: 100%;
    justify-content: space-between;
    padding-left: 1.25rem;
    gap: 0.375rem;
  }
  /* line 796, app/assets/stylesheets/_geographic_breakdown.scss */
  .bb-breakdown-row-votes,
.bb-breakdown-row-share {
    width: auto;
    min-width: 0;
  }
  /* line 802, app/assets/stylesheets/_geographic_breakdown.scss */
  .bb-breakdown-row-pct {
    width: auto;
    min-width: 40px;
  }
  /* line 807, app/assets/stylesheets/_geographic_breakdown.scss */
  .bb-breakdown-winner-badge {
    font-size: 0.625rem;
    padding: 0.0625rem 0.375rem;
    min-width: auto;
  }
  /* line 814, app/assets/stylesheets/_geographic_breakdown.scss */
  .bb-breakdown-row-share {
    display: none;
  }
  /* line 819, app/assets/stylesheets/_geographic_breakdown.scss */
  .bb-breakdown-table-header {
    grid-template-columns: 1fr 100px 70px;
    padding: 0.375rem 0.75rem;
    font-size: 0.625rem;
  }
  /* line 825, app/assets/stylesheets/_geographic_breakdown.scss */
  .bb-breakdown-table-header-candidate {
    grid-template-columns: 1fr 90px 60px;
  }
  /* line 829, app/assets/stylesheets/_geographic_breakdown.scss */
  .bb-breakdown-item {
    grid-template-columns: 1fr 100px 70px;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
  }
  /* line 835, app/assets/stylesheets/_geographic_breakdown.scss */
  .bb-breakdown-item-name {
    font-size: 0.75rem;
  }
  /* line 839, app/assets/stylesheets/_geographic_breakdown.scss */
  .bb-breakdown-item-share {
    min-width: 100px;
    gap: 0.5rem;
  }
}

/* line 13, app/assets/stylesheets/_race_statistics.scss */
.bb-election-report-map-panel-container {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

@media (max-width: 1199.98px) {
  /* line 13, app/assets/stylesheets/_race_statistics.scss */
  .bb-election-report-map-panel-container {
    flex-direction: column;
  }
}

/* line 23, app/assets/stylesheets/_race_statistics.scss */
.bb-election-report-map-wrapper {
  flex: 2;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

@media (max-width: 1199.98px) {
  /* line 23, app/assets/stylesheets/_race_statistics.scss */
  .bb-election-report-map-wrapper {
    flex: none;
  }
}

@media (max-width: 767.98px) {
  /* line 23, app/assets/stylesheets/_race_statistics.scss */
  .bb-election-report-map-wrapper {
    display: none;
  }
}

/* line 39, app/assets/stylesheets/_race_statistics.scss */
.bb-election-report-map-wrapper .bb-election-report-section {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
}

/* line 46, app/assets/stylesheets/_race_statistics.scss */
.bb-election-report-map-wrapper .bb-election-report-map-container {
  flex: 1;
}

/* line 51, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-wrapper {
  flex: 1;
  min-width: 280px;
  max-width: 360px;
  display: flex;
  flex-direction: column;
}

@media (max-width: 1199.98px) {
  /* line 51, app/assets/stylesheets/_race_statistics.scss */
  .bb-race-statistics-wrapper {
    flex: none;
    max-width: none;
  }
}

/* line 68, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-panel {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
  flex: 1;
  display: flex;
  flex-direction: column;
}

@media (max-width: 1199.98px) {
  /* line 68, app/assets/stylesheets/_race_statistics.scss */
  .bb-race-statistics-panel {
    flex: none;
  }
}

/* line 83, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-body {
  padding: 0;
}

/* line 91, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-row {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 95, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-row:last-child {
  border-bottom: none;
}

/* line 100, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-row-header {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-bottom: 0.375rem;
}

/* line 107, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 119, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-value {
  font-size: 1.125rem;
  font-weight: 700;
  color: #323C47;
  font-variant-numeric: tabular-nums;
}

/* line 125, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-value.bb-race-statistics-value-dem {
  color: #1D5E96;
}

/* line 129, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-value.bb-race-statistics-value-rep {
  color: #9B2331;
}

/* line 133, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-value.bb-race-statistics-value-even {
  color: #6B7280;
}

/* line 142, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-partisanship-bar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 148, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-partisanship-bar-container {
  flex: 1;
  height: 12px;
  background-color: #F3F4F6;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
}

/* line 157, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-partisanship-bar-container.bb-obfuscated {
  filter: blur(6px);
}

/* line 162, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-partisanship-fill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  border-radius: 4px;
  transition: width 0.3s ease;
}

/* line 170, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-partisanship-fill.bb-partisanship-low {
  background-color: #D1D5DB;
}

/* line 174, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-partisanship-fill.bb-partisanship-moderate {
  background-color: #9CA3AF;
}

/* line 178, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-partisanship-fill.bb-partisanship-high {
  background-color: #4B5563;
}

/* line 183, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-partisanship-coefficient {
  font-size: 0.875rem;
  font-weight: 600;
  color: #4B5563;
  min-width: 36px;
  text-align: right;
}

/* line 191, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-partisanship-median {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.375rem;
}

/* line 197, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-sample-size {
  color: #B8BFC7;
  font-size: 0.75rem;
}

/* line 202, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-benchmark-unavailable {
  color: #B8BFC7;
  font-style: italic;
}

/* line 207, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-no-data {
  font-size: 0.875rem;
  color: #9CA3AF;
  font-style: italic;
}

/* line 213, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-unavailable {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 219, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-unavailable-dash {
  font-size: 1.125rem;
  font-weight: 500;
  color: #D1D5DB;
}

/* line 225, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-unavailable-reason {
  font-size: 0.75rem;
  color: #B8BFC7;
  font-style: italic;
}

@keyframes skeleton-pulse {
  0%, 100% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.7;
  }
}

/* line 240, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-skeleton-text {
  display: inline-block;
  background: #E5E7EB;
  border-radius: 4px;
  animation: skeleton-pulse 1.5s ease-in-out infinite;
}

/* line 247, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-skeleton-bar {
  flex: 1;
  height: 12px;
  background: #E5E7EB;
  border-radius: 4px;
  animation: skeleton-pulse 1.5s ease-in-out infinite;
}

/* line 255, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-skeleton-coefficient {
  width: 36px;
  height: 16px;
}

/* line 260, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-skeleton-alignment {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 266, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-skeleton-alignment:last-child {
  margin-bottom: 0;
}

/* line 271, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-skeleton-party {
  width: 32px;
  height: 14px;
}

/* line 276, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-skeleton-name {
  width: 80px;
  height: 14px;
}

/* line 285, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-alignment-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 291, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-alignment-side {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
}

/* line 298, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-alignment-party {
  font-size: 0.75rem;
  color: #9CA3AF;
  min-width: 32px;
}

/* line 304, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-alignment-candidate {
  font-weight: 500;
}

/* line 307, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-alignment-candidate.bb-dem-aligned {
  color: #1D5E96;
}

/* line 311, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-alignment-candidate.bb-rep-aligned {
  color: #9B2331;
}

/* line 316, app/assets/stylesheets/_race_statistics.scss */
.bb-stats-no-alignment {
  font-size: 0.875rem;
  color: #9CA3AF;
  font-style: italic;
}

/* line 326, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-precincts-content {
  display: flex;
  align-items: baseline;
  gap: 0.375rem;
}

/* line 332, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-precincts-count {
  font-size: 1.125rem;
  font-weight: 700;
  color: #323C47;
  font-variant-numeric: tabular-nums;
}

/* line 339, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-precincts-pct {
  font-size: 0.875rem;
  color: #9CA3AF;
  font-variant-numeric: tabular-nums;
}

/* line 349, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-topticket-content {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

/* line 355, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-topticket-pct {
  font-size: 1.25rem;
  font-weight: 700;
  color: #123B66;
  font-variant-numeric: tabular-nums;
}

/* line 362, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-topticket-label {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 367, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-topticket-unavailable {
  font-size: 0.875rem;
  font-weight: 500;
  color: #B8BFC7;
  font-style: italic;
}

/* line 378, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-preview {
  padding: 1rem;
}

/* line 382, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-preview-row {
  opacity: 0.6;
  margin-bottom: 0.75rem;
}

/* line 386, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-preview-row:last-of-type {
  margin-bottom: 0;
}

/* line 391, app/assets/stylesheets/_race_statistics.scss */
.bb-blurred {
  filter: blur(6px);
  user-select: none;
  -webkit-user-select: none;
}

/* line 397, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-bar-preview {
  height: 12px;
  background: linear-gradient(90deg, #E5E7EB, #D1D5DB, #E5E7EB);
  border-radius: 4px;
  animation: pulse-preview 2s ease-in-out infinite;
}

@keyframes pulse-preview {
  0%, 100% {
    opacity: 0.6;
  }
  50% {
    opacity: 0.3;
  }
}

/* line 409, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 1rem;
  margin-top: 0.5rem;
  background: #F9FAFB;
  border-radius: 6px;
  text-align: center;
  color: #9CA3AF;
}

/* line 421, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-cta i {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
  color: #B8BFC7;
}

/* line 427, app/assets/stylesheets/_race_statistics.scss */
.bb-race-statistics-cta span {
  font-size: 0.875rem;
}

/* line 433, app/assets/stylesheets/_race_statistics.scss */
.bb-loading-spinner-sm {
  width: 14px;
  height: 14px;
  border: 2px solid #E5E7EB;
  border-top-color: #1F5C96;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 767.98px) {
  /* line 451, app/assets/stylesheets/_race_statistics.scss */
  .bb-race-statistics-value {
    font-size: 1rem;
  }
  /* line 455, app/assets/stylesheets/_race_statistics.scss */
  .bb-race-statistics-topticket-pct {
    font-size: 1.125rem;
  }
}

/* line 11, app/assets/stylesheets/_election_report_discovery.scss */
.bb-election-report-discovery {
  max-width: 900px;
  margin: 0 auto;
}

/* line 16, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-header {
  text-align: center;
  margin-bottom: 2rem;
}

/* line 21, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-title {
  font-size: 1.875rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.5rem;
}

/* line 28, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-subtitle {
  font-size: 1rem;
  color: #6B7280;
  margin: 0;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

/* line 41, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-search-section {
  position: relative;
  max-width: 700px;
  margin: 0 auto;
}

/* line 47, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-search-box {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1rem;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 55, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-search-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

/* line 60, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-search-input-wrapper > i {
  position: absolute;
  left: 1rem;
  color: #B8BFC7;
  font-size: 1.125rem;
}

/* line 68, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-search-input {
  width: 100%;
  padding: 0.875rem 2.5rem 0.875rem 3rem;
  font-size: 1.125rem;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  background-color: #FFFFFF;
  transition: all 0.15s ease;
}

/* line 77, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-search-input:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.15);
}

/* line 83, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-search-input::placeholder {
  color: #B8BFC7;
}

/* line 88, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-search-spinner {
  position: absolute;
  right: 1rem;
}

/* line 94, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-filters {
  display: flex;
  gap: 1rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #F3F4F6;
}

/* line 102, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-filter {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 108, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-filter-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
}

/* line 114, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-filter-select {
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  background-color: #FFFFFF;
  cursor: pointer;
}

/* line 122, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-filter-select:focus {
  outline: none;
  border-color: #3A7AB8;
}

/* line 132, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-results-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 0.5rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  z-index: 100;
  max-height: 480px;
  overflow-y: auto;
}

/* line 147, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-results-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  gap: 0.75rem;
  text-align: center;
  color: #9CA3AF;
  font-size: 0.875rem;
}

/* line 151, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-result-item {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding: 0.875rem 1rem;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid #F3F4F6;
  transition: background-color 0.15s ease;
}

/* line 161, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-result-item:hover {
  background-color: #F9FAFB;
}

/* line 165, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-result-item:last-child {
  border-bottom: none;
}

/* line 170, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-result-main {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 176, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-result-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 182, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-result-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  background-color: #F3F4F6;
  color: #6B7280;
}

/* line 192, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-result-badge--child_local {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 197, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-result-badge--child_legislative {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 202, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-result-badge--child_ballot_measure {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 208, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-result-name {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 214, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-result-meta {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 222, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-result-separator {
  color: #D1D5DB;
}

/* line 226, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-result-year {
  font-weight: 500;
  color: #4B5563;
}

/* line 231, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-result-contestants {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 239, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-results-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  gap: 0.75rem;
  text-align: center;
  color: #9CA3AF;
}

/* line 258, app/assets/stylesheets/_tokens.scss */
.bb-discovery-results-empty i {
  font-size: 1.5rem;
  color: #B8BFC7;
}

/* line 263, app/assets/stylesheets/_tokens.scss */
.bb-discovery-results-empty p {
  font-size: 0.875rem;
  font-weight: 500;
  margin: 0;
  color: #9CA3AF;
}

/* line 243, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-empty-hint {
  font-size: 0.875rem;
  color: #B8BFC7;
}

/* line 252, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-coverage-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: #B8BFC7;
  text-align: center;
}

/* line 261, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-coverage-note i {
  color: #D1D5DB;
  font-size: 0.75rem;
}

/* line 271, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-intent-nav {
  max-width: 700px;
  margin: 0 auto;
  padding-top: 2rem;
  border-top: 1px solid #F3F4F6;
}

/* line 278, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-intent-heading {
  font-size: 0.875rem;
  font-weight: 500;
  color: #B8BFC7;
  text-align: center;
  margin-bottom: 1.25rem;
}

/* line 286, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-intent-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

/* line 292, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-intent-option {
  text-align: center;
}

/* line 296, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-intent-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  margin-bottom: 0.375rem;
}

/* line 305, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-intent-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F5C96;
  text-decoration: none;
}

/* line 314, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-intent-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 319, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-intent-link i {
  font-size: 0.75rem;
}

/* line 324, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-intent-reassure {
  font-size: 0.875rem;
  font-weight: 500;
  color: #B8BFC7;
}

/* line 330, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-intent-desc {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
  line-height: 1.4;
}

/* line 338, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-intent-current .bb-discovery-intent-label {
  color: #B8BFC7;
}

/* line 341, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-intent-current .bb-discovery-intent-reassure {
  color: #9CA3AF;
}

/* line 344, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-intent-current .bb-discovery-intent-desc {
  color: #B8BFC7;
  font-size: 0.6875rem;
}

/* line 355, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-featured {
  text-align: center;
}

/* line 359, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-section-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #4B5563;
  margin-bottom: 1.25rem;
}

/* line 366, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-example-group {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

/* line 374, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-example-group:last-child {
  margin-bottom: 0;
}

/* line 379, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-example-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #9CA3AF;
  min-width: 70px;
  text-align: right;
  padding-right: 0.5rem;
}

/* line 388, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-examples {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 396, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-example-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #123B66;
  background-color: rgba(31, 92, 150, 0.1);
  border: 1px solid rgba(31, 92, 150, 0.2);
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 409, app/assets/stylesheets/_election_report_discovery.scss */
.bb-discovery-example-chip:hover {
  background-color: rgba(31, 92, 150, 0.15);
  border-color: rgba(31, 92, 150, 0.3);
}

@media (max-width: 767.98px) {
  /* line 420, app/assets/stylesheets/_election_report_discovery.scss */
  .bb-discovery-title {
    font-size: 1.5rem;
  }
  /* line 424, app/assets/stylesheets/_election_report_discovery.scss */
  .bb-discovery-search-input {
    font-size: 1rem;
  }
  /* line 428, app/assets/stylesheets/_election_report_discovery.scss */
  .bb-discovery-filters {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 433, app/assets/stylesheets/_election_report_discovery.scss */
  .bb-discovery-filter {
    width: 100%;
    justify-content: space-between;
  }
  /* line 438, app/assets/stylesheets/_election_report_discovery.scss */
  .bb-discovery-filter-select {
    flex: 1;
    max-width: 200px;
    min-height: 44px;
    padding: 0.625rem 0.75rem;
  }
  /* line 445, app/assets/stylesheets/_election_report_discovery.scss */
  .bb-discovery-coverage-note {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 449, app/assets/stylesheets/_election_report_discovery.scss */
  .bb-discovery-coverage-note i {
    font-size: 1rem;
  }
  /* line 454, app/assets/stylesheets/_election_report_discovery.scss */
  .bb-discovery-intent-options {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  /* line 459, app/assets/stylesheets/_election_report_discovery.scss */
  .bb-discovery-intent-link {
    padding: 0.625rem 0;
    min-height: 44px;
  }
  /* line 464, app/assets/stylesheets/_election_report_discovery.scss */
  .bb-discovery-intent-desc {
    font-size: 0.875rem;
  }
  /* line 468, app/assets/stylesheets/_election_report_discovery.scss */
  .bb-discovery-intent-label {
    font-size: 0.875rem;
  }
  /* line 473, app/assets/stylesheets/_election_report_discovery.scss */
  .bb-discovery-intent-current .bb-discovery-intent-desc {
    font-size: 0.75rem;
  }
  /* line 478, app/assets/stylesheets/_election_report_discovery.scss */
  .bb-discovery-example-group {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #F3F4F6;
  }
  /* line 486, app/assets/stylesheets/_election_report_discovery.scss */
  .bb-discovery-example-group:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
  /* line 493, app/assets/stylesheets/_election_report_discovery.scss */
  .bb-discovery-example-label {
    min-width: auto;
    text-align: left;
    padding-right: 0;
    margin-bottom: 0.375rem;
    font-size: 1rem;
  }
  /* line 501, app/assets/stylesheets/_election_report_discovery.scss */
  .bb-discovery-example-chip {
    min-height: 44px;
    padding: 0.625rem 0.875rem;
  }
}

/* line 13, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-section {
  width: 100%;
}

/* line 17, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-container {
  width: 100%;
  overflow-x: auto;
  position: relative;
}

/* line 23, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-container::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 40px;
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.9));
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}

/* line 36, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-container.has-overflow::after {
  opacity: 1;
}

/* line 45, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-row,
.bb-coalition-heatmap-header {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) 44px repeat(10, minmax(32px, 1fr));
  gap: 2px;
  align-items: stretch;
}

/* line 54, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-header {
  margin-bottom: 2px;
}

/* line 59, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-gradient-bar {
  grid-column: 3 / -1;
}

/* line 63, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 73, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-electorate-marker {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--marker-position, 50%);
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  pointer-events: none;
  z-index: 1;
}

/* line 86, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-electorate-marker::before {
  content: "";
  position: absolute;
  top: -4px;
  bottom: -4px;
  left: 50%;
  width: 0;
  border-left: 2px dashed #4B5563;
  transform: translateX(-50%);
}

/* line 98, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-electorate-label {
  position: absolute;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 10px;
  font-weight: 500;
  color: #6B7280;
  white-space: nowrap;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 1px 4px;
  border-radius: 2px;
}

/* line 120, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-col-header {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-align: center;
  padding: 4px 2px;
  white-space: nowrap;
  cursor: help;
}

/* line 129, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-col-header--total {
  font-weight: 500;
  color: #4B5563;
  border-right: 1px solid #E5E7EB;
}

/* line 137, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-gradient-bar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 22px;
  margin-top: 20px;
  padding: 0 10px;
  border-radius: 4px;
  background: linear-gradient(to right, #4075bf, #9fafc6, #D1D5DB, #c69f9f, #bf4040);
}

/* line 156, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-gradient-label {
  font-size: 10px;
  font-weight: 500;
  color: #FFFFFF;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* line 167, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-row {
  border-radius: 4px;
  overflow: hidden;
  position: relative;
}

/* line 172, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-row--winner {
  background-color: #F3F4F6;
}

/* line 176, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-row--winner::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background-color: #4B5563;
  border-radius: 4px 0 0 4px;
}

/* line 193, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-name {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  background-color: #F9FAFB;
  font-size: 0.875rem;
  font-weight: 500;
  color: #323C47;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 207, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-name-text {
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 213, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-color-dot {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* line 225, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 36px;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: default;
  transition: opacity 0.1s ease;
}

/* line 236, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-cell:hover {
  opacity: 0.85;
}

/* line 240, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-cell--total {
  font-weight: 600;
  background-color: #F3F4F6;
  color: #323C47;
  border-right: 1px solid #E5E7EB;
}

/* line 249, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-peak-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: currentColor;
  flex-shrink: 0;
}

/* line 261, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-legend {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #E5E7EB;
}

/* line 271, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-legend-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 276, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-legend-scale {
  width: 120px;
  height: 10px;
  border-radius: 2px;
  background: linear-gradient(to right, #e9eaec, #89929f, #383e47);
}

/* line 288, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-excluded-note {
  text-align: center;
  font-size: 0.75rem;
  color: #B8BFC7;
  font-style: italic;
  margin-top: 0.75rem;
}

/* line 300, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  color: #9CA3AF;
  gap: 0.75rem;
}

/* line 310, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-empty,
.bb-coalition-heatmap-error {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  color: #9CA3AF;
  text-align: center;
  gap: 0.5rem;
}

/* line 321, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-empty i,
.bb-coalition-heatmap-error i {
  font-size: 1.25rem;
  opacity: 0.5;
}

/* line 322, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-empty p,
.bb-coalition-heatmap-error p {
  margin: 0;
  font-size: 0.875rem;
}

/* line 325, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-error i {
  color: #9B2331;
}

/* line 329, app/assets/stylesheets/_coalition_heatmap.scss */
.bb-coalition-heatmap-empty-hint {
  font-size: 0.75rem;
  color: #B8BFC7;
  max-width: 280px;
}

@media (max-width: 640px) {
  /* line 340, app/assets/stylesheets/_coalition_heatmap.scss */
  .bb-coalition-heatmap-row,
.bb-coalition-heatmap-header {
    grid-template-columns: minmax(100px, 120px) 36px repeat(10, minmax(24px, 1fr));
  }
  /* line 345, app/assets/stylesheets/_coalition_heatmap.scss */
  .bb-coalition-heatmap-name {
    padding: 6px 8px;
    font-size: 0.75rem;
  }
  /* line 350, app/assets/stylesheets/_coalition_heatmap.scss */
  .bb-coalition-heatmap-cell {
    min-height: 28px;
    font-size: 10px;
  }
  /* line 355, app/assets/stylesheets/_coalition_heatmap.scss */
  .bb-coalition-heatmap-col-header {
    font-size: 10px;
    padding: 3px 1px;
  }
  /* line 360, app/assets/stylesheets/_coalition_heatmap.scss */
  .bb-coalition-heatmap-gradient-bar {
    height: 18px;
    padding: 0 6px;
  }
  /* line 365, app/assets/stylesheets/_coalition_heatmap.scss */
  .bb-coalition-heatmap-gradient-label {
    font-size: 8px;
  }
  /* line 369, app/assets/stylesheets/_coalition_heatmap.scss */
  .bb-coalition-heatmap-gradient-bar {
    margin-top: 16px;
  }
  /* line 373, app/assets/stylesheets/_coalition_heatmap.scss */
  .bb-coalition-heatmap-electorate-label {
    font-size: 9px;
    top: -14px;
  }
}

@media (max-width: 576px) {
  /* line 380, app/assets/stylesheets/_coalition_heatmap.scss */
  .bb-coalition-heatmap-row,
.bb-coalition-heatmap-header {
    grid-template-columns: minmax(80px, 100px) 32px repeat(10, minmax(22px, 1fr));
  }
  /* line 385, app/assets/stylesheets/_coalition_heatmap.scss */
  .bb-coalition-heatmap-cell {
    min-height: 24px;
    font-size: 9px;
  }
  /* line 390, app/assets/stylesheets/_coalition_heatmap.scss */
  .bb-coalition-heatmap-name {
    padding: 4px 6px;
    font-size: 10px;
  }
  /* line 395, app/assets/stylesheets/_coalition_heatmap.scss */
  .bb-coalition-heatmap-legend {
    flex-direction: column;
    gap: 6px;
  }
  /* line 401, app/assets/stylesheets/_coalition_heatmap.scss */
  .bb-heatmap-pct-sign {
    display: none;
  }
}

/* line 6, app/assets/stylesheets/_pages.scss */
.hero-section {
  background-color: var(--blue-grey-050);
}

/* line 9, app/assets/stylesheets/_pages.scss */
.hero-section .hero-title {
  color: var(--gray-900);
}

/* line 13, app/assets/stylesheets/_pages.scss */
.hero-section .hero-subtitle {
  color: var(--gray-600);
}

/* line 17, app/assets/stylesheets/_pages.scss */
.hero-section .hero-image-container {
  max-width: 560px;
}

/* line 20, app/assets/stylesheets/_pages.scss */
.hero-section .hero-image-container .hero-image-wrapper {
  background-color: white;
  border-radius: 0.75rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  padding: 1rem;
}

@media (min-width: 768px) {
  /* line 20, app/assets/stylesheets/_pages.scss */
  .hero-section .hero-image-container .hero-image-wrapper {
    padding: 1.5rem;
  }
}

/* line 34, app/assets/stylesheets/_pages.scss */
.section-light {
  background-color: var(--blue-grey-050);
}

/* line 39, app/assets/stylesheets/_pages.scss */
.feature-card {
  background-color: white;
  border-radius: 0.75rem;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  padding: 1.5rem;
  height: 100%;
}

/* line 46, app/assets/stylesheets/_pages.scss */
.feature-card:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* line 52, app/assets/stylesheets/_pages.scss */
.icon-container {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 61, app/assets/stylesheets/_pages.scss */
.icon-container.icon-primary {
  background-color: var(--light-blue-vivid-100);
  color: var(--light-blue-vivid-600);
}

/* line 66, app/assets/stylesheets/_pages.scss */
.icon-container.icon-teal {
  background-color: var(--teal-100);
  color: var(--teal-600);
}

/* line 71, app/assets/stylesheets/_pages.scss */
.icon-container.icon-cyan {
  background-color: var(--cyan-100);
  color: var(--cyan-600);
}

/* line 76, app/assets/stylesheets/_pages.scss */
.icon-container.icon-yellow {
  background-color: var(--yellow-vivid-100);
  color: var(--yellow-vivid-600);
}

/* line 84, app/assets/stylesheets/_pages.scss */
.cta-section .cta-title {
  color: var(--gray-900);
}

/* line 88, app/assets/stylesheets/_pages.scss */
.cta-section .cta-subtitle {
  color: var(--gray-600);
}

/* line 94, app/assets/stylesheets/_pages.scss */
.btn-primary-lg {
  background-color: var(--light-blue-vivid-600);
  color: white;
  padding: 0.75rem 2rem;
  font-size: 1.125rem;
  border: none;
}

/* line 101, app/assets/stylesheets/_pages.scss */
.btn-primary-lg:hover {
  background-color: var(--light-blue-vivid-700);
  color: white;
}

/* line 107, app/assets/stylesheets/_pages.scss */
.btn-outline-primary-lg {
  color: var(--light-blue-vivid-600);
  border: 2px solid var(--light-blue-vivid-600);
  padding: 0.75rem 2rem;
  font-size: 1.125rem;
}

/* line 113, app/assets/stylesheets/_pages.scss */
.btn-outline-primary-lg:hover {
  background-color: var(--light-blue-vivid-600);
  color: white;
}

/* line 127, app/assets/stylesheets/_pages.scss */
.bb-hero-section {
  background-color: #f8f9fa;
}

/* line 131, app/assets/stylesheets/_pages.scss */
.bb-hero-title {
  color: #1F2933;
}

/* line 135, app/assets/stylesheets/_pages.scss */
.bb-hero-subtitle {
  color: #4B5563;
}

/* line 146, app/assets/stylesheets/_pages.scss */
.bb-feature-section-light {
  background-color: #f8f9fa;
}

/* line 150, app/assets/stylesheets/_pages.scss */
.bb-feature-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 1rem;
}

/* line 157, app/assets/stylesheets/_pages.scss */
.bb-feature-subtitle {
  font-size: 1.125rem;
  color: #4B5563;
}

/* line 165, app/assets/stylesheets/_pages.scss */
.bb-feature-card {
  background: #FFFFFF;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  border: 1px solid #E5E7EB;
  padding: 1.5rem;
  height: 100%;
  transition: box-shadow 0.2s ease;
}

/* line 174, app/assets/stylesheets/_pages.scss */
.bb-feature-card:hover {
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 179, app/assets/stylesheets/_pages.scss */
.bb-feature-card-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 0.5rem;
}

/* line 186, app/assets/stylesheets/_pages.scss */
.bb-feature-card-text {
  font-size: 0.875rem;
  color: #4B5563;
  margin-bottom: 0;
}

/* line 195, app/assets/stylesheets/_pages.scss */
.bb-feature-icon {
  width: 48px;
  height: 48px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.25rem;
}

/* line 206, app/assets/stylesheets/_pages.scss */
.bb-feature-icon-primary {
  background-color: #E4EEF8;
  color: #1F5C96;
}

/* line 211, app/assets/stylesheets/_pages.scss */
.bb-feature-icon-teal {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 216, app/assets/stylesheets/_pages.scss */
.bb-feature-icon-cyan {
  background-color: #EDF3F8;
  color: #1D5E96;
}

/* line 221, app/assets/stylesheets/_pages.scss */
.bb-feature-icon-yellow {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 229, app/assets/stylesheets/_pages.scss */
.bb-benefit-icon {
  width: 56px;
  height: 56px;
  border-radius: 9999px;
  background-color: #E4EEF8;
  color: #1F5C96;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}

/* line 241, app/assets/stylesheets/_pages.scss */
.bb-benefit-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 0.5rem;
}

/* line 248, app/assets/stylesheets/_pages.scss */
.bb-benefit-text {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 256, app/assets/stylesheets/_pages.scss */
.bb-cta-section {
  background-color: #f8f9fa;
}

/* line 260, app/assets/stylesheets/_pages.scss */
.bb-cta-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 1rem;
}

@media (min-width: 768px) {
  /* line 260, app/assets/stylesheets/_pages.scss */
  .bb-cta-title {
    font-size: 1.875rem;
  }
}

/* line 271, app/assets/stylesheets/_pages.scss */
.bb-cta-subtitle {
  font-size: 1.125rem;
  color: #4B5563;
  margin-bottom: 1.5rem;
}

/* line 280, app/assets/stylesheets/_pages.scss */
.bb-mockup-container {
  max-width: 100%;
  background: #f8f9fa;
  border-radius: 12px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  border: 1px solid #D1D5DB;
  padding: 1rem;
}

/* line 288, app/assets/stylesheets/_pages.scss */
.bb-mockup-container img {
  border-radius: 8px;
  width: 100%;
  height: auto;
}

/* line 298, app/assets/stylesheets/_pages.scss */
.bb-workflow-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 1.5rem;
  text-align: center;
  transition: all 0.2s ease;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 307, app/assets/stylesheets/_pages.scss */
.bb-workflow-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  border-color: #4C7FB5;
}

/* line 312, app/assets/stylesheets/_pages.scss */
.bb-workflow-card:hover .bb-workflow-link {
  color: #123B66;
}

/* line 318, app/assets/stylesheets/_pages.scss */
.bb-workflow-icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #E4EEF8;
  color: #123B66;
  border-radius: 8px;
  font-size: 1.5rem;
  margin: 0 auto;
}

/* line 331, app/assets/stylesheets/_pages.scss */
.bb-workflow-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 0.5rem;
}

/* line 338, app/assets/stylesheets/_pages.scss */
.bb-workflow-description {
  font-size: 0.875rem;
  color: #6B7280;
  margin-bottom: 1rem;
}

/* line 344, app/assets/stylesheets/_pages.scss */
.bb-workflow-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  transition: color 0.15s ease;
}

/* line 353, app/assets/stylesheets/_pages.scss */
.bb-workflow-link i {
  transition: transform 0.15s ease;
}

/* line 357, app/assets/stylesheets/_pages.scss */
.bb-workflow-card:hover .bb-workflow-link i {
  transform: translateX(4px);
}

/* line 366, app/assets/stylesheets/_pages.scss */
.ie-mockup-feed {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 372, app/assets/stylesheets/_pages.scss */
.ie-mockup-card {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 1.25rem;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  border: 1px solid #E5E7EB;
}

/* line 380, app/assets/stylesheets/_pages.scss */
.ie-mockup-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

/* line 387, app/assets/stylesheets/_pages.scss */
.ie-mockup-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: #1F5C96;
  font-weight: 500;
}

/* line 396, app/assets/stylesheets/_pages.scss */
.ie-mockup-actions-sep {
  color: #B8BFC7;
}

/* line 400, app/assets/stylesheets/_pages.scss */
.ie-mockup-timestamp {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 405, app/assets/stylesheets/_pages.scss */
.ie-mockup-amount {
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}

/* line 412, app/assets/stylesheets/_pages.scss */
.ie-mockup-amount--green {
  color: #059669;
}

/* line 413, app/assets/stylesheets/_pages.scss */
.ie-mockup-amount--red {
  color: #dc2626;
}

/* line 415, app/assets/stylesheets/_pages.scss */
.ie-mockup-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
}

/* line 423, app/assets/stylesheets/_pages.scss */
.ie-mockup-label--support {
  color: #059669;
}

/* line 424, app/assets/stylesheets/_pages.scss */
.ie-mockup-label--oppose {
  color: #dc2626;
}

/* line 426, app/assets/stylesheets/_pages.scss */
.ie-mockup-target-name {
  font-size: 1rem;
  font-weight: 600;
  color: #1F5C96;
}

/* line 432, app/assets/stylesheets/_pages.scss */
.ie-mockup-target-context {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 437, app/assets/stylesheets/_pages.scss */
.ie-mockup-entity {
  font-size: 0.875rem;
  color: #6B7280;
  margin-top: 0.5rem;
}

/* line 442, app/assets/stylesheets/_pages.scss */
.ie-mockup-entity a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 448, app/assets/stylesheets/_pages.scss */
.ie-mockup-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
}

/* line 455, app/assets/stylesheets/_pages.scss */
.ie-mockup-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

/* line 460, app/assets/stylesheets/_pages.scss */
.ie-mockup-table th {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #6B7280;
  padding: 0.75rem 1rem;
  border-bottom: 2px solid #E5E7EB;
  white-space: nowrap;
}

/* line 471, app/assets/stylesheets/_pages.scss */
.ie-mockup-table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #F3F4F6;
  color: #1F2933;
  white-space: nowrap;
}

/* line 480, app/assets/stylesheets/_pages.scss */
.ie-mockup-election-card {
  background: #FFFFFF;
  border-radius: 12px;
  border: 1px solid #E5E7EB;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 488, app/assets/stylesheets/_pages.scss */
.ie-mockup-election-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 498, app/assets/stylesheets/_pages.scss */
.ie-mockup-election-title {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0;
}

/* line 505, app/assets/stylesheets/_pages.scss */
.ie-mockup-tabs {
  display: flex;
  gap: 0.25rem;
}

/* line 510, app/assets/stylesheets/_pages.scss */
.ie-mockup-tab {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background: transparent;
  color: #6B7280;
  border: none;
}

/* line 519, app/assets/stylesheets/_pages.scss */
.ie-mockup-tab.active {
  background: #E4EEF8;
  color: #123B66;
}

/* line 13, app/assets/stylesheets/_home.scss */
.home {
  background-color: #FFFFFF;
}

/* line 20, app/assets/stylesheets/_home.scss */
.home-hero {
  background: linear-gradient(180deg, #F4F7FC 0%, #FFFFFF 100%);
  padding: 5rem 0 3rem;
  overflow: hidden;
}

/* line 26, app/assets/stylesheets/_home.scss */
.home-hero-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

/* line 33, app/assets/stylesheets/_home.scss */
.home-hero-text {
  text-align: left;
}

/* line 37, app/assets/stylesheets/_home.scss */
.home-hero-title {
  font-size: 2.25rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
  margin-bottom: 1rem;
}

/* line 45, app/assets/stylesheets/_home.scss */
.home-hero-subtitle {
  font-size: 1.125rem;
  color: #4B5563;
  line-height: 1.6;
  margin-bottom: 2.5rem;
}

/* line 52, app/assets/stylesheets/_home.scss */
.home-hero-cta {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 58, app/assets/stylesheets/_home.scss */
.home-hero-image {
  position: relative;
}

/* line 62, app/assets/stylesheets/_home.scss */
.home-hero-screenshot {
  width: 100%;
  max-width: 600px;
  border-radius: 12px;
  box-shadow: 0 20px 25px rgba(31, 41, 51, 0.08), 0 10px 10px rgba(31, 41, 51, 0.03);
  border: 1px solid #E5E7EB;
  transform: perspective(1000px) rotateY(-5deg);
  transition: transform 0.2s ease;
}

/* line 71, app/assets/stylesheets/_home.scss */
.home-hero-screenshot:hover {
  transform: perspective(1000px) rotateY(0deg);
}

/* line 79, app/assets/stylesheets/_home.scss */
.home-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.875rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
  cursor: pointer;
  border: 2px solid transparent;
}

/* line 93, app/assets/stylesheets/_home.scss */
.home-btn-primary {
  background-color: #1F5C96;
  color: #FFFFFF;
  border-color: #1F5C96;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 99, app/assets/stylesheets/_home.scss */
.home-btn-primary:hover {
  background-color: #123B66;
  border-color: #123B66;
  color: #FFFFFF;
  transform: translateY(-1px);
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
}

/* line 108, app/assets/stylesheets/_home.scss */
.home-btn-secondary {
  background-color: transparent;
  color: #4B5563;
  border-color: #D1D5DB;
}

/* line 113, app/assets/stylesheets/_home.scss */
.home-btn-secondary:hover {
  background-color: #F9FAFB;
  color: #1F2933;
  border-color: #B8BFC7;
  transform: translateY(-1px);
}

/* line 121, app/assets/stylesheets/_home.scss */
.home-btn-lg {
  padding: 1rem 2.5rem;
  font-size: 1.125rem;
}

/* line 129, app/assets/stylesheets/_home.scss */
.home-section {
  padding: 5rem 0;
}

/* line 133, app/assets/stylesheets/_home.scss */
.home-section-alt {
  background-color: #F9FAFB;
}

/* line 137, app/assets/stylesheets/_home.scss */
.home-section-header {
  text-align: center;
  margin-bottom: 3rem;
}

/* line 142, app/assets/stylesheets/_home.scss */
.home-section-title {
  font-size: 1.875rem;
  font-weight: 600;
  color: #1F2933;
  margin-bottom: 1rem;
}

/* line 149, app/assets/stylesheets/_home.scss */
.home-section-subtitle {
  font-size: 1.125rem;
  color: #6B7280;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}

/* line 160, app/assets/stylesheets/_home.scss */
.home-coverage {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

/* line 166, app/assets/stylesheets/_home.scss */
.home-coverage-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 2rem;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 174, app/assets/stylesheets/_home.scss */
.home-coverage-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.75rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 183, app/assets/stylesheets/_home.scss */
.home-coverage-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-size: 1.5rem;
}

/* line 193, app/assets/stylesheets/_home.scss */
.home-coverage-icon-state {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 198, app/assets/stylesheets/_home.scss */
.home-coverage-icon-local {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 203, app/assets/stylesheets/_home.scss */
.home-coverage-title {
  font-size: 1.25rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 210, app/assets/stylesheets/_home.scss */
.home-coverage-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 216, app/assets/stylesheets/_home.scss */
.home-coverage-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid #F3F4F6;
}

/* line 223, app/assets/stylesheets/_home.scss */
.home-coverage-item:last-child {
  border-bottom: none;
}

/* line 227, app/assets/stylesheets/_home.scss */
.home-coverage-item i {
  color: #1F6B4E;
  font-size: 0.875rem;
  margin-top: 0.125rem;
  flex-shrink: 0;
}

/* line 234, app/assets/stylesheets/_home.scss */
.home-coverage-item span {
  font-size: 0.875rem;
  color: #4B5563;
  line-height: 1.4;
}

/* line 244, app/assets/stylesheets/_home.scss */
.home-audience-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

/* line 250, app/assets/stylesheets/_home.scss */
.home-audience-card {
  background: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 12px;
  padding: 2.25rem;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  text-decoration: none;
}

/* line 261, app/assets/stylesheets/_home.scss */
.home-audience-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  border-color: #4C7FB5;
  text-decoration: none;
}

/* line 269, app/assets/stylesheets/_home.scss */
.home-audience-icon {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 1.75rem;
  margin-bottom: 1.5rem;
}

/* line 280, app/assets/stylesheets/_home.scss */
.home-audience-icon-campaigns {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 285, app/assets/stylesheets/_home.scss */
.home-audience-icon-local {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 290, app/assets/stylesheets/_home.scss */
.home-audience-icon-capitol {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 295, app/assets/stylesheets/_home.scss */
.home-audience-title {
  font-size: 1.25rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 1rem;
}

/* line 302, app/assets/stylesheets/_home.scss */
.home-audience-description {
  font-size: 1rem;
  color: #4B5563;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  flex-grow: 1;
}

/* line 310, app/assets/stylesheets/_home.scss */
.home-audience-features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}

/* line 316, app/assets/stylesheets/_home.scss */
.home-audience-feature {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.375rem 0;
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 324, app/assets/stylesheets/_home.scss */
.home-audience-feature i {
  color: #127A7A;
  font-size: 0.875rem;
}

/* line 330, app/assets/stylesheets/_home.scss */
.home-audience-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  margin-top: auto;
}

/* line 340, app/assets/stylesheets/_home.scss */
.home-audience-link:hover {
  color: #123B66;
  text-decoration: none;
}

/* line 349, app/assets/stylesheets/_home.scss */
.home-capability-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

/* line 355, app/assets/stylesheets/_home.scss */
.home-capability-grid-two-up {
  grid-template-columns: repeat(2, 1fr);
}

/* line 359, app/assets/stylesheets/_home.scss */
.home-capability-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 2rem;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: all 0.2s ease;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 370, app/assets/stylesheets/_home.scss */
.home-capability-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  border-color: #4C7FB5;
  text-decoration: none;
}

/* line 376, app/assets/stylesheets/_home.scss */
.home-capability-card:hover .home-capability-link {
  color: #123B66;
}

/* line 382, app/assets/stylesheets/_home.scss */
.home-capability-icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #E4EEF8;
  color: #123B66;
  border-radius: 8px;
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}

/* line 395, app/assets/stylesheets/_home.scss */
.home-capability-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

/* line 403, app/assets/stylesheets/_home.scss */
.home-capability-description {
  font-size: 0.875rem;
  color: #6B7280;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  flex-grow: 1;
}

/* line 411, app/assets/stylesheets/_home.scss */
.home-capability-powered {
  font-size: 0.75rem;
  color: #9CA3AF;
  line-height: 1.5;
  padding: 0.75rem;
  background: #F9FAFB;
  border-radius: 6px;
  margin-bottom: 1rem;
}

/* line 421, app/assets/stylesheets/_home.scss */
.home-capability-label {
  font-weight: 500;
  color: #6B7280;
}

/* line 426, app/assets/stylesheets/_home.scss */
.home-capability-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  margin-top: auto;
  transition: color 0.15s ease;
}

/* line 436, app/assets/stylesheets/_home.scss */
.home-capability-link i {
  transition: transform 0.15s ease;
}

/* line 440, app/assets/stylesheets/_home.scss */
.home-capability-card:hover .home-capability-link i {
  transform: translateX(4px);
}

/* line 448, app/assets/stylesheets/_home.scss */
.home-credibility {
  background: linear-gradient(180deg, #FFFFFF 0%, #F9FAFB 100%);
  border-top: 1px solid #F3F4F6;
  border-bottom: 1px solid #F3F4F6;
  padding: 3rem 0;
}

/* line 455, app/assets/stylesheets/_home.scss */
.home-credibility-content {
  text-align: center;
}

/* line 459, app/assets/stylesheets/_home.scss */
.home-credibility-text {
  font-size: 1rem;
  color: #4B5563;
  line-height: 1.7;
  max-width: 800px;
  margin: 0 auto 2rem;
}

/* line 466, app/assets/stylesheets/_home.scss */
.home-credibility-text strong {
  color: #1F2933;
  font-weight: 500;
}

/* line 472, app/assets/stylesheets/_home.scss */
.home-credibility-stats {
  display: flex;
  justify-content: center;
  gap: 4rem;
  flex-wrap: wrap;
}

/* line 479, app/assets/stylesheets/_home.scss */
.home-credibility-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* line 485, app/assets/stylesheets/_home.scss */
.home-credibility-number {
  font-size: 1.5rem;
  font-weight: 700;
  color: #123B66;
  line-height: 1.2;
}

/* line 492, app/assets/stylesheets/_home.scss */
.home-credibility-label {
  font-size: 0.875rem;
  color: #6B7280;
  margin-top: 0.25rem;
}

/* line 501, app/assets/stylesheets/_home.scss */
.home-features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

/* line 507, app/assets/stylesheets/_home.scss */
.home-feature-tile {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.5rem;
  text-align: center;
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
  transition: all 0.15s ease;
}

/* line 516, app/assets/stylesheets/_home.scss */
.home-feature-tile:hover {
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  border-color: #A3C4E0;
}

/* line 522, app/assets/stylesheets/_home.scss */
.home-feature-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 1.5rem;
  margin: 0 auto 1rem;
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 535, app/assets/stylesheets/_home.scss */
.home-feature-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #323C47;
  line-height: 1.4;
}

/* line 545, app/assets/stylesheets/_home.scss */
.home-workflows-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 700px;
  margin: 0 auto;
}

/* line 553, app/assets/stylesheets/_home.scss */
.home-workflow-card {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.25rem 1.5rem;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 564, app/assets/stylesheets/_home.scss */
.home-workflow-card:hover {
  border-color: #4C7FB5;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  transform: translateX(4px);
  text-decoration: none;
}

/* line 572, app/assets/stylesheets/_home.scss */
.home-workflow-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #E4EEF8;
  color: #123B66;
  border-radius: 6px;
  font-size: 1.25rem;
  flex-shrink: 0;
}

/* line 585, app/assets/stylesheets/_home.scss */
.home-workflow-content {
  flex: 1;
  min-width: 0;
}

/* line 590, app/assets/stylesheets/_home.scss */
.home-workflow-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0 0 0.25rem 0;
}

/* line 597, app/assets/stylesheets/_home.scss */
.home-workflow-description {
  font-size: 0.875rem;
  color: #6B7280;
  margin: 0;
}

/* line 603, app/assets/stylesheets/_home.scss */
.home-workflow-arrow {
  color: #B8BFC7;
  font-size: 1.125rem;
  transition: all 0.15s ease;
}

/* line 608, app/assets/stylesheets/_home.scss */
.home-workflow-card:hover .home-workflow-arrow {
  color: #1F5C96;
  transform: translateX(4px);
}

/* line 614, app/assets/stylesheets/_home.scss */
.home-workflows-grid-expanded {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  max-width: 900px;
  margin: 0 auto;
}

/* line 622, app/assets/stylesheets/_home.scss */
.home-workflows-more {
  text-align: center;
  margin-top: 2rem;
}

/* line 627, app/assets/stylesheets/_home.scss */
.home-workflows-more-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  padding: 0.75rem 1.5rem;
  border: 2px solid #A3C4E0;
  border-radius: 8px;
  transition: all 0.15s ease;
}

/* line 640, app/assets/stylesheets/_home.scss */
.home-workflows-more-link:hover {
  background-color: #F4F7FC;
  border-color: #4C7FB5;
  color: #123B66;
  text-decoration: none;
}

/* line 647, app/assets/stylesheets/_home.scss */
.home-workflows-more-link i {
  transition: transform 0.15s ease;
}

/* line 651, app/assets/stylesheets/_home.scss */
.home-workflows-more-link:hover i {
  transform: translateX(4px);
}

/* line 659, app/assets/stylesheets/_home.scss */
.home-why {
  background: linear-gradient(180deg, #123B66 0%, #0B2742 100%);
  color: #FFFFFF;
  padding: 6rem 0;
}

/* line 665, app/assets/stylesheets/_home.scss */
.home-why-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

/* line 673, app/assets/stylesheets/_home.scss */
.home-why-problem h3 {
  font-size: 1.25rem;
  font-weight: 500;
  margin-bottom: 1rem;
  color: #A3C4E0;
}

/* line 680, app/assets/stylesheets/_home.scss */
.home-why-problem p {
  font-size: 1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.92);
  margin-bottom: 1rem;
}

/* line 686, app/assets/stylesheets/_home.scss */
.home-why-problem p:last-child {
  margin-bottom: 0;
}

/* line 692, app/assets/stylesheets/_home.scss */
.home-why-solution {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 2rem;
}

/* line 697, app/assets/stylesheets/_home.scss */
.home-why-solution h3 {
  font-size: 1.25rem;
  font-weight: 500;
  margin-bottom: 1rem;
  color: #FFFFFF;
}

/* line 704, app/assets/stylesheets/_home.scss */
.home-why-solution p {
  font-size: 1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.92);
  margin: 0;
}

/* line 715, app/assets/stylesheets/_home.scss */
.home-trust {
  text-align: center;
}

/* line 722, app/assets/stylesheets/_home.scss */
.home-testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

/* line 728, app/assets/stylesheets/_home.scss */
.home-testimonial {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 2rem;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  display: flex;
  flex-direction: column;
}

/* line 738, app/assets/stylesheets/_home.scss */
.home-testimonial-quote {
  font-size: 0.875rem;
  color: #4B5563;
  line-height: 1.6;
  margin: 0 0 1.5rem 0;
  font-style: italic;
  flex-grow: 1;
}

/* line 747, app/assets/stylesheets/_home.scss */
.home-testimonial-author {
  border-top: 1px solid #F3F4F6;
  padding-top: 1rem;
}

/* line 752, app/assets/stylesheets/_home.scss */
.home-testimonial-name {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 0.25rem;
}

/* line 759, app/assets/stylesheets/_home.scss */
.home-testimonial-title {
  font-size: 0.75rem;
  color: #6B7280;
  line-height: 1.4;
}

/* line 768, app/assets/stylesheets/_home.scss */
.home-final-cta {
  background-color: #F4F7FC;
  text-align: center;
}

/* line 773, app/assets/stylesheets/_home.scss */
.home-final-cta-title {
  font-size: 1.875rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 1rem;
}

/* line 780, app/assets/stylesheets/_home.scss */
.home-final-cta-subtitle {
  font-size: 1rem;
  color: #6B7280;
  margin-bottom: 2rem;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

/* line 789, app/assets/stylesheets/_home.scss */
.home-final-cta-actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

/* line 797, app/assets/stylesheets/_home.scss */
.home-pricing-link {
  font-size: 0.875rem;
  color: #6B7280;
  text-decoration: none;
}

/* line 802, app/assets/stylesheets/_home.scss */
.home-pricing-link a {
  color: #1F5C96;
  text-decoration: none;
  font-weight: 500;
}

/* line 807, app/assets/stylesheets/_home.scss */
.home-pricing-link a:hover {
  text-decoration: underline;
}

@media (max-width: 991px) {
  /* line 817, app/assets/stylesheets/_home.scss */
  .home-hero {
    padding: 4rem 0 3rem;
  }
  /* line 821, app/assets/stylesheets/_home.scss */
  .home-hero-content {
    grid-template-columns: 1fr;
    gap: 3rem;
    text-align: center;
  }
  /* line 827, app/assets/stylesheets/_home.scss */
  .home-hero-text {
    text-align: center;
    order: 1;
  }
  /* line 832, app/assets/stylesheets/_home.scss */
  .home-hero-image {
    order: 2;
    display: flex;
    justify-content: center;
  }
  /* line 838, app/assets/stylesheets/_home.scss */
  .home-hero-screenshot {
    transform: none;
    max-width: 500px;
  }
  /* line 842, app/assets/stylesheets/_home.scss */
  .home-hero-screenshot:hover {
    transform: none;
  }
  /* line 847, app/assets/stylesheets/_home.scss */
  .home-hero-title {
    font-size: 1.875rem;
  }
  /* line 851, app/assets/stylesheets/_home.scss */
  .home-hero-cta {
    justify-content: center;
  }
  /* line 855, app/assets/stylesheets/_home.scss */
  .home-section {
    padding: 4rem 0;
  }
  /* line 859, app/assets/stylesheets/_home.scss */
  .home-coverage {
    grid-template-columns: 1fr;
  }
  /* line 863, app/assets/stylesheets/_home.scss */
  .home-audience-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  /* line 868, app/assets/stylesheets/_home.scss */
  .home-capability-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  /* line 873, app/assets/stylesheets/_home.scss */
  .home-credibility-stats {
    gap: 2rem;
  }
  /* line 877, app/assets/stylesheets/_home.scss */
  .home-workflows-grid-expanded {
    grid-template-columns: 1fr;
    max-width: 600px;
  }
  /* line 882, app/assets/stylesheets/_home.scss */
  .home-features-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 886, app/assets/stylesheets/_home.scss */
  .home-why {
    padding: 4rem 0;
  }
  /* line 890, app/assets/stylesheets/_home.scss */
  .home-why-content {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  /* line 895, app/assets/stylesheets/_home.scss */
  .home-testimonials {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  /* line 900, app/assets/stylesheets/_home.scss */
  .home-workflows-grid {
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  /* line 906, app/assets/stylesheets/_home.scss */
  .home-hero {
    padding: 3rem 0 2rem;
  }
  /* line 910, app/assets/stylesheets/_home.scss */
  .home-hero-title {
    font-size: 1.5rem;
  }
  /* line 914, app/assets/stylesheets/_home.scss */
  .home-hero-subtitle {
    font-size: 1rem;
  }
  /* line 918, app/assets/stylesheets/_home.scss */
  .home-hero-cta {
    flex-direction: column;
    align-items: center;
  }
  /* line 922, app/assets/stylesheets/_home.scss */
  .home-hero-cta .home-btn {
    width: 100%;
    max-width: 280px;
  }
  /* line 928, app/assets/stylesheets/_home.scss */
  .home-hero-screenshot {
    max-width: 100%;
  }
  /* line 932, app/assets/stylesheets/_home.scss */
  .home-section {
    padding: 3rem 0;
  }
  /* line 936, app/assets/stylesheets/_home.scss */
  .home-section-title {
    font-size: 1.5rem;
  }
  /* line 940, app/assets/stylesheets/_home.scss */
  .home-section-subtitle {
    font-size: 1rem;
  }
  /* line 944, app/assets/stylesheets/_home.scss */
  .home-capability-card {
    padding: 1.5rem;
  }
  /* line 948, app/assets/stylesheets/_home.scss */
  .home-capability-icon {
    width: 48px;
    height: 48px;
    font-size: 1.25rem;
  }
  /* line 954, app/assets/stylesheets/_home.scss */
  .home-capability-title {
    font-size: 1rem;
  }
  /* line 958, app/assets/stylesheets/_home.scss */
  .home-credibility {
    padding: 2rem 0;
  }
  /* line 962, app/assets/stylesheets/_home.scss */
  .home-credibility-text {
    font-size: 0.875rem;
  }
  /* line 966, app/assets/stylesheets/_home.scss */
  .home-credibility-stats {
    gap: 1.5rem;
  }
  /* line 970, app/assets/stylesheets/_home.scss */
  .home-credibility-number {
    font-size: 1.25rem;
  }
  /* line 974, app/assets/stylesheets/_home.scss */
  .home-credibility-label {
    font-size: 0.75rem;
  }
  /* line 978, app/assets/stylesheets/_home.scss */
  .home-features-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  /* line 983, app/assets/stylesheets/_home.scss */
  .home-feature-tile {
    padding: 1rem;
  }
  /* line 987, app/assets/stylesheets/_home.scss */
  .home-final-cta-actions {
    flex-direction: column;
    align-items: center;
  }
  /* line 991, app/assets/stylesheets/_home.scss */
  .home-final-cta-actions .home-btn {
    width: 100%;
    max-width: 280px;
  }
  /* line 997, app/assets/stylesheets/_home.scss */
  .home-workflow-card {
    padding: 1rem 1.25rem;
  }
  /* line 1001, app/assets/stylesheets/_home.scss */
  .home-workflow-icon {
    width: 40px;
    height: 40px;
    font-size: 1.125rem;
  }
  /* line 1007, app/assets/stylesheets/_home.scss */
  .home-workflow-title {
    font-size: 0.875rem;
  }
  /* line 1011, app/assets/stylesheets/_home.scss */
  .home-workflow-description {
    font-size: 0.75rem;
  }
}

@media (max-width: 575px) {
  /* line 1017, app/assets/stylesheets/_home.scss */
  .home-hero-title {
    font-size: 1.75rem;
  }
  /* line 1021, app/assets/stylesheets/_home.scss */
  .home-coverage-card {
    padding: 1.5rem;
  }
  /* line 1025, app/assets/stylesheets/_home.scss */
  .home-audience-card {
    padding: 1.5rem;
  }
  /* line 1029, app/assets/stylesheets/_home.scss */
  .home-features-grid {
    grid-template-columns: 1fr;
  }
  /* line 1033, app/assets/stylesheets/_home.scss */
  .home-testimonial {
    padding: 1.5rem;
  }
}

/* line 14, app/assets/stylesheets/_sd_landing.scss */
.sd-landing {
  background-color: #FFFFFF;
}

/* line 21, app/assets/stylesheets/_sd_landing.scss */
.sd-testimonial {
  max-width: 720px;
  margin: 0 auto;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 2.5rem 3rem;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  text-align: center;
}

/* line 32, app/assets/stylesheets/_sd_landing.scss */
.sd-testimonial-quote {
  font-size: 1.125rem;
  color: #4B5563;
  line-height: 1.7;
  margin: 0 0 1.5rem 0;
  font-style: italic;
}

/* line 40, app/assets/stylesheets/_sd_landing.scss */
.sd-testimonial-author {
  border-top: 1px solid #F3F4F6;
  padding-top: 1.25rem;
}

/* line 45, app/assets/stylesheets/_sd_landing.scss */
.sd-testimonial-name {
  font-size: 1rem;
  font-weight: 600;
  color: #1F2933;
  margin-bottom: 0.25rem;
}

/* line 52, app/assets/stylesheets/_sd_landing.scss */
.sd-testimonial-title {
  font-size: 0.875rem;
  color: #6B7280;
  line-height: 1.4;
}

/* line 61, app/assets/stylesheets/_sd_landing.scss */
.sd-explore-strip {
  padding: 2.5rem 0;
  text-align: center;
}

/* line 66, app/assets/stylesheets/_sd_landing.scss */
.sd-explore-label {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-bottom: 0.75rem;
}

/* line 72, app/assets/stylesheets/_sd_landing.scss */
.sd-explore-links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.25rem 0.5rem;
}

/* line 80, app/assets/stylesheets/_sd_landing.scss */
.sd-explore-link {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
}

/* line 86, app/assets/stylesheets/_sd_landing.scss */
.sd-explore-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 92, app/assets/stylesheets/_sd_landing.scss */
.sd-explore-sep {
  color: #D1D5DB;
  font-size: 0.875rem;
}

@media (max-width: 767px) {
  /* line 101, app/assets/stylesheets/_sd_landing.scss */
  .sd-testimonial {
    padding: 1.5rem;
  }
  /* line 105, app/assets/stylesheets/_sd_landing.scss */
  .sd-testimonial-quote {
    font-size: 1rem;
  }
}

/* line 13, app/assets/stylesheets/_governor_polls.scss */
.governor-polls {
  background-color: #FFFFFF;
}

/* line 17, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-page {
  min-height: 100vh;
}

/* line 24, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-hero {
  background-color: #FFFFFF;
  padding: 4rem 0 3rem;
  text-align: center;
}

/* line 30, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-hero-content {
  max-width: 700px;
  margin: 0 auto;
}

/* line 35, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-title {
  font-size: 2.25rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 1rem;
  white-space: nowrap;
}

@media (max-width: 767px) {
  /* line 35, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-title {
    white-space: normal;
  }
}

/* line 46, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-title .gov-polls-title-break {
  display: none;
}

@media (max-width: 767px) {
  /* line 46, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-title .gov-polls-title-break {
    display: block;
  }
}

/* line 55, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-subtitle {
  font-size: 1.125rem;
  color: #4B5563;
  line-height: 1.6;
  margin-bottom: 1rem;
}

/* line 62, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-updated {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

/* line 71, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-finance-bridge {
  padding: 2rem 0;
}

/* line 75, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-finance-bridge-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-left: 3px solid #1F5C96;
  border-radius: 6px;
  padding: 1rem 1.25rem;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 88, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-finance-bridge-content {
  flex: 1;
  min-width: 0;
}

/* line 93, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-finance-bridge-text {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.5;
}

/* line 98, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-finance-bridge-text strong {
  color: #1F2933;
}

/* line 102, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-finance-bridge-text .gov-polls-finance-bridge-detail {
  color: #4B5563;
}

/* line 105, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-finance-bridge-text .gov-polls-finance-bridge-detail::before {
  content: " — ";
}

/* line 111, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-finance-bridge-action {
  flex-shrink: 0;
}

/* line 114, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-finance-bridge-action .bb-btn {
  white-space: nowrap;
}

/* line 117, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-finance-bridge-action .bb-btn i {
  margin-right: 0.375rem;
}

@media (max-width: 767px) {
  /* line 124, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-finance-bridge-inner {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
  }
  /* line 131, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-finance-bridge-text .gov-polls-finance-bridge-detail {
    display: block;
    margin-top: 0.25rem;
  }
  /* line 132, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-finance-bridge-text .gov-polls-finance-bridge-detail::before {
    content: none;
  }
  /* line 141, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-finance-bridge-action {
    width: 100%;
  }
  /* line 144, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-finance-bridge-action .bb-btn {
    width: 100%;
    justify-content: center;
  }
}

/* line 154, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table tr.gov-polls-average-row {
  background-color: #E4EEF8;
}

/* line 157, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table tr.gov-polls-average-row td {
  background-color: #E4EEF8 !important;
  border-bottom: 1px solid #A3C4E0;
}

/* line 162, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table tr.gov-polls-average-row:hover td {
  background-color: #A3C4E0 !important;
}

/* line 166, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table tr.gov-polls-average-row .average-label {
  font-weight: 500;
  color: #0B2742;
}

/* line 171, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table tr.gov-polls-average-row .average-sublabel {
  font-size: 0.75rem;
  color: #1F5C96;
  margin-top: 1px;
}

/* line 177, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table tr.gov-polls-average-row .average-percent {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  color: #0B2742;
}

/* line 187, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-average-card {
  background: #E4EEF8;
  border: 1px solid #4C7FB5;
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 0.5rem;
}

/* line 195, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-average-card-header {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  margin-bottom: 0.75rem;
}

/* line 202, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-average-card-title {
  font-weight: 500;
  color: #0B2742;
  font-size: 0.875rem;
}

/* line 208, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-average-card-subtitle {
  font-size: 0.75rem;
  color: #1F5C96;
}

/* line 213, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-average-card-results {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 219, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-average-card-result {
  display: grid;
  grid-template-columns: 1fr auto 60px;
  align-items: center;
  gap: 0.5rem;
}

/* line 226, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-average-card-candidate {
  font-size: 0.875rem;
  color: #4B5563;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 234, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-average-card-percent {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #123B66;
  text-align: right;
}

/* line 242, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-average-card-bar {
  height: 6px;
  background: #E4EEF8;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 249, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-average-card-bar-fill {
  height: 100%;
  background: #1F5C96;
  border-radius: 9999px;
}

/* line 258, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table-section {
  padding: 0 0 3rem;
}

/* line 262, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 270, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 278, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 288, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table-help {
  color: #B8BFC7;
  font-size: 0.875rem;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 294, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table-help:hover {
  color: #1F5C96;
}

/* line 299, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-count {
  font-size: 0.875rem;
  color: #9CA3AF;
  font-weight: 500;
}

/* line 305, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table-scroll-container {
  position: relative;
}

/* line 309, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table-scroll-container::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 40px;
  background: linear-gradient(to right, transparent, #FFFFFF);
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.15s ease;
  z-index: 1;
}

/* line 324, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table-scroll-container.scrolled-end::after {
  opacity: 0;
}

/* line 329, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table-wrapper {
  overflow-x: auto;
}

/* line 333, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

/* line 338, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table th {
  padding: 0.75rem 0.75rem;
  text-align: left;
  font-weight: 500;
  color: #6B7280;
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
  white-space: nowrap;
}

/* line 347, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table th.col-candidate, .gov-polls-table th.col-undecided {
  text-align: center;
  padding: 0.75rem 0.5rem;
}

/* line 353, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table th.col-link {
  width: 40px;
  padding: 0.75rem 0.5rem;
}

/* line 358, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table th.col-sample, .gov-polls-table th.col-pop {
  padding: 0.75rem 0.5rem;
}

/* line 364, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table td {
  padding: 0.75rem 0.75rem;
  color: #323C47;
  border-bottom: 1px solid #F3F4F6;
  vertical-align: middle;
  white-space: nowrap;
  background: #FFFFFF;
}

/* line 372, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table td.col-candidate, .gov-polls-table td.col-undecided {
  text-align: center;
  padding: 0.75rem 0.5rem;
}

/* line 378, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table td.col-sample, .gov-polls-table td.col-pop, .gov-polls-table td.col-link {
  padding: 0.75rem 0.5rem;
}

/* line 386, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table th.sticky-last,
.gov-polls-table td.sticky-last {
  box-shadow: 4px 0 8px -4px rgba(0, 0, 0, 0.15);
}

/* line 391, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table tbody tr {
  transition: background-color 0.15s ease;
}

/* line 394, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table tbody tr:hover {
  background-color: #F9FAFB;
}

/* line 397, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table tbody tr:hover td {
  background-color: #F9FAFB;
}

/* line 402, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 408, app/assets/stylesheets/_governor_polls.scss */
.pollster-name {
  font-weight: 500;
  color: #1F2933;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 416, app/assets/stylesheets/_governor_polls.scss */
.pollster-name a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 420, app/assets/stylesheets/_governor_polls.scss */
.pollster-name a:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 427, app/assets/stylesheets/_governor_polls.scss */
.pollster-sponsor {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 2px;
}

/* line 433, app/assets/stylesheets/_governor_polls.scss */
.poll-field-dates {
  white-space: nowrap;
}

/* line 437, app/assets/stylesheets/_governor_polls.scss */
.poll-release-date {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 2px;
  white-space: nowrap;
}

/* line 445, app/assets/stylesheets/_governor_polls.scss */
.partisan-badge {
  display: inline-block;
  padding: 0.125rem 0.375rem;
  font-size: 0.625rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  background-color: #F8F5ED;
  color: #8A6A06;
  border-radius: 4px;
}

/* line 458, app/assets/stylesheets/_governor_polls.scss */
.excluded-badge {
  display: inline-block;
  padding: 0.125rem 0.375rem;
  font-size: 0.625rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  background-color: #E5E7EB;
  color: #6B7280;
  border-radius: 4px;
}

/* line 471, app/assets/stylesheets/_governor_polls.scss */
.poll-row-partisan {
  background-color: rgba(248, 245, 237, 0.3);
}

/* line 474, app/assets/stylesheets/_governor_polls.scss */
.poll-row-partisan td {
  background-color: #fdfcfa;
}

/* line 480, app/assets/stylesheets/_governor_polls.scss */
.poll-row-excluded {
  background-color: #F9FAFB;
  opacity: 0.7;
}

/* line 484, app/assets/stylesheets/_governor_polls.scss */
.poll-row-excluded td {
  background-color: #F9FAFB;
}

/* line 488, app/assets/stylesheets/_governor_polls.scss */
.poll-row-excluded .candidate-percent,
.poll-row-excluded .undecided-percent {
  color: #9CA3AF;
}

/* line 494, app/assets/stylesheets/_governor_polls.scss */
.moe {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-left: 4px;
}

/* line 501, app/assets/stylesheets/_governor_polls.scss */
.pop-badge {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* line 511, app/assets/stylesheets/_governor_polls.scss */
.pop-lv {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 516, app/assets/stylesheets/_governor_polls.scss */
.pop-rv {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 521, app/assets/stylesheets/_governor_polls.scss */
.pop-a {
  background-color: #F3F4F6;
  color: #6B7280;
}

/* line 526, app/assets/stylesheets/_governor_polls.scss */
.candidate-percent {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  color: #1F2933;
}

/* line 532, app/assets/stylesheets/_governor_polls.scss */
.candidate-na {
  color: #B8BFC7;
}

/* line 536, app/assets/stylesheets/_governor_polls.scss */
.undecided-percent {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  color: #9CA3AF;
}

/* line 542, app/assets/stylesheets/_governor_polls.scss */
.poll-source-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: #B8BFC7;
  border-radius: 4px;
  transition: all 0.15s ease;
}

/* line 552, app/assets/stylesheets/_governor_polls.scss */
.poll-source-link:hover {
  color: #1F5C96;
  background-color: #F4F7FC;
}

/* line 557, app/assets/stylesheets/_governor_polls.scss */
.poll-source-link i {
  font-size: 0.875rem;
}

/* line 562, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table-empty {
  padding: 3rem;
  text-align: center;
  color: #9CA3AF;
}

/* line 567, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-table-empty p {
  margin: 0;
}

/* line 575, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-cta {
  padding: 4rem 0;
  background-color: #F4F7FC;
  text-align: center;
}

/* line 581, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-cta-content {
  max-width: 600px;
  margin: 0 auto;
}

/* line 585, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-cta-content h2 {
  font-size: 1.5rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0 0 0.75rem;
}

/* line 592, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-cta-content p {
  font-size: 1rem;
  color: #6B7280;
  line-height: 1.6;
  margin: 0 0 1.5rem;
}

/* line 600, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-cta-actions {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 608, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
  cursor: pointer;
  border: 2px solid transparent;
}

/* line 622, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-btn-primary {
  background-color: #1F5C96;
  color: #FFFFFF;
  border-color: #1F5C96;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 628, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-btn-primary:hover {
  background-color: #123B66;
  border-color: #123B66;
  color: #FFFFFF;
  text-decoration: none;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 637, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-btn-secondary {
  background-color: transparent;
  color: #4B5563;
  border-color: #D1D5DB;
}

/* line 642, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-btn-secondary:hover {
  background-color: #F9FAFB;
  color: #1F2933;
  border-color: #B8BFC7;
  text-decoration: none;
}

/* line 653, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-desktop-only {
  display: block;
}

/* line 657, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-mobile-only {
  display: none !important;
}

/* line 661, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-cards {
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
}

/* line 667, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1rem;
}

/* line 673, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card--partisan {
  border-left: 3px solid #8A6A06;
  background: #F8F5ED;
}

/* line 678, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card--excluded {
  opacity: 0.7;
  background: #F9FAFB;
}

/* line 684, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.5rem;
}

/* line 691, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-pollster {
  font-weight: 500;
  color: #1F2933;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

/* line 699, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-pollster a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 705, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-date {
  font-size: 0.875rem;
  color: #9CA3AF;
  white-space: nowrap;
}

/* line 711, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-sponsor {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-bottom: 0.75rem;
}

/* line 717, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-results {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0.75rem 0;
  padding: 0.75rem 0;
  border-top: 1px solid #F3F4F6;
  border-bottom: 1px solid #F3F4F6;
}

/* line 727, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-result {
  display: grid;
  grid-template-columns: 1fr auto 60px;
  align-items: center;
  gap: 0.5rem;
}

/* line 733, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-result--undecided {
  opacity: 0.6;
}

/* line 736, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-result--undecided .gov-polls-card-bar {
  display: none;
}

/* line 741, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-result--extra {
  display: none;
}

/* line 746, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-show-more {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F5C96;
  background: #F4F7FC;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  align-self: flex-start;
}

/* line 757, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-show-more:hover {
  background: #E4EEF8;
}

/* line 763, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-results.expanded .gov-polls-card-result--extra {
  display: grid;
}

/* line 767, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-results.expanded .gov-polls-card-show-more {
  display: none;
}

/* line 772, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-candidate {
  font-size: 0.875rem;
  color: #4B5563;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 780, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-percent {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  text-align: right;
}

/* line 788, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-bar {
  height: 6px;
  background: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 795, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-bar-fill {
  height: 100%;
  background: #1F5C96;
  border-radius: 9999px;
}

/* line 801, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.75rem;
}

/* line 808, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-sample {
  color: #9CA3AF;
}

/* line 812, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-link {
  margin-left: auto;
  color: #B8BFC7;
}

/* line 816, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card-link:hover {
  color: #1F5C96;
}

/* line 821, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-card--hidden {
  display: none;
}

/* line 825, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-cards-expand {
  width: 100%;
  padding: 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  background: #FFFFFF;
  border: 1px dashed #D1D5DB;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 837, app/assets/stylesheets/_governor_polls.scss */
.gov-polls-cards-expand:hover {
  background: #F4F7FC;
  border-color: #4C7FB5;
}

@media (max-width: 991px) {
  /* line 847, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-hero {
    padding: 3rem 0 2rem;
  }
  /* line 851, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-title {
    font-size: 1.875rem;
  }
}

@media (max-width: 767px) {
  /* line 857, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-hero {
    padding: 2rem 0 1.5rem;
  }
  /* line 861, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-title {
    font-size: 1.5rem;
  }
  /* line 865, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-subtitle {
    font-size: 1rem;
  }
  /* line 869, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-table {
    font-size: 0.75rem;
  }
  /* line 872, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-table th, .gov-polls-table td {
    padding: 0.5rem 0.75rem;
  }
  /* line 877, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-cta {
    padding: 3rem 0;
  }
  /* line 881, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-cta-actions {
    flex-direction: column;
    align-items: center;
  }
  /* line 885, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-cta-actions .gov-polls-btn {
    width: 100%;
    max-width: 280px;
  }
  /* line 892, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-desktop-only {
    display: none !important;
  }
  /* line 896, app/assets/stylesheets/_governor_polls.scss */
  .gov-polls-mobile-only {
    display: flex !important;
  }
}

/* line 4, app/assets/stylesheets/_marketing.scss */
.marketing-nav-gray {
  background-color: #f8f9fa !important;
}

/* line 11, app/assets/stylesheets/_marketing.scss */
.navbar .dropdown-item:hover, .navbar .dropdown-item:focus, .navbar .dropdown-item:active {
  background-color: var(--blue-grey-100) !important;
  color: var(--blue-grey-900) !important;
}

/* line 18, app/assets/stylesheets/_marketing.scss */
.navbar .dropdown-item.sign-out-item {
  color: var(--blue-grey-700);
}

/* line 21, app/assets/stylesheets/_marketing.scss */
.navbar .dropdown-item.sign-out-item:hover, .navbar .dropdown-item.sign-out-item:focus, .navbar .dropdown-item.sign-out-item:active {
  background-color: var(--blue-grey-100) !important;
  color: var(--blue-grey-900) !important;
}

/* line 31, app/assets/stylesheets/_marketing.scss */
.navbar .user-dropdown-toggle {
  color: var(--blue-grey-700) !important;
  border-color: var(--blue-grey-300) !important;
  background-color: white !important;
}

/* line 36, app/assets/stylesheets/_marketing.scss */
.navbar .user-dropdown-toggle:hover {
  background-color: var(--blue-grey-050) !important;
  border-color: var(--blue-grey-400) !important;
  color: var(--blue-grey-900) !important;
}

/* line 42, app/assets/stylesheets/_marketing.scss */
.navbar .user-dropdown-toggle:active, .navbar .user-dropdown-toggle:focus, .navbar .user-dropdown-toggle.show {
  background-color: var(--blue-grey-100) !important;
  border-color: var(--blue-grey-400) !important;
  color: var(--blue-grey-900) !important;
  box-shadow: 0 0 0 0.2rem rgba(72, 101, 129, 0.15) !important;
}

/* line 54, app/assets/stylesheets/_marketing.scss */
.marketing-nav-search {
  width: 300px;
}

@media (min-width: 1200px) {
  /* line 54, app/assets/stylesheets/_marketing.scss */
  .marketing-nav-search {
    width: 350px;
  }
}

/* line 64, app/assets/stylesheets/_marketing.scss */
.marketing-nav-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  transition: all 0.2s ease;
}

@media (max-width: 576px) {
  /* line 64, app/assets/stylesheets/_marketing.scss */
  .marketing-nav-actions .btn {
    font-size: 0.875rem;
    padding: 0.375rem 0.75rem;
  }
}

/* line 78, app/assets/stylesheets/_marketing.scss */
.marketing-nav-cta {
  background-color: var(--light-blue-vivid-600) !important;
  color: white !important;
  border: none !important;
}

/* line 83, app/assets/stylesheets/_marketing.scss */
.marketing-nav-cta:hover {
  background-color: var(--light-blue-vivid-700) !important;
  color: white !important;
}

/* line 90, app/assets/stylesheets/_marketing.scss */
.navbar .btn-link {
  border: none;
  background: none;
}

/* line 94, app/assets/stylesheets/_marketing.scss */
.navbar .btn-link:hover {
  background-color: var(--blue-grey-100);
  border-radius: 0.375rem;
}

/* line 99, app/assets/stylesheets/_marketing.scss */
.navbar .btn-link:focus {
  box-shadow: 0 0 0 0.2rem rgba(72, 101, 129, 0.25);
}

/* line 106, app/assets/stylesheets/_marketing.scss */
.navbar .dropdown-menu .dropdown-item {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
  font-size: 0.95rem;
}

@media (max-width: 768px) {
  /* line 106, app/assets/stylesheets/_marketing.scss */
  .navbar .dropdown-menu .dropdown-item {
    padding: 0.875rem 1rem;
    font-size: 1rem;
  }
}

/* line 118, app/assets/stylesheets/_marketing.scss */
.navbar .dropdown-menu .dropdown-item i {
  width: 20px;
  flex-shrink: 0;
}

/* line 126, app/assets/stylesheets/_marketing.scss */
.logo-image {
  height: 40px;
  transition: height 0.2s ease;
}

@media (max-width: 768px) {
  /* line 126, app/assets/stylesheets/_marketing.scss */
  .logo-image {
    height: 36px;
  }
}

@media (max-width: 576px) {
  /* line 126, app/assets/stylesheets/_marketing.scss */
  .logo-image {
    height: 32px;
  }
}

/* line 140, app/assets/stylesheets/_marketing.scss */
.navbar {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

@media (max-width: 768px) {
  /* line 140, app/assets/stylesheets/_marketing.scss */
  .navbar {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}

@media (max-width: 576px) {
  /* line 149, app/assets/stylesheets/_marketing.scss */
  .navbar .container {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}

@media (max-width: 1199px) {
  /* line 159, app/assets/stylesheets/_marketing.scss */
  .navbar-collapse {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--blue-grey-200);
  }
  /* line 166, app/assets/stylesheets/_marketing.scss */
  .navbar-nav .nav-link {
    padding: 0.75rem 1rem !important;
    border-radius: 0.375rem;
    margin-bottom: 0.25rem;
  }
  /* line 171, app/assets/stylesheets/_marketing.scss */
  .navbar-nav .nav-link:hover {
    background-color: var(--blue-grey-100);
  }
  /* line 177, app/assets/stylesheets/_marketing.scss */
  .marketing-nav-actions {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--blue-grey-200);
  }
}

@media (max-width: 576px) {
  /* line 186, app/assets/stylesheets/_marketing.scss */
  .navbar-brand {
    flex-grow: 1;
  }
  /* line 191, app/assets/stylesheets/_marketing.scss */
  .navbar-nav .nav-link {
    font-size: 1rem;
    padding: 0.875rem 1rem !important;
  }
  /* line 197, app/assets/stylesheets/_marketing.scss */
  .dropdown-menu {
    width: 100% !important;
    max-width: none !important;
    margin-top: 0.5rem !important;
  }
  /* line 204, app/assets/stylesheets/_marketing.scss */
  .marketing-nav-actions .btn {
    min-height: 44px;
    font-size: 1rem;
  }
  /* line 209, app/assets/stylesheets/_marketing.scss */
  .marketing-nav-actions .dropdown-toggle {
    text-align: left;
  }
}

/* line 218, app/assets/stylesheets/_marketing.scss */
#mobileSearch .global-search input {
  font-size: 1rem;
  padding: 0.75rem 0.5rem;
}

/* line 230, app/assets/stylesheets/_marketing.scss */
.navbar .nav-link:focus,
.navbar .dropdown-toggle:focus,
.navbar .btn:focus {
  outline: none;
  box-shadow: 0 0 0 0.2rem rgba(25, 146, 212, 0.15);
}

/* line 235, app/assets/stylesheets/_marketing.scss */
.navbar .nav-link:focus:not(:focus-visible),
.navbar .dropdown-toggle:focus:not(:focus-visible),
.navbar .btn:focus:not(:focus-visible) {
  box-shadow: none;
}

/* line 242, app/assets/stylesheets/_marketing.scss */
.navbar .dropdown-toggle:focus {
  box-shadow: none;
}

/* line 246, app/assets/stylesheets/_marketing.scss */
.navbar .dropdown-toggle.show {
  background-color: var(--blue-grey-100);
  border-color: var(--blue-grey-200);
  box-shadow: none;
}

@media (hover: hover) {
  /* line 257, app/assets/stylesheets/_marketing.scss */
  .navbar .nav-link:hover {
    color: var(--light-blue-vivid-600);
  }
  /* line 261, app/assets/stylesheets/_marketing.scss */
  .navbar .dropdown-item:hover {
    transform: translateX(2px);
    transition: transform 0.15s ease;
  }
}

@media (prefers-contrast: high) {
  /* line 270, app/assets/stylesheets/_marketing.scss */
  .navbar {
    border-bottom: 2px solid var(--blue-grey-900) !important;
  }
  /* line 273, app/assets/stylesheets/_marketing.scss */
  .navbar .nav-link,
.navbar .dropdown-item {
    border: 1px solid transparent;
  }
  /* line 277, app/assets/stylesheets/_marketing.scss */
  .navbar .nav-link:focus,
.navbar .dropdown-item:focus {
    border-color: var(--blue-grey-900);
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 286, app/assets/stylesheets/_marketing.scss */
  .navbar * {
    transition: none !important;
    animation: none !important;
  }
}

/* line 293, app/assets/stylesheets/_marketing.scss */
.mockup-container {
  background-color: white;
  border-radius: 0.75rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  padding: 0.75rem;
}

@media (min-width: 768px) {
  /* line 293, app/assets/stylesheets/_marketing.scss */
  .mockup-container {
    padding: 1rem;
  }
}

/* line 303, app/assets/stylesheets/_marketing.scss */
.mockup-container .mockup-content {
  border: 1px solid var(--blue-grey-200);
  border-radius: 0.75rem;
  padding: 1rem;
  background-color: var(--blue-grey-050);
}

/* line 313, app/assets/stylesheets/_marketing.scss */
.feature-section.feature-section-light {
  background-color: var(--blue-grey-050);
}

/* line 317, app/assets/stylesheets/_marketing.scss */
.feature-section .feature-title {
  color: var(--light-blue-vivid-600);
}

/* line 323, app/assets/stylesheets/_marketing.scss */
.feature-icon {
  font-size: 2rem;
  color: var(--light-blue-vivid-600);
  display: block;
  margin-bottom: 0.75rem;
}

/* line 332, app/assets/stylesheets/_marketing.scss */
.benefits-grid .benefit-icon {
  font-size: 1rem;
}

/* line 335, app/assets/stylesheets/_marketing.scss */
.benefits-grid .benefit-icon.benefit-icon-primary {
  color: var(--light-blue-vivid-600);
}

/* line 339, app/assets/stylesheets/_marketing.scss */
.benefits-grid .benefit-icon.benefit-icon-success {
  color: var(--green-600);
}

/* line 346, app/assets/stylesheets/_marketing.scss */
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

/* line 352, app/assets/stylesheets/_marketing.scss */
.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* line 362, app/assets/stylesheets/_marketing.scss */
.cf-dashboard-card {
  border: 1px solid var(--light-blue-vivid-200);
}

/* line 365, app/assets/stylesheets/_marketing.scss */
.cf-dashboard-card .cf-dashboard-cta {
  background-color: var(--light-blue-vivid-600);
  color: white;
}

/* line 369, app/assets/stylesheets/_marketing.scss */
.cf-dashboard-card .cf-dashboard-cta:hover {
  background-color: var(--light-blue-vivid-700);
}

/* line 376, app/assets/stylesheets/_marketing.scss */
.financial-summary-card {
  background-color: var(--blue-grey-050);
  border: 1px solid var(--blue-grey-200);
}

/* line 380, app/assets/stylesheets/_marketing.scss */
.financial-summary-card .financial-metric {
  background-color: white;
  border-radius: 0.5rem;
  padding: 0.75rem;
  text-align: center;
}

/* line 386, app/assets/stylesheets/_marketing.scss */
.financial-summary-card .financial-metric .metric-label {
  color: var(--gray-600);
  font-size: 0.75rem;
  margin-bottom: 0.25rem;
}

/* line 392, app/assets/stylesheets/_marketing.scss */
.financial-summary-card .financial-metric .metric-value {
  font-weight: bold;
  margin-bottom: 0;
}

/* line 396, app/assets/stylesheets/_marketing.scss */
.financial-summary-card .financial-metric .metric-value.metric-contributions {
  color: var(--teal-600);
}

/* line 400, app/assets/stylesheets/_marketing.scss */
.financial-summary-card .financial-metric .metric-value.metric-cash {
  color: var(--light-blue-vivid-600);
}

/* line 406, app/assets/stylesheets/_marketing.scss */
.financial-summary-card .financial-details {
  background-color: white;
  border-radius: 0.5rem;
  padding: 0.5rem;
}

/* line 411, app/assets/stylesheets/_marketing.scss */
.financial-summary-card .financial-details .detail-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.25rem;
}

/* line 416, app/assets/stylesheets/_marketing.scss */
.financial-summary-card .financial-details .detail-row .detail-label {
  color: var(--gray-600);
}

/* line 425, app/assets/stylesheets/_marketing.scss */
.activity-feed-mockup .activity-item {
  display: flex;
  align-items: center;
  padding: 0.5rem;
  background-color: white;
  border-radius: 0.5rem;
}

/* line 432, app/assets/stylesheets/_marketing.scss */
.activity-feed-mockup .activity-item .activity-indicator {
  font-size: 8px;
  margin-right: 0.5rem;
}

/* line 436, app/assets/stylesheets/_marketing.scss */
.activity-feed-mockup .activity-item .activity-indicator.indicator-success {
  color: var(--green-600);
}

/* line 440, app/assets/stylesheets/_marketing.scss */
.activity-feed-mockup .activity-item .activity-indicator.indicator-info {
  color: var(--cyan-600);
}

/* line 444, app/assets/stylesheets/_marketing.scss */
.activity-feed-mockup .activity-item .activity-indicator.indicator-warning {
  color: var(--yellow-600);
}

/* line 449, app/assets/stylesheets/_marketing.scss */
.activity-feed-mockup .activity-item .activity-content {
  flex-grow: 1;
}

/* line 452, app/assets/stylesheets/_marketing.scss */
.activity-feed-mockup .activity-item .activity-content small {
  display: block;
}

/* line 455, app/assets/stylesheets/_marketing.scss */
.activity-feed-mockup .activity-item .activity-content small.activity-title {
  font-weight: bold;
}

/* line 459, app/assets/stylesheets/_marketing.scss */
.activity-feed-mockup .activity-item .activity-content small.activity-details {
  color: var(--gray-600);
}

/* line 465, app/assets/stylesheets/_marketing.scss */
.activity-feed-mockup .activity-item .activity-time {
  font-size: 0.875rem;
  color: var(--gray-600);
}

/* line 471, app/assets/stylesheets/_marketing.scss */
.activity-feed-mockup .activity-filter-buttons {
  margin-top: 0.75rem;
}

/* line 474, app/assets/stylesheets/_marketing.scss */
.activity-feed-mockup .activity-filter-buttons .btn-filter-active {
  background-color: var(--cyan-600);
  color: white;
}

/* line 483, app/assets/stylesheets/_marketing.scss */
.contributor-list-mockup .contributor-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem;
  background-color: white;
  border-radius: 0.5rem;
}

/* line 492, app/assets/stylesheets/_marketing.scss */
.contributor-list-mockup .contributor-item .contributor-info .contributor-name {
  font-weight: bold;
  font-size: 0.875rem;
}

/* line 497, app/assets/stylesheets/_marketing.scss */
.contributor-list-mockup .contributor-item .contributor-info .contributor-details {
  font-size: 0.75rem;
  color: var(--gray-600);
}

/* line 503, app/assets/stylesheets/_marketing.scss */
.contributor-list-mockup .contributor-item .contributor-amount {
  font-weight: bold;
  color: var(--light-blue-vivid-600);
}

/* line 509, app/assets/stylesheets/_marketing.scss */
.contributor-list-mockup .export-button {
  width: 100%;
  margin-top: 0.75rem;
}

/* line 2, app/assets/stylesheets/_footer.scss */
.site-footer {
  background-color: var(--blue-grey-050) !important;
  border-top: 1px solid var(--blue-grey-100);
}

/* line 6, app/assets/stylesheets/_footer.scss */
.site-footer .footer-logo {
  height: 32px;
  max-width: 100%;
  object-fit: contain;
}

/* line 12, app/assets/stylesheets/_footer.scss */
.site-footer h6 {
  color: var(--blue-grey-700);
  font-weight: 500;
}

/* line 17, app/assets/stylesheets/_footer.scss */
.site-footer a {
  transition: color 0.15s ease-in-out;
}

/* line 20, app/assets/stylesheets/_footer.scss */
.site-footer a:hover {
  color: var(--light-blue-vivid-600) !important;
}

/* line 26, app/assets/stylesheets/_footer.scss */
.site-footer .social-links .btn {
  border-color: var(--blue-grey-200);
  color: var(--blue-grey-600);
  font-size: 0.875rem;
  padding: 0.375rem 0.75rem;
}

/* line 32, app/assets/stylesheets/_footer.scss */
.site-footer .social-links .btn:hover {
  background-color: var(--light-blue-vivid-600);
  border-color: var(--light-blue-vivid-600);
  color: white !important;
}

/* line 38, app/assets/stylesheets/_footer.scss */
.site-footer .social-links .btn i {
  font-size: 0.875rem;
}

/* line 44, app/assets/stylesheets/_footer.scss */
.site-footer hr {
  border-color: var(--blue-grey-200);
}

@media (max-width: 767px) {
  /* line 50, app/assets/stylesheets/_footer.scss */
  .site-footer .footer-logo {
    height: 28px;
  }
  /* line 55, app/assets/stylesheets/_footer.scss */
  .site-footer .social-links .btn {
    font-size: 0.8rem;
    padding: 0.3rem 0.6rem;
  }
  /* line 59, app/assets/stylesheets/_footer.scss */
  .site-footer .social-links .btn i {
    font-size: 0.8rem;
  }
  /* line 65, app/assets/stylesheets/_footer.scss */
  .site-footer h6 {
    font-size: 1rem;
  }
}

@media (max-width: 575px) {
  /* line 72, app/assets/stylesheets/_footer.scss */
  .site-footer .social-links .btn {
    display: block;
    width: 100%;
    margin-bottom: 0.5rem;
    margin-right: 0 !important;
  }
}

/* line 4, app/assets/stylesheets/candidates.scss */
.candidates-container .office-section {
  margin-bottom: 2.5rem;
}

/* line 7, app/assets/stylesheets/candidates.scss */
.candidates-container .office-section:last-child {
  margin-bottom: 0;
}

/* line 13, app/assets/stylesheets/candidates.scss */
.candidates-container .office-header {
  background-color: var(--blue-grey-050);
  border-left: 4px solid var(--blue-grey-400);
  border-bottom: 2px solid var(--blue-grey-200);
  padding: 0.875rem 1rem;
  margin-bottom: 1rem;
  border-radius: 2px;
}

/* line 21, app/assets/stylesheets/candidates.scss */
.candidates-container .office-header .office-title {
  font-weight: 500;
  color: var(--blue-grey-800);
  font-size: 1.125rem;
}

/* line 28, app/assets/stylesheets/candidates.scss */
.candidates-container .candidate-office-link {
  color: var(--blue-grey-800);
  text-decoration: none;
  transition: color 0.2s;
}

/* line 33, app/assets/stylesheets/candidates.scss */
.candidates-container .candidate-office-link:hover {
  color: var(--blue-grey-600);
}

/* line 38, app/assets/stylesheets/candidates.scss */
.candidates-container .candidate-count-badge {
  background-color: var(--blue-grey-200);
  color: var(--blue-grey-700);
  font-size: 0.875rem;
  padding: 0.375rem 0.75rem;
  border-radius: 4px;
  font-weight: 500;
}

/* line 48, app/assets/stylesheets/candidates.scss */
.candidates-container .candidate-card {
  border: 1px solid var(--blue-grey-200);
  border-radius: 6px;
  background-color: white;
  transition: all 0.2s ease;
  overflow: hidden;
}

/* line 55, app/assets/stylesheets/candidates.scss */
.candidates-container .candidate-card:hover {
  border-color: var(--blue-grey-300);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* line 61, app/assets/stylesheets/candidates.scss */
.candidates-container .candidate-card-body {
  padding: 1rem 1.25rem;
}

/* line 66, app/assets/stylesheets/candidates.scss */
.candidates-container .candidate-name {
  color: var(--blue-grey-800);
  font-weight: 500;
  font-size: 1rem;
}

/* line 72, app/assets/stylesheets/candidates.scss */
.candidates-container .candidate-website-icon {
  color: var(--blue-grey-600);
  text-decoration: none;
  transition: color 0.2s;
}

/* line 77, app/assets/stylesheets/candidates.scss */
.candidates-container .candidate-website-icon:hover {
  color: var(--blue-grey-800);
}

/* line 83, app/assets/stylesheets/candidates.scss */
.candidates-container .candidate-finance-link {
  display: block;
  text-decoration: none;
  margin-top: 0.75rem;
  padding: 0.875rem;
  background-color: var(--blue-grey-050);
  border-radius: 4px;
  border: 1px solid var(--blue-grey-100);
  transition: all 0.2s ease;
}

/* line 93, app/assets/stylesheets/candidates.scss */
.candidates-container .candidate-finance-link:hover {
  background-color: white;
  border-color: var(--blue-grey-300);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

/* line 100, app/assets/stylesheets/candidates.scss */
.candidates-container .finance-metrics {
  display: flex;
  justify-content: space-around;
  gap: 0.5rem;
}

/* line 106, app/assets/stylesheets/candidates.scss */
.candidates-container .finance-metric {
  flex: 1;
  text-align: center;
}

/* line 111, app/assets/stylesheets/candidates.scss */
.candidates-container .finance-value {
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0.25rem;
}

/* line 117, app/assets/stylesheets/candidates.scss */
.candidates-container .finance-value-cash {
  color: var(--blue-grey-700);
}

/* line 121, app/assets/stylesheets/candidates.scss */
.candidates-container .finance-value-raised {
  color: #198754;
}

/* line 125, app/assets/stylesheets/candidates.scss */
.candidates-container .finance-value-spent {
  color: #dc3545;
}

/* line 129, app/assets/stylesheets/candidates.scss */
.candidates-container .finance-value-debt {
  color: #fd7e14;
}

/* line 133, app/assets/stylesheets/candidates.scss */
.candidates-container .finance-label {
  font-size: 0.75rem;
  color: var(--blue-grey-600);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 500;
}

/* line 141, app/assets/stylesheets/candidates.scss */
.candidates-container .finance-metadata {
  margin-top: 0.5rem;
  text-align: center;
  font-size: 0.8125rem;
  color: var(--blue-grey-500);
  line-height: 1.4;
}

/* line 150, app/assets/stylesheets/candidates.scss */
.candidates-container .candidate-sources-footer {
  background-color: var(--blue-grey-025);
  border-top: 1px solid var(--blue-grey-100);
  padding: 0.75rem 1.25rem;
}

/* line 156, app/assets/stylesheets/candidates.scss */
.candidates-container .sources-toggle {
  cursor: pointer;
}

/* line 160, app/assets/stylesheets/candidates.scss */
.candidates-container .sources-toggle:hover .sources-label {
  color: var(--blue-grey-700);
}

/* line 166, app/assets/stylesheets/candidates.scss */
.candidates-container .sources-label {
  color: var(--blue-grey-600);
  font-weight: 500;
  transition: color 0.2s;
}

/* line 172, app/assets/stylesheets/candidates.scss */
.candidates-container .sources-chevron {
  color: var(--blue-grey-500);
}

/* line 176, app/assets/stylesheets/candidates.scss */
.candidates-container .sources-panel {
  padding-top: 0.5rem;
}

/* line 180, app/assets/stylesheets/candidates.scss */
.candidates-container .source-item {
  font-size: 0.875rem;
  color: var(--blue-grey-700);
  margin-bottom: 0.5rem;
}

/* line 185, app/assets/stylesheets/candidates.scss */
.candidates-container .source-item:last-child {
  margin-bottom: 0;
}

/* line 190, app/assets/stylesheets/candidates.scss */
.candidates-container .source-link {
  color: var(--blue-grey-700);
  text-decoration: none;
  transition: color 0.2s;
}

/* line 195, app/assets/stylesheets/candidates.scss */
.candidates-container .source-link:hover {
  color: var(--blue-grey-900);
  text-decoration: underline;
}

/* line 200, app/assets/stylesheets/candidates.scss */
.candidates-container .source-link i {
  font-size: 0.75rem;
  opacity: 0.7;
}

/* line 208, app/assets/stylesheets/candidates.scss */
.candidates-container .candidate-list .candidate-row {
  border-bottom: 1px solid var(--blue-grey-100);
}

/* line 210, app/assets/stylesheets/candidates.scss */
.candidates-container .candidate-list .candidate-row .d-flex {
  flex-wrap: nowrap;
}

/* line 211, app/assets/stylesheets/candidates.scss */
.candidates-container .candidate-list .candidate-row .candidate-name {
  flex: 0 0 auto;
}

/* line 212, app/assets/stylesheets/candidates.scss */
.candidates-container .candidate-list .candidate-row .sources-inline {
  flex: 0 0 auto;
}

/* line 216, app/assets/stylesheets/candidates.scss */
.candidates-container .sources-chip {
  display: inline-block;
  padding: 0.125rem 0.6rem;
  border-radius: 999px;
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-600);
  font-size: 0.85rem;
  text-decoration: none;
  border: none;
  cursor: pointer;
}

/* line 229, app/assets/stylesheets/candidates.scss */
.candidates-container .candidates-empty-state {
  background-color: var(--blue-grey-050);
  border: 1px solid var(--blue-grey-200);
  border-left: 4px solid var(--cyan-600);
  border-radius: 4px;
  padding: 0.75rem 1rem;
  color: var(--blue-grey-700);
}

/* line 14, app/assets/stylesheets/_coverage.scss */
.cv-page {
  background-color: #f8f9fa;
  min-height: 100vh;
}

/* line 23, app/assets/stylesheets/_coverage.scss */
.cv-hero {
  text-align: center;
  margin-bottom: 3rem;
}

/* line 27, app/assets/stylesheets/_coverage.scss */
.cv-hero .cv-hero-title {
  color: #1F2933;
  font-size: 1.875rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  line-height: 1.2;
}

/* line 35, app/assets/stylesheets/_coverage.scss */
.cv-hero .cv-hero-subtitle {
  color: #6B7280;
  font-size: 1.125rem;
  margin-bottom: 1.5rem;
}

/* line 41, app/assets/stylesheets/_coverage.scss */
.cv-hero .cv-hero-actions {
  display: flex;
  gap: 0.75rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* line 53, app/assets/stylesheets/_coverage.scss */
.cv-feature-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  height: 100%;
  display: flex;
  flex-direction: column;
  text-align: center;
}

/* line 64, app/assets/stylesheets/_coverage.scss */
.cv-feature-card .cv-feature-icon {
  font-size: 2.5rem;
  color: #127A7A;
  margin-bottom: 0.75rem;
}

/* line 70, app/assets/stylesheets/_coverage.scss */
.cv-feature-card .cv-feature-title {
  color: #1F2933;
  font-size: 1.125rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
}

/* line 77, app/assets/stylesheets/_coverage.scss */
.cv-feature-card .cv-feature-desc {
  color: #6B7280;
  font-size: 0.875rem;
  margin: 0;
  margin-top: auto;
}

/* line 89, app/assets/stylesheets/_coverage.scss */
.cv-section-card {
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

/* line 97, app/assets/stylesheets/_coverage.scss */
.cv-section-card .cv-section-sidebar .cv-section-icon {
  color: #127A7A;
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}

/* line 103, app/assets/stylesheets/_coverage.scss */
.cv-section-card .cv-section-sidebar .cv-section-title {
  color: #1F2933;
  font-size: 1.125rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
}

/* line 110, app/assets/stylesheets/_coverage.scss */
.cv-section-card .cv-section-sidebar .cv-section-subtitle {
  color: #9CA3AF;
  font-size: 0.875rem;
  margin: 0;
}

/* line 119, app/assets/stylesheets/_coverage.scss */
.cv-inner-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 1rem;
  margin-bottom: 1rem;
}

/* line 126, app/assets/stylesheets/_coverage.scss */
.cv-inner-card:last-child {
  margin-bottom: 0;
}

/* line 130, app/assets/stylesheets/_coverage.scss */
.cv-inner-card .cv-inner-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 137, app/assets/stylesheets/_coverage.scss */
.cv-inner-card .cv-inner-title {
  color: #1F2933;
  font-size: 0.875rem;
  font-weight: 500;
  margin: 0;
}

/* line 144, app/assets/stylesheets/_coverage.scss */
.cv-inner-card .cv-inner-desc {
  color: #9CA3AF;
  font-size: 0.875rem;
  margin: 0;
}

/* line 150, app/assets/stylesheets/_coverage.scss */
.cv-inner-card .cv-inner-list {
  color: #4B5563;
  font-size: 0.875rem;
  padding-left: 1.25rem;
  margin: 0;
}

/* line 156, app/assets/stylesheets/_coverage.scss */
.cv-inner-card .cv-inner-list li {
  margin-bottom: 0.25rem;
}

/* line 159, app/assets/stylesheets/_coverage.scss */
.cv-inner-card .cv-inner-list li:last-child {
  margin-bottom: 0;
}

/* line 167, app/assets/stylesheets/_coverage.scss */
.cv-highlight-box {
  background: #F9FAFB;
  border-radius: 6px;
  padding: 0.875rem;
}

/* line 172, app/assets/stylesheets/_coverage.scss */
.cv-highlight-box .cv-highlight-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.375rem;
}

/* line 178, app/assets/stylesheets/_coverage.scss */
.cv-highlight-box .cv-highlight-header i {
  font-size: 1.125rem;
}

/* line 182, app/assets/stylesheets/_coverage.scss */
.cv-highlight-box .cv-highlight-header .cv-highlight-icon-success {
  color: #127A7A;
}

/* line 186, app/assets/stylesheets/_coverage.scss */
.cv-highlight-box .cv-highlight-header .cv-highlight-icon-muted {
  color: #B8BFC7;
}

/* line 191, app/assets/stylesheets/_coverage.scss */
.cv-highlight-box .cv-highlight-title {
  color: #1F2933;
  font-size: 0.875rem;
  font-weight: 500;
}

/* line 197, app/assets/stylesheets/_coverage.scss */
.cv-highlight-box .cv-highlight-desc {
  color: #4B5563;
  font-size: 0.875rem;
  margin: 0;
}

/* line 202, app/assets/stylesheets/_coverage.scss */
.cv-highlight-box .cv-highlight-desc.cv-highlight-desc-muted {
  color: #9CA3AF;
}

/* line 212, app/assets/stylesheets/_coverage.scss */
.cv-details {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  margin-bottom: 0.75rem;
  overflow: hidden;
}

/* line 219, app/assets/stylesheets/_coverage.scss */
.cv-details:last-child {
  margin-bottom: 0;
}

/* line 224, app/assets/stylesheets/_coverage.scss */
.cv-details[open] .cv-details-summary {
  border-bottom: 1px solid #E5E7EB;
}

/* line 228, app/assets/stylesheets/_coverage.scss */
.cv-details[open] .cv-details-summary::after {
  transform: rotate(180deg);
}

/* line 234, app/assets/stylesheets/_coverage.scss */
.cv-details-summary {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #323C47;
  cursor: pointer;
  transition: background-color 0.15s ease;
  list-style: none;
}

/* line 246, app/assets/stylesheets/_coverage.scss */
.cv-details-summary::-webkit-details-marker {
  display: none;
}

/* line 250, app/assets/stylesheets/_coverage.scss */
.cv-details-summary::after {
  content: "\F282";
  font-family: "bootstrap-icons";
  font-size: 0.75rem;
  margin-left: auto;
  color: #9CA3AF;
  transition: transform 0.15s ease;
}

/* line 259, app/assets/stylesheets/_coverage.scss */
.cv-details-summary:hover {
  background: #F9FAFB;
}

/* line 263, app/assets/stylesheets/_coverage.scss */
.cv-details-summary i {
  color: #6B7280;
}

/* line 267, app/assets/stylesheets/_coverage.scss */
.cv-details-summary .cv-details-count {
  color: #9CA3AF;
  font-weight: 400;
}

/* line 273, app/assets/stylesheets/_coverage.scss */
.cv-details-content {
  padding: 0.75rem 1rem 1rem;
}

/* line 276, app/assets/stylesheets/_coverage.scss */
.cv-details-content .cv-details-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 282, app/assets/stylesheets/_coverage.scss */
.cv-details-content .cv-details-item {
  margin-bottom: 0.5rem;
}

/* line 285, app/assets/stylesheets/_coverage.scss */
.cv-details-content .cv-details-item:last-child {
  margin-bottom: 0;
}

/* line 289, app/assets/stylesheets/_coverage.scss */
.cv-details-content .cv-details-item a {
  color: #4B5563;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 294, app/assets/stylesheets/_coverage.scss */
.cv-details-content .cv-details-item a:hover {
  color: #1F5C96;
}

/* line 299, app/assets/stylesheets/_coverage.scss */
.cv-details-content .cv-details-item .cv-details-item-meta {
  color: #9CA3AF;
  font-size: 0.75rem;
}

/* line 304, app/assets/stylesheets/_coverage.scss */
.cv-details-content .cv-details-item .cv-details-item-note {
  display: block;
  color: #9CA3AF;
  font-size: 0.75rem;
  margin-top: 0.125rem;
}

/* line 310, app/assets/stylesheets/_coverage.scss */
.cv-details-content .cv-details-item .cv-details-item-note i {
  margin-right: 0.25rem;
}

/* line 321, app/assets/stylesheets/_coverage.scss */
.cv-pricing-section {
  margin-bottom: 2rem;
}

/* line 324, app/assets/stylesheets/_coverage.scss */
.cv-pricing-section .cv-pricing-title {
  color: #1F2933;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1.5rem;
}

/* line 333, app/assets/stylesheets/_coverage.scss */
.cv-pricing-card {
  background: #FFFFFF;
  border: 2px solid #D1D5DB;
  border-radius: 12px;
  padding: 1.5rem;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* line 342, app/assets/stylesheets/_coverage.scss */
.cv-pricing-card.cv-pricing-card-featured {
  border-color: #1F5C96;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 347, app/assets/stylesheets/_coverage.scss */
.cv-pricing-card .cv-pricing-header {
  color: #323C47;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 357, app/assets/stylesheets/_coverage.scss */
.cv-pricing-card .cv-pricing-price {
  color: #4B5563;
  font-size: 2.25rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

/* line 363, app/assets/stylesheets/_coverage.scss */
.cv-pricing-card .cv-pricing-price .cv-pricing-period {
  font-size: 1rem;
  font-weight: 400;
}

/* line 369, app/assets/stylesheets/_coverage.scss */
.cv-pricing-card .cv-pricing-subtitle {
  color: #6B7280;
  font-size: 0.875rem;
  margin-bottom: 1rem;
}

/* line 375, app/assets/stylesheets/_coverage.scss */
.cv-pricing-card .cv-pricing-features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  flex-grow: 1;
}

/* line 382, app/assets/stylesheets/_coverage.scss */
.cv-pricing-card .cv-pricing-feature {
  color: #6B7280;
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

/* line 390, app/assets/stylesheets/_coverage.scss */
.cv-pricing-card .cv-pricing-feature:last-child {
  margin-bottom: 0;
}

/* line 394, app/assets/stylesheets/_coverage.scss */
.cv-pricing-card .cv-pricing-feature i {
  color: #127A7A;
  flex-shrink: 0;
  margin-top: 0.125rem;
}

/* line 406, app/assets/stylesheets/_coverage.scss */
.cv-check-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 412, app/assets/stylesheets/_coverage.scss */
.cv-check-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  color: #6B7280;
  font-size: 0.875rem;
}

/* line 420, app/assets/stylesheets/_coverage.scss */
.cv-check-item:last-child {
  margin-bottom: 0;
}

/* line 424, app/assets/stylesheets/_coverage.scss */
.cv-check-item i {
  color: #127A7A;
  flex-shrink: 0;
  margin-top: 0.125rem;
}

/* line 435, app/assets/stylesheets/_coverage.scss */
.cv-section-intro {
  color: #4B5563;
  font-size: 0.875rem;
  margin-bottom: 1rem;
}

/* line 12, app/assets/stylesheets/people.scss */
.person-header {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 1.5rem;
}

/* line 20, app/assets/stylesheets/people.scss */
.person-header-inner {
  padding: 1.5rem;
}

@media (max-width: 768px) {
  /* line 20, app/assets/stylesheets/people.scss */
  .person-header-inner {
    padding: 1rem;
  }
}

/* line 28, app/assets/stylesheets/people.scss */
.person-header-content {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
}

@media (max-width: 576px) {
  /* line 28, app/assets/stylesheets/people.scss */
  .person-header-content {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

/* line 41, app/assets/stylesheets/people.scss */
.person-header-photo {
  flex-shrink: 0;
}

/* line 45, app/assets/stylesheets/people.scss */
.person-header-photo-frame {
  width: 120px;
  height: 120px;
  border-radius: 8px;
  overflow: hidden;
  background-color: #F3F4F6;
  border: 3px solid #E5E7EB;
}

@media (max-width: 768px) {
  /* line 45, app/assets/stylesheets/people.scss */
  .person-header-photo-frame {
    width: 100px;
    height: 100px;
  }
}

/* line 58, app/assets/stylesheets/people.scss */
.person-header-photo-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

/* line 66, app/assets/stylesheets/people.scss */
.person-header-photo-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #E5E7EB;
  color: #9CA3AF;
}

/* line 76, app/assets/stylesheets/people.scss */
.person-header-photo-placeholder i {
  font-size: 2.5rem;
}

/* line 82, app/assets/stylesheets/people.scss */
.person-header-main {
  flex: 1;
  min-width: 0;
}

@media (max-width: 576px) {
  /* line 82, app/assets/stylesheets/people.scss */
  .person-header-main {
    width: 100%;
  }
}

/* line 91, app/assets/stylesheets/people.scss */
.person-header-name-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 0.375rem;
}

@media (max-width: 576px) {
  /* line 91, app/assets/stylesheets/people.scss */
  .person-header-name-row {
    justify-content: center;
  }
}

/* line 103, app/assets/stylesheets/people.scss */
.person-header-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0;
  line-height: 1.2;
}

@media (max-width: 768px) {
  /* line 103, app/assets/stylesheets/people.scss */
  .person-header-name {
    font-size: 1.25rem;
  }
}

/* line 115, app/assets/stylesheets/people.scss */
.person-header-party {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 4px;
}

/* line 123, app/assets/stylesheets/people.scss */
.person-header-party.party-democrat {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 128, app/assets/stylesheets/people.scss */
.person-header-party.party-republican {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 133, app/assets/stylesheets/people.scss */
.person-header-party.party-green {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 138, app/assets/stylesheets/people.scss */
.person-header-party.party-libertarian {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 143, app/assets/stylesheets/people.scss */
.person-header-party.party-independent, .person-header-party.party-nonpartisan {
  background-color: #F3F4F6;
  color: #6B7280;
}

/* line 149, app/assets/stylesheets/people.scss */
.person-header-party.party-other {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 156, app/assets/stylesheets/people.scss */
.person-header-role {
  font-size: 1.1rem;
  color: #4B5563;
  margin-bottom: 0.25rem;
}

/* line 161, app/assets/stylesheets/people.scss */
.person-header-role a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 165, app/assets/stylesheets/people.scss */
.person-header-role a:hover {
  text-decoration: underline;
}

@media (max-width: 576px) {
  /* line 156, app/assets/stylesheets/people.scss */
  .person-header-role {
    text-align: center;
  }
}

/* line 176, app/assets/stylesheets/people.scss */
.person-header-status {
  font-size: 0.95rem;
  color: #6B7280;
  font-style: italic;
  margin-top: 0.25rem;
  margin-bottom: 0.5rem;
}

/* line 183, app/assets/stylesheets/people.scss */
.person-header-status a {
  color: #1F5C96;
  text-decoration: none;
  font-style: normal;
}

/* line 188, app/assets/stylesheets/people.scss */
.person-header-status a:hover {
  text-decoration: underline;
}

@media (max-width: 576px) {
  /* line 176, app/assets/stylesheets/people.scss */
  .person-header-status {
    text-align: center;
  }
}

/* line 199, app/assets/stylesheets/people.scss */
.person-header-jurisdiction {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-bottom: 0.5rem;
}

/* line 204, app/assets/stylesheets/people.scss */
.person-header-jurisdiction a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 208, app/assets/stylesheets/people.scss */
.person-header-jurisdiction a:hover {
  text-decoration: underline;
}

@media (max-width: 576px) {
  /* line 199, app/assets/stylesheets/people.scss */
  .person-header-jurisdiction {
    text-align: center;
  }
}

/* line 219, app/assets/stylesheets/people.scss */
.person-header-sources {
  display: inline;
  margin-left: 0.375rem;
}

/* line 224, app/assets/stylesheets/people.scss */
.person-header-source-link {
  font-size: 0.75rem;
  color: #1F5C96;
  text-decoration: none;
  margin-right: 0.25rem;
}

/* line 230, app/assets/stylesheets/people.scss */
.person-header-source-link i {
  font-size: 0.7rem;
}

/* line 234, app/assets/stylesheets/people.scss */
.person-header-source-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 241, app/assets/stylesheets/people.scss */
.person-header-role-links {
  font-style: normal;
  color: #B8BFC7;
}

/* line 245, app/assets/stylesheets/people.scss */
.person-header-role-links a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 249, app/assets/stylesheets/people.scss */
.person-header-role-links a:hover {
  text-decoration: underline;
}

/* line 256, app/assets/stylesheets/people.scss */
.person-header-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.75rem;
  margin-top: 0.375rem;
}

@media (max-width: 576px) {
  /* line 256, app/assets/stylesheets/people.scss */
  .person-header-links {
    justify-content: center;
  }
}

/* line 268, app/assets/stylesheets/people.scss */
.person-header-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  color: #9CA3AF;
  text-decoration: none;
}

/* line 276, app/assets/stylesheets/people.scss */
.person-header-link:hover {
  color: #1F5C96;
  text-decoration: none;
}

/* line 281, app/assets/stylesheets/people.scss */
.person-header-link i {
  font-size: 0.75rem;
}

/* line 287, app/assets/stylesheets/people.scss */
.person-header-former-office {
  font-size: 0.875rem;
  color: #9CA3AF;
  font-style: italic;
  margin-bottom: 0.25rem;
}

@media (max-width: 576px) {
  /* line 287, app/assets/stylesheets/people.scss */
  .person-header-former-office {
    text-align: center;
  }
}

/* line 299, app/assets/stylesheets/people.scss */
.person-header-website {
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
}

/* line 303, app/assets/stylesheets/people.scss */
.person-header-website a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 307, app/assets/stylesheets/people.scss */
.person-header-website a:hover {
  text-decoration: underline;
}

@media (max-width: 576px) {
  /* line 299, app/assets/stylesheets/people.scss */
  .person-header-website {
    text-align: center;
  }
}

/* line 318, app/assets/stylesheets/people.scss */
.person-header-office {
  font-size: 1rem;
  color: #4B5563;
  margin-bottom: 0.25rem;
}

@media (max-width: 576px) {
  /* line 318, app/assets/stylesheets/people.scss */
  .person-header-office {
    text-align: center;
  }
}

/* line 328, app/assets/stylesheets/people.scss */
.person-header-running-for {
  font-size: 0.875rem;
  color: #6B7280;
  margin-bottom: 0.5rem;
}

/* line 333, app/assets/stylesheets/people.scss */
.person-header-running-for a {
  color: #1F5C96;
  text-decoration: none;
  font-weight: 500;
}

/* line 338, app/assets/stylesheets/people.scss */
.person-header-running-for a:hover {
  text-decoration: underline;
}

@media (max-width: 576px) {
  /* line 328, app/assets/stylesheets/people.scss */
  .person-header-running-for {
    text-align: center;
  }
}

/* line 349, app/assets/stylesheets/people.scss */
.person-header-races {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

@media (max-width: 576px) {
  /* line 349, app/assets/stylesheets/people.scss */
  .person-header-races {
    justify-content: center;
  }
}

/* line 360, app/assets/stylesheets/people.scss */
.person-header-race {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.625rem;
  background-color: #E2F5F5;
  color: #127A7A;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 4px;
}

/* line 373, app/assets/stylesheets/people.scss */
.person-header-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #E5E7EB;
}

@media (max-width: 576px) {
  /* line 373, app/assets/stylesheets/people.scss */
  .person-header-metrics {
    justify-content: center;
  }
}

/* line 386, app/assets/stylesheets/people.scss */
.person-header-metric {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding: 0.625rem 0.875rem;
  background-color: #F9FAFB;
  border-radius: 6px;
  border: 1px solid #E5E7EB;
  min-width: 100px;
}

/* line 397, app/assets/stylesheets/people.scss */
.person-header-metric-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 402, app/assets/stylesheets/people.scss */
.person-header-metric-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 412, app/assets/stylesheets/people.scss */
.election-history-container .election-year-group:not(:last-child) {
  margin-bottom: 1.5rem;
}

/* line 416, app/assets/stylesheets/people.scss */
.election-history-container .election-year-group.not-first-year {
  padding-top: 1.5rem;
}

/* line 420, app/assets/stylesheets/people.scss */
.election-history-container .election-year-group .election-year-layout {
  display: flex;
  align-items: flex-start;
}

/* line 424, app/assets/stylesheets/people.scss */
.election-history-container .election-year-group .election-year-layout .election-year-column {
  flex: 0 0 80px;
  padding-top: 0.625rem;
}

/* line 428, app/assets/stylesheets/people.scss */
.election-history-container .election-year-group .election-year-layout .election-year-column .fw-semibold {
  line-height: 1.5;
}

/* line 433, app/assets/stylesheets/people.scss */
.election-history-container .election-year-group .election-year-layout .election-races-column {
  flex: 1;
  min-width: 0;
}

/* line 441, app/assets/stylesheets/people.scss */
.election-history-container .election-row-wrapper .election-row {
  padding: 0.625rem 0;
  border-bottom: 1px solid var(--blue-grey-100);
}

/* line 446, app/assets/stylesheets/people.scss */
.election-history-container .election-row-wrapper .election-row .election-chevron-btn:hover {
  color: var(--blue-grey-700) !important;
  background-color: var(--blue-grey-050) !important;
}

/* line 451, app/assets/stylesheets/people.scss */
.election-history-container .election-row-wrapper .election-row .election-chevron-btn:focus {
  outline: 2px solid var(--light-blue-vivid-600);
  outline-offset: 2px;
}

/* line 458, app/assets/stylesheets/people.scss */
.election-history-container .election-row-wrapper .election-row .election-view-link:hover {
  text-decoration: underline;
  opacity: 1 !important;
}

/* line 463, app/assets/stylesheets/people.scss */
.election-history-container .election-row-wrapper .election-row .election-view-link:focus {
  outline: 2px solid var(--light-blue-vivid-600);
  outline-offset: 2px;
}

/* line 470, app/assets/stylesheets/people.scss */
.election-history-container .election-row-wrapper .election-drawer {
  padding-left: 2rem;
}

@media (max-width: 640px) {
  /* line 482, app/assets/stylesheets/people.scss */
  .person-profile-card {
    padding: 1rem !important;
  }
  /* line 485, app/assets/stylesheets/people.scss */
  .person-profile-card .person-avatar {
    width: 60px !important;
    height: 60px !important;
  }
  /* line 490, app/assets/stylesheets/people.scss */
  .person-profile-card .person-name {
    font-size: 1.35rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 495, app/assets/stylesheets/people.scss */
  .person-profile-card .mb-2, .person-profile-card .mb-3 {
    margin-bottom: 0.5rem !important;
  }
  /* line 499, app/assets/stylesheets/people.scss */
  .person-profile-card .person-financial-summary {
    gap: 0 !important;
    margin-top: 0.75rem !important;
    padding-top: 0.75rem !important;
  }
  /* line 504, app/assets/stylesheets/people.scss */
  .person-profile-card .person-financial-summary .financial-item {
    flex: 0 0 50%;
    padding-right: 0.5rem;
  }
  /* line 508, app/assets/stylesheets/people.scss */
  .person-profile-card .person-financial-summary .financial-item:last-child {
    padding-right: 0;
    padding-left: 0.5rem;
  }
  /* line 513, app/assets/stylesheets/people.scss */
  .person-profile-card .person-financial-summary .financial-item .small {
    font-size: 0.75rem !important;
  }
  /* line 517, app/assets/stylesheets/people.scss */
  .person-profile-card .person-financial-summary .financial-item .fw-bold {
    font-size: 1.1rem !important;
  }
  /* line 525, app/assets/stylesheets/people.scss */
  .election-history-card {
    padding: 1rem !important;
    margin-bottom: 1.5rem !important;
  }
  /* line 529, app/assets/stylesheets/people.scss */
  .election-history-card .election-history-header {
    margin-bottom: 1rem !important;
  }
  /* line 532, app/assets/stylesheets/people.scss */
  .election-history-card .election-history-header .section-heading {
    font-size: 1.1rem !important;
  }
  /* line 538, app/assets/stylesheets/people.scss */
  .election-year-group {
    margin-bottom: 1rem !important;
  }
  /* line 542, app/assets/stylesheets/people.scss */
  .election-year-group.not-first-year {
    padding-top: 1rem;
  }
  /* line 546, app/assets/stylesheets/people.scss */
  .election-year-group .election-year-divider {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* line 551, app/assets/stylesheets/people.scss */
  .election-year-group .election-year-layout {
    flex-direction: column !important;
    gap: 0.75rem !important;
  }
  /* line 555, app/assets/stylesheets/people.scss */
  .election-year-group .election-year-layout .election-year-column {
    flex: none !important;
    padding-top: 0 !important;
    padding-bottom: 0.5rem !important;
  }
  /* line 561, app/assets/stylesheets/people.scss */
  .election-year-group .election-year-layout .election-races-column {
    width: 100% !important;
  }
  /* line 567, app/assets/stylesheets/people.scss */
  .election-row {
    padding: 0.5rem 0 !important;
  }
  /* line 570, app/assets/stylesheets/people.scss */
  .election-row .election-row-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
  }
  /* line 576, app/assets/stylesheets/people.scss */
  .election-row .election-chevron-btn {
    align-self: flex-start !important;
  }
  /* line 580, app/assets/stylesheets/people.scss */
  .election-row .election-info {
    width: 100%;
  }
  /* line 583, app/assets/stylesheets/people.scss */
  .election-row .election-info .fw-medium {
    margin-bottom: 0.25rem !important;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
  }
}

@media (max-width: 640px) and (max-width: 400px) {
  /* line 583, app/assets/stylesheets/people.scss */
  .election-row .election-info .fw-medium {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  /* line 597, app/assets/stylesheets/people.scss */
  .election-row .election-info .election-meta {
    font-size: 0.75rem !important;
  }
  /* line 602, app/assets/stylesheets/people.scss */
  .election-row .election-results {
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.75rem !important;
    width: 100%;
    justify-content: flex-end !important;
  }
  /* line 609, app/assets/stylesheets/people.scss */
  .election-row .election-results .vote-stats {
    text-align: right !important;
  }
  /* line 612, app/assets/stylesheets/people.scss */
  .election-row .election-results .vote-stats div {
    line-height: 1.3;
  }
  /* line 619, app/assets/stylesheets/people.scss */
  .election-drawer {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 625, app/assets/stylesheets/people.scss */
  .toggle-old-elections-container {
    margin-top: 1rem !important;
    padding-top: 0.75rem !important;
  }
  /* line 631, app/assets/stylesheets/people.scss */
  .election-history-card {
    margin-bottom: 2rem !important;
  }
  /* line 636, app/assets/stylesheets/people.scss */
  .past-committees-card {
    padding: 1rem !important;
    margin-bottom: 1.5rem !important;
  }
  /* line 640, app/assets/stylesheets/people.scss */
  .past-committees-card .section-heading {
    font-size: 1.1rem !important;
  }
  /* line 644, app/assets/stylesheets/people.scss */
  .past-committees-card .committee-row {
    padding: 0.75rem 0 !important;
  }
  /* line 647, app/assets/stylesheets/people.scss */
  .past-committees-card .committee-row .committee-info {
    margin-bottom: 0.5rem;
  }
  /* line 652, app/assets/stylesheets/people.scss */
  .past-committees-card .committee-row .committee-status-cash {
    min-width: auto !important;
    width: 100%;
    justify-content: space-between !important;
  }
  /* line 657, app/assets/stylesheets/people.scss */
  .past-committees-card .committee-row .committee-status-cash .badge {
    flex-shrink: 0;
  }
  /* line 661, app/assets/stylesheets/people.scss */
  .past-committees-card .committee-row .committee-status-cash .text-end {
    min-width: auto !important;
  }
  /* line 669, app/assets/stylesheets/people.scss */
  .other-committees-card {
    margin-top: 1.5rem !important;
    padding: 1rem !important;
  }
  /* line 673, app/assets/stylesheets/people.scss */
  .other-committees-card .section-heading {
    font-size: 1.1rem !important;
  }
  /* line 677, app/assets/stylesheets/people.scss */
  .other-committees-card .committee-explainer {
    line-height: 1.4;
  }
  /* line 681, app/assets/stylesheets/people.scss */
  .other-committees-card .committee-row {
    padding: 0.75rem 0 !important;
  }
  /* line 684, app/assets/stylesheets/people.scss */
  .other-committees-card .committee-row .committee-info {
    margin-bottom: 0.5rem;
  }
  /* line 688, app/assets/stylesheets/people.scss */
  .other-committees-card .committee-row .committee-status-cash {
    min-width: auto !important;
    width: 100%;
    justify-content: space-between !important;
  }
  /* line 693, app/assets/stylesheets/people.scss */
  .other-committees-card .committee-row .committee-status-cash .badge {
    flex-shrink: 0;
  }
  /* line 697, app/assets/stylesheets/people.scss */
  .other-committees-card .committee-row .committee-status-cash .text-end {
    min-width: auto !important;
  }
}

/* line 711, app/assets/stylesheets/people.scss */
.incumbents-table th,
.incumbents-table td {
  vertical-align: middle;
}

/* line 716, app/assets/stylesheets/people.scss */
.incumbents-table tbody tr.incumbent-row {
  cursor: pointer;
  transition: background-color 0.15s ease;
}

/* line 720, app/assets/stylesheets/people.scss */
.incumbents-table tbody tr.incumbent-row:hover {
  background-color: var(--blue-grey-050) !important;
}

/* line 725, app/assets/stylesheets/people.scss */
.incumbents-table thead th {
  padding-top: 0.75rem;
  padding-bottom: 0.65rem;
}

/* line 731, app/assets/stylesheets/people.scss */
.incumbents-table tbody td {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

/* line 737, app/assets/stylesheets/people.scss */
.incumbents-table td:first-child img {
  border: 1px solid var(--blue-grey-200);
  object-fit: cover;
  object-position: center top;
}

/* line 743, app/assets/stylesheets/people.scss */
.incumbents-table col.name-col {
  width: 200px;
}

/* line 747, app/assets/stylesheets/people.scss */
.incumbents-table th.name-col,
.incumbents-table td.name-cell {
  max-width: 200px;
}

/* line 752, app/assets/stylesheets/people.scss */
.incumbents-table col.office-col {
  width: 32%;
}

/* line 756, app/assets/stylesheets/people.scss */
.incumbents-table col.party-col {
  width: 16%;
}

/* line 760, app/assets/stylesheets/people.scss */
.incumbents-table col.coh-col {
  width: 20%;
}

/* line 764, app/assets/stylesheets/people.scss */
.incumbents-table .office-col {
  max-width: 360px;
}

/* line 768, app/assets/stylesheets/people.scss */
.incumbents-table .coh-col {
  padding-right: 0.85rem;
  padding-left: 0.85rem;
}

/* line 773, app/assets/stylesheets/people.scss */
.incumbents-table th.sortable {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

/* line 778, app/assets/stylesheets/people.scss */
.incumbents-table th.sortable::after {
  content: '↕';
  margin-left: 0.35rem;
  font-size: 0.75rem;
  color: var(--blue-grey-500);
}

/* line 785, app/assets/stylesheets/people.scss */
.incumbents-table th.sortable.sorted-desc::after {
  content: '▾';
}

/* line 789, app/assets/stylesheets/people.scss */
.incumbents-table th.sortable.sorted-asc::after {
  content: '▴';
}

/* line 800, app/assets/stylesheets/people.scss */
.people-index-table {
  table-layout: fixed;
  width: 100%;
}

/* line 805, app/assets/stylesheets/people.scss */
.people-index-table th:nth-child(1), .people-index-table td:nth-child(1) {
  width: 25%;
}

/* line 806, app/assets/stylesheets/people.scss */
.people-index-table th:nth-child(2), .people-index-table td:nth-child(2) {
  width: 20%;
}

/* line 807, app/assets/stylesheets/people.scss */
.people-index-table th:nth-child(3), .people-index-table td:nth-child(3) {
  width: 20%;
}

/* line 808, app/assets/stylesheets/people.scss */
.people-index-table th:nth-child(4), .people-index-table td:nth-child(4) {
  width: 20%;
}

/* line 809, app/assets/stylesheets/people.scss */
.people-index-table th:nth-child(5), .people-index-table td:nth-child(5) {
  width: 15%;
}

/* line 812, app/assets/stylesheets/people.scss */
.people-index-table td {
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 818, app/assets/stylesheets/people.scss */
.people-index-table tbody td {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

/* line 825, app/assets/stylesheets/people.scss */
.status-badge-outline {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  border-radius: 0.25rem;
  border: 1px solid;
  background: transparent;
}

/* line 834, app/assets/stylesheets/people.scss */
.status-badge-outline.status-incumbent {
  color: var(--teal-700);
  border-color: var(--teal-300);
}

/* line 839, app/assets/stylesheets/people.scss */
.status-badge-outline.status-candidate {
  color: var(--cyan-700);
  border-color: var(--cyan-300);
}

/* line 844, app/assets/stylesheets/people.scss */
.status-badge-outline.status-former {
  color: var(--blue-grey-600);
  border-color: var(--blue-grey-300);
}

/* line 851, app/assets/stylesheets/people.scss */
.party-text {
  font-weight: 500;
  font-size: 0.875rem;
}

/* line 855, app/assets/stylesheets/people.scss */
.party-text.party-democrat {
  color: #1e40af;
}

/* line 859, app/assets/stylesheets/people.scss */
.party-text.party-republican {
  color: #b91c1c;
}

/* line 863, app/assets/stylesheets/people.scss */
.party-text.party-green {
  color: #15803d;
}

/* line 867, app/assets/stylesheets/people.scss */
.party-text.party-libertarian {
  color: #a16207;
}

/* line 871, app/assets/stylesheets/people.scss */
.party-text.party-other {
  color: var(--blue-grey-700);
}

/* line 877, app/assets/stylesheets/people.scss */
.people-index-table tbody tr:hover {
  background-color: var(--blue-grey-050) !important;
  cursor: pointer;
}

/* line 883, app/assets/stylesheets/people.scss */
.people-index-loading {
  opacity: 0.5;
  pointer-events: none;
  position: relative;
}

/* line 888, app/assets/stylesheets/people.scss */
.people-index-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  margin: -15px 0 0 -15px;
  border: 3px solid var(--blue-grey-200);
  border-top-color: var(--light-blue-vivid-600);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 768px) {
  /* line 909, app/assets/stylesheets/people.scss */
  .people-index-table {
    table-layout: auto;
  }
}

/* line 8, app/assets/stylesheets/explore.scss */
.explore-page .row .bb-card {
  height: 100%;
}

/* line 12, app/assets/stylesheets/explore.scss */
.explore-page .explore-feed-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.9rem 1.4rem;
  border-radius: 9999px;
  background-color: #FFFFFF;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  color: #123B66;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 27, app/assets/stylesheets/explore.scss */
.explore-page .explore-feed-link:hover {
  text-decoration: none;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  background-color: #F9FAFB;
}

/* line 33, app/assets/stylesheets/explore.scss */
.explore-page .explore-feed-link .explore-feed-arrow {
  font-size: 1rem;
  color: #1F5C96;
  transition: transform 0.15s ease, color 0.15s ease;
}

/* line 39, app/assets/stylesheets/explore.scss */
.explore-page .explore-feed-link:hover .explore-feed-arrow {
  transform: translateX(3px);
  color: #123B66;
}

/* line 45, app/assets/stylesheets/explore.scss */
.explore-page .my-jurisdictions-section {
  margin-top: 0.25rem;
}

@media (min-width: 992px) {
  /* line 49, app/assets/stylesheets/explore.scss */
  .explore-page .my-jurisdictions-section .my-jurisdictions-controls-card {
    position: sticky;
    top: 64px;
    z-index: 10;
  }
  /* line 55, app/assets/stylesheets/explore.scss */
  .explore-page .my-jurisdictions-section .my-jurisdictions-controls-card.is-stuck h2, .explore-page .my-jurisdictions-section .my-jurisdictions-controls-card.is-stuck .my-jurisdictions-county-select {
    display: none;
  }
}

/* line 64, app/assets/stylesheets/explore.scss */
.explore-page .bb-table-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
}

/* line 73, app/assets/stylesheets/explore.scss */
.explore-page .bb-table-card-link:hover {
  color: #123B66;
  text-decoration: none;
}

/* line 77, app/assets/stylesheets/explore.scss */
.explore-page .bb-table-card-link:hover i {
  transform: translateX(2px);
}

/* line 82, app/assets/stylesheets/explore.scss */
.explore-page .bb-table-card-link i {
  transition: transform 0.15s ease;
}

/* line 87, app/assets/stylesheets/explore.scss */
.explore-page .bb-table-view-link {
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
}

/* line 93, app/assets/stylesheets/explore.scss */
.explore-page .bb-table-view-link:hover {
  color: #123B66;
}

/* line 99, app/assets/stylesheets/explore.scss */
.explore-page .bb-btn-view-xs {
  display: inline-block;
  padding: 0.2rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F5C96;
  background: transparent;
  border: 1px solid #1F5C96;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 111, app/assets/stylesheets/explore.scss */
.explore-page .bb-btn-view-xs:hover {
  background: #1F5C96;
  color: #FFFFFF;
}

/* line 119, app/assets/stylesheets/explore.scss */
.explore-page .explore-feed-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

/* line 125, app/assets/stylesheets/explore.scss */
.explore-page .explore-feed-card .bb-table-card-footer {
  margin-top: auto;
}

/* line 129, app/assets/stylesheets/explore.scss */
.explore-page .explore-feed-card .bb-table-card-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* line 137, app/assets/stylesheets/explore.scss */
.explore-page .explore-daily-report-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

/* line 143, app/assets/stylesheets/explore.scss */
.explore-page .explore-daily-report-section-label {
  padding: 4px 0;
  font-size: 0.75rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 600;
}

/* line 151, app/assets/stylesheets/explore.scss */
.explore-page .explore-daily-report-section-label.with-divider {
  padding-top: 12px;
  border-top: 1px solid #E5E7EB;
  margin-top: 8px;
}

/* line 158, app/assets/stylesheets/explore.scss */
.explore-page .explore-daily-report-label {
  padding: 5px 0 5px 8px;
  color: #1F2933;
}

/* line 163, app/assets/stylesheets/explore.scss */
.explore-page .explore-daily-report-count {
  padding: 5px 0;
  font-weight: 600;
  color: #1F2933;
  text-align: right;
}

/* line 169, app/assets/stylesheets/explore.scss */
.explore-page .explore-daily-report-count.is-zero {
  color: #9CA3AF;
  font-weight: 400;
}

/* line 175, app/assets/stylesheets/explore.scss */
.explore-page .explore-daily-report-link {
  display: inline-block;
  margin-top: 12px;
  color: #123B66;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
}

/* line 183, app/assets/stylesheets/explore.scss */
.explore-page .explore-daily-report-link:hover {
  color: #0B2742;
  text-decoration: underline;
}

/* line 189, app/assets/stylesheets/explore.scss */
.explore-page .explore-platform-updates-list {
  list-style: none;
  padding: 0;
  margin: 0 0 0.75rem 0;
}

/* line 195, app/assets/stylesheets/explore.scss */
.explore-page .explore-platform-update-item {
  padding: 0.625rem 0;
  border-bottom: 1px solid #F3F4F6;
}

/* line 199, app/assets/stylesheets/explore.scss */
.explore-page .explore-platform-update-item:first-child {
  padding-top: 0;
}

/* line 203, app/assets/stylesheets/explore.scss */
.explore-page .explore-platform-update-item:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

/* line 209, app/assets/stylesheets/explore.scss */
.explore-page .explore-platform-update-title {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #123B66;
  text-decoration: none;
  line-height: 1.35;
}

/* line 217, app/assets/stylesheets/explore.scss */
.explore-page .explore-platform-update-title:hover {
  color: #0B2742;
  text-decoration: underline;
}

/* line 223, app/assets/stylesheets/explore.scss */
.explore-page .explore-platform-update-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 2px;
}

/* line 229, app/assets/stylesheets/explore.scss */
.explore-page .explore-platform-update-excerpt {
  font-size: 0.8125rem;
  color: #4B5563;
  line-height: 1.4;
  margin: 4px 0 0 0;
}

/* line 237, app/assets/stylesheets/explore.scss */
.explore-page .explore-feed-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  padding: 2rem 1rem;
  color: #B8BFC7;
  text-align: center;
}

/* line 247, app/assets/stylesheets/explore.scss */
.explore-page .explore-feed-empty-state i {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}

/* line 252, app/assets/stylesheets/explore.scss */
.explore-page .explore-feed-empty-state span {
  font-size: 0.875rem;
}

/* line 259, app/assets/stylesheets/explore.scss */
.explore-page .feed-toggle-buttons .feed-toggle-tab {
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid #E5E7EB;
  background: #FFFFFF;
  color: #6B7280;
  transition: all 0.15s ease;
}

/* line 267, app/assets/stylesheets/explore.scss */
.explore-page .feed-toggle-buttons .feed-toggle-tab:first-child {
  border-radius: 6px 0 0 6px;
}

/* line 271, app/assets/stylesheets/explore.scss */
.explore-page .feed-toggle-buttons .feed-toggle-tab:last-child {
  border-radius: 0 6px 6px 0;
  border-left: none;
}

/* line 276, app/assets/stylesheets/explore.scss */
.explore-page .feed-toggle-buttons .feed-toggle-tab.active {
  background: #1F5C96;
  border-color: #1F5C96;
  color: #FFFFFF;
}

/* line 282, app/assets/stylesheets/explore.scss */
.explore-page .feed-toggle-buttons .feed-toggle-tab:hover:not(.active) {
  background: #F9FAFB;
}

/* line 289, app/assets/stylesheets/explore.scss */
.explore-page .explore-orientation-text {
  margin: 0 0 1.25rem 0;
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 294, app/assets/stylesheets/explore.scss */
.explore-page .explore-orientation-text .explore-orientation-label {
  font-weight: 500;
  color: #6B7280;
  margin-right: 0.25rem;
}

/* line 300, app/assets/stylesheets/explore.scss */
.explore-page .explore-orientation-text a {
  color: #6B7280;
  text-decoration: underline;
  text-decoration-color: #D1D5DB;
  text-underline-offset: 2px;
}

/* line 306, app/assets/stylesheets/explore.scss */
.explore-page .explore-orientation-text a:hover {
  color: #1F5C96;
  text-decoration-color: #1F5C96;
}

/* line 314, app/assets/stylesheets/explore.scss */
.explore-page .explore-quick-start {
  background: #F9FAFB;
  border-radius: 8px;
  padding: 1rem 1.25rem;
}

/* line 319, app/assets/stylesheets/explore.scss */
.explore-page .explore-quick-start .explore-quick-start-header {
  margin: 0 0 0.25rem 0;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 326, app/assets/stylesheets/explore.scss */
.explore-page .explore-quick-start .explore-quick-start-subtext {
  margin: 0 0 0.75rem 0;
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 332, app/assets/stylesheets/explore.scss */
.explore-page .explore-quick-start .explore-quick-start-links {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

@media (min-width: 768px) {
  /* line 332, app/assets/stylesheets/explore.scss */
  .explore-page .explore-quick-start .explore-quick-start-links {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
  }
}

/* line 344, app/assets/stylesheets/explore.scss */
.explore-page .explore-quick-start .explore-quick-start-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.875rem;
  color: #1F5C96;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 353, app/assets/stylesheets/explore.scss */
.explore-page .explore-quick-start .explore-quick-start-link:hover {
  color: #123B66;
  text-decoration: none;
}

/* line 357, app/assets/stylesheets/explore.scss */
.explore-page .explore-quick-start .explore-quick-start-link:hover i {
  transform: translateX(2px);
}

/* line 362, app/assets/stylesheets/explore.scss */
.explore-page .explore-quick-start .explore-quick-start-link i {
  font-size: 0.75rem;
  transition: transform 0.15s ease;
}

/* line 5, app/assets/stylesheets/global_search.scss */
.power-search-trigger {
  border: 2px solid var(--blue-grey-300);
  border-radius: 999px;
  padding: 1.1rem 1.5rem;
  background: white;
  cursor: pointer;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

/* line 13, app/assets/stylesheets/global_search.scss */
.power-search-trigger:hover, .power-search-trigger:focus {
  border-color: var(--blue-grey-400);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
  outline: none;
}

/* line 21, app/assets/stylesheets/global_search.scss */
body.power-search-locked {
  overflow: hidden;
}

/* line 25, app/assets/stylesheets/global_search.scss */
.power-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: #f5f6f8;
  border-top: 4px solid var(--blue-grey-100);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.35);
  padding: 2.5rem clamp(1rem, 4vw, 4rem);
  display: flex;
  align-items: flex-start;
  overflow: auto;
}

/* line 38, app/assets/stylesheets/global_search.scss */
.power-search-panel {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}

/* line 44, app/assets/stylesheets/global_search.scss */
.power-search-header .input-group {
  border: 1px solid var(--blue-grey-300);
  border-radius: 0.375rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* line 50, app/assets/stylesheets/global_search.scss */
.power-search-header .input-group:focus-within {
  border-color: var(--light-blue-vivid-600);
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

/* line 54, app/assets/stylesheets/global_search.scss */
.power-search-header .input-group:focus-within .input-group-text {
  border-color: var(--light-blue-vivid-600);
}

/* line 58, app/assets/stylesheets/global_search.scss */
.power-search-header .input-group:focus-within .form-control {
  border-color: var(--light-blue-vivid-600);
  box-shadow: none;
}

/* line 65, app/assets/stylesheets/global_search.scss */
.power-search-header .input-group-text {
  border-color: var(--blue-grey-300);
  transition: border-color 0.15s ease-in-out;
}

/* line 70, app/assets/stylesheets/global_search.scss */
.power-search-header .form-control {
  font-size: 1.1rem;
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
  border-color: var(--blue-grey-300);
  transition: border-color 0.15s ease-in-out;
}

/* line 77, app/assets/stylesheets/global_search.scss */
.power-search-header .form-control:focus {
  border-color: var(--light-blue-vivid-600);
  box-shadow: none;
}

/* line 83, app/assets/stylesheets/global_search.scss */
.power-search-body {
  margin-top: 2rem;
}

/* line 87, app/assets/stylesheets/global_search.scss */
.power-search-card {
  transition: box-shadow 0.2s ease;
}

/* line 92, app/assets/stylesheets/global_search.scss */
.power-search-card.power-search-card-expanded {
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

/* line 97, app/assets/stylesheets/global_search.scss */
.power-search-view-all {
  font-size: 0.85rem;
  text-decoration: none;
  color: var(--light-blue-vivid-600);
  font-weight: 500;
}

/* line 103, app/assets/stylesheets/global_search.scss */
.power-search-view-all:hover {
  text-decoration: underline;
}

/* line 108, app/assets/stylesheets/global_search.scss */
.power-search-result-count {
  font-size: 0.85rem;
  color: var(--blue-grey-600);
  font-weight: 500;
}

/* line 114, app/assets/stylesheets/global_search.scss */
.power-search-results-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-height: 400px;
  overflow-y: auto;
  overflow-x: hidden;
  outline: none;
  border: none;
}

/* line 125, app/assets/stylesheets/global_search.scss */
.power-search-results-list:focus {
  outline: none;
}

/* line 130, app/assets/stylesheets/global_search.scss */
.power-search-results-list::-webkit-scrollbar-thumb {
  background-color: var(--blue-grey-300);
  border-radius: 4px;
}

/* line 135, app/assets/stylesheets/global_search.scss */
.power-search-results-list::-webkit-scrollbar {
  width: 6px;
  height: 0;
}

/* line 140, app/assets/stylesheets/global_search.scss */
.power-search-results-list::-webkit-scrollbar-track {
  background: transparent;
}

/* line 145, app/assets/stylesheets/global_search.scss */
.power-search-result {
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--blue-grey-100);
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  color: inherit;
  transition: background-color 0.15s ease;
  text-align: left;
}

/* line 156, app/assets/stylesheets/global_search.scss */
.power-search-result:last-child {
  border-bottom: none;
}

/* line 160, app/assets/stylesheets/global_search.scss */
.power-search-result:hover {
  background-color: var(--blue-grey-025);
  border-radius: 4px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

/* line 169, app/assets/stylesheets/global_search.scss */
.power-search-result > div {
  text-align: left;
  flex-grow: 1;
}

/* line 174, app/assets/stylesheets/global_search.scss */
.power-search-result .result-title {
  font-weight: 500;
  font-size: 0.95rem;
  color: var(--blue-grey-900);
  margin-bottom: 0.25rem;
  line-height: 1.3;
  text-align: left;
}

/* line 183, app/assets/stylesheets/global_search.scss */
.power-search-result .result-meta {
  font-size: 0.85rem;
  color: var(--blue-grey-600);
  line-height: 1.4;
  text-align: left;
}

/* line 190, app/assets/stylesheets/global_search.scss */
.power-search-result .result-badge {
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F5C96;
  background: #E4EEF8;
  border-radius: 4px;
  padding: 0.15rem 0.5rem;
  margin-left: 0.5rem;
  display: inline-block;
}

@media (max-width: 768px) {
  /* line 203, app/assets/stylesheets/global_search.scss */
  .power-search-trigger {
    padding: 0.8rem 1.2rem;
  }
  /* line 207, app/assets/stylesheets/global_search.scss */
  .power-search-overlay {
    padding: 1.5rem 1rem;
  }
  /* line 211, app/assets/stylesheets/global_search.scss */
  .power-search-header {
    flex-direction: column;
    align-items: stretch !important;
  }
}

/* line 10, app/assets/stylesheets/_account.scss */
.btn-account-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  background: #4B5563;
  color: #FFFFFF;
  border: none;
  padding: 0.625rem 1.25rem;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: inherit;
  line-height: 1.4;
  cursor: pointer;
  transition: 0.15s ease;
  text-decoration: none;
}

/* line 28, app/assets/stylesheets/_account.scss */
.btn-account-primary:hover {
  background: #323C47;
  color: #FFFFFF;
  text-decoration: none;
}

/* line 34, app/assets/stylesheets/_account.scss */
.btn-account-primary:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(72, 101, 129, 0.3);
}

/* line 39, app/assets/stylesheets/_account.scss */
.btn-account-primary:active {
  background: #1F2933;
}

/* line 43, app/assets/stylesheets/_account.scss */
.btn-account-primary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* line 49, app/assets/stylesheets/_account.scss */
.btn-account-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  background: #FFFFFF;
  color: #4B5563;
  border: 1px solid #E5E7EB;
  padding: 0.625rem 1.25rem;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: inherit;
  line-height: 1.4;
  cursor: pointer;
  transition: 0.15s ease;
  text-decoration: none;
}

/* line 67, app/assets/stylesheets/_account.scss */
.btn-account-secondary:hover {
  background: #F9FAFB;
  border-color: #D1D5DB;
  color: #323C47;
  text-decoration: none;
}

/* line 74, app/assets/stylesheets/_account.scss */
.btn-account-secondary:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(72, 101, 129, 0.15);
}

/* line 79, app/assets/stylesheets/_account.scss */
.btn-account-secondary:active {
  background: #F3F4F6;
}

/* line 83, app/assets/stylesheets/_account.scss */
.btn-account-secondary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* line 90, app/assets/stylesheets/_account.scss */
.btn-cancel-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  background: transparent;
  color: #9B2331;
  border: 1px solid #9B2331;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: 0.15s ease;
}

/* line 105, app/assets/stylesheets/_account.scss */
.btn-cancel-outline:hover {
  background: #F8F0F1;
  color: #9B2331;
}

/* line 112, app/assets/stylesheets/_account.scss */
.subscription-actions-divider {
  border-top: 1px solid #E5E7EB;
  margin-top: 1rem;
  padding-top: 1rem;
}

/* line 118, app/assets/stylesheets/_account.scss */
.btn-account-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  background: transparent;
  border: none;
  color: #6B7280;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  transition: 0.15s ease;
  text-decoration: none;
}

/* line 133, app/assets/stylesheets/_account.scss */
.btn-account-link:hover {
  color: #323C47;
  text-decoration: underline;
}

/* line 138, app/assets/stylesheets/_account.scss */
.btn-account-link:focus {
  outline: none;
}

/* line 147, app/assets/stylesheets/_account.scss */
.status-banner {
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  background: linear-gradient(135deg, #F9FAFB 0%, #F4F7FC 100%);
}

/* line 152, app/assets/stylesheets/_account.scss */
.status-banner .status-banner-body {
  padding: 1.5rem;
}

/* line 156, app/assets/stylesheets/_account.scss */
.status-banner .status-banner-title {
  color: #1F2933;
  font-size: 1.25rem;
  font-weight: 500;
  margin: 0;
}

/* line 165, app/assets/stylesheets/_account.scss */
.status-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 173, app/assets/stylesheets/_account.scss */
.status-icon i {
  font-size: 1.5rem;
}

/* line 177, app/assets/stylesheets/_account.scss */
.status-icon.status-icon-success {
  background-color: #E2F5F5;
}

/* line 179, app/assets/stylesheets/_account.scss */
.status-icon.status-icon-success i {
  color: #1F6B4E;
}

/* line 182, app/assets/stylesheets/_account.scss */
.status-icon.status-icon-warning {
  background-color: #F8F5ED;
}

/* line 184, app/assets/stylesheets/_account.scss */
.status-icon.status-icon-warning i {
  color: #8A6A06;
}

/* line 187, app/assets/stylesheets/_account.scss */
.status-icon.status-icon-danger {
  background-color: #F8F0F1;
}

/* line 189, app/assets/stylesheets/_account.scss */
.status-icon.status-icon-danger i {
  color: #9B2331;
}

/* line 192, app/assets/stylesheets/_account.scss */
.status-icon.status-icon-info {
  background-color: #EDF3F8;
}

/* line 194, app/assets/stylesheets/_account.scss */
.status-icon.status-icon-info i {
  color: #1D5E96;
}

/* line 197, app/assets/stylesheets/_account.scss */
.status-icon.status-icon-neutral {
  width: 64px;
  height: 64px;
  background-color: #F3F4F6;
}

/* line 201, app/assets/stylesheets/_account.scss */
.status-icon.status-icon-neutral i {
  font-size: 2rem;
  color: #6B7280;
}

/* line 209, app/assets/stylesheets/_account.scss */
.btn-status-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.625rem 1.25rem;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  border: none;
  cursor: pointer;
  transition: 0.15s ease;
}

/* line 222, app/assets/stylesheets/_account.scss */
.btn-status-action.btn-status-success {
  background-color: #1F6B4E;
  color: #FFFFFF;
}

/* line 225, app/assets/stylesheets/_account.scss */
.btn-status-action.btn-status-success:hover {
  background-color: #195740;
}

/* line 228, app/assets/stylesheets/_account.scss */
.btn-status-action.btn-status-warning {
  background-color: #8A6A06;
  color: #FFFFFF;
}

/* line 231, app/assets/stylesheets/_account.scss */
.btn-status-action.btn-status-warning:hover {
  background-color: #725705;
}

/* line 234, app/assets/stylesheets/_account.scss */
.btn-status-action.btn-status-danger {
  background-color: #9B2331;
  color: #FFFFFF;
}

/* line 237, app/assets/stylesheets/_account.scss */
.btn-status-action.btn-status-danger:hover {
  background-color: #861e2a;
}

/* line 240, app/assets/stylesheets/_account.scss */
.btn-status-action.btn-status-info {
  background-color: #1D5E96;
  color: #FFFFFF;
}

/* line 243, app/assets/stylesheets/_account.scss */
.btn-status-action.btn-status-info:hover {
  background-color: #195181;
}

/* line 251, app/assets/stylesheets/_account.scss */
.info-box {
  padding: 0.75rem 1rem;
  background: #F9FAFB;
  border-radius: 8px;
}

/* line 256, app/assets/stylesheets/_account.scss */
.info-box.info-box-accent {
  border-left: 3px solid #D1D5DB;
}

/* line 260, app/assets/stylesheets/_account.scss */
.info-box.info-box-success {
  background: #E2F5F5;
  border-left: 3px solid #127A7A;
}

/* line 270, app/assets/stylesheets/_account.scss */
.section-label {
  color: #6B7280;
  font-weight: 500;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
}

/* line 283, app/assets/stylesheets/_account.scss */
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
}

/* line 292, app/assets/stylesheets/_account.scss */
.status-badge.status-badge-sm {
  font-size: 0.7rem;
  padding: 0.2rem 0.5rem;
}

/* line 297, app/assets/stylesheets/_account.scss */
.status-badge.status-active {
  background: #E2F5F5;
  color: #1F6B4E;
}

/* line 302, app/assets/stylesheets/_account.scss */
.status-badge.status-trial {
  background: #EDF3F8;
  color: #1D5E96;
}

/* line 307, app/assets/stylesheets/_account.scss */
.status-badge.status-ending {
  background: #F8F5ED;
  color: #8A6A06;
}

/* line 312, app/assets/stylesheets/_account.scss */
.status-badge.status-past-due {
  background: #F8F0F1;
  color: #9B2331;
}

/* line 317, app/assets/stylesheets/_account.scss */
.status-badge.status-inactive {
  background: #E5E7EB;
  color: #4B5563;
}

/* line 327, app/assets/stylesheets/_account.scss */
.subscription-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 1rem;
  transition: 0.2s ease;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 336, app/assets/stylesheets/_account.scss */
.subscription-card.subscription-card-past {
  background: #F9FAFB;
  opacity: 0.85;
  box-shadow: none;
}

/* line 342, app/assets/stylesheets/_account.scss */
.subscription-card:hover {
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 346, app/assets/stylesheets/_account.scss */
.subscription-card .subscription-card-header {
  padding: 1.25rem 1.5rem;
  background: #FFFFFF;
  border-bottom: 1px solid #F3F4F6;
  border-left: 3px solid #9CA3AF;
}

/* line 353, app/assets/stylesheets/_account.scss */
.subscription-card .subscription-card-body {
  padding: 1.25rem 1.5rem;
  background: #FFFFFF;
}

/* line 358, app/assets/stylesheets/_account.scss */
.subscription-card .subscription-card-footer {
  padding: 1rem 1.5rem;
  background: #FFFFFF;
  border-top: 1px solid #F3F4F6;
}

/* line 364, app/assets/stylesheets/_account.scss */
.subscription-card .plan-name {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 371, app/assets/stylesheets/_account.scss */
.subscription-card .plan-scope {
  color: #9CA3AF;
  font-size: 0.875rem;
  font-weight: 400;
}

/* line 377, app/assets/stylesheets/_account.scss */
.subscription-card .plan-price {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 382, app/assets/stylesheets/_account.scss */
.subscription-card .plan-price .price-period {
  font-size: 0.875rem;
  font-weight: 400;
  color: #9CA3AF;
}

/* line 389, app/assets/stylesheets/_account.scss */
.subscription-card .renewal-info {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-top: 0.5rem;
}

/* line 395, app/assets/stylesheets/_account.scss */
.subscription-card .payment-method {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background: #F9FAFB;
  border-radius: 8px;
  margin-top: 1rem;
}

/* line 404, app/assets/stylesheets/_account.scss */
.subscription-card .payment-method .card-icon {
  font-size: 1.25rem;
  color: #9CA3AF;
}

/* line 409, app/assets/stylesheets/_account.scss */
.subscription-card .payment-method .card-details {
  flex: 1;
}

/* line 412, app/assets/stylesheets/_account.scss */
.subscription-card .payment-method .card-details .card-brand {
  font-weight: 500;
  color: #4B5563;
}

/* line 417, app/assets/stylesheets/_account.scss */
.subscription-card .payment-method .card-details .card-number {
  color: #9CA3AF;
  font-size: 0.875rem;
}

/* line 426, app/assets/stylesheets/_account.scss */
.plan-selector {
  cursor: pointer;
  border: 1px solid #E5E7EB;
  transition: 0.15s ease;
}

/* line 431, app/assets/stylesheets/_account.scss */
.plan-selector:hover {
  border-color: #B8BFC7;
}

/* line 435, app/assets/stylesheets/_account.scss */
.plan-selector.plan-selector-active {
  border-color: #1F5C96;
  background-color: #F4F7FC;
}

/* line 445, app/assets/stylesheets/_account.scss */
.empty-state {
  text-align: center;
  padding: 3rem 2rem;
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  border-radius: 12px;
}

/* line 452, app/assets/stylesheets/_account.scss */
.empty-state.empty-state-compact {
  padding: 2rem;
}

/* line 456, app/assets/stylesheets/_account.scss */
.empty-state.empty-state-inline {
  padding: 1.5rem;
  border: none;
  background: transparent;
}

/* line 462, app/assets/stylesheets/_account.scss */
.empty-state .empty-state-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 1rem;
  background: #F9FAFB;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 472, app/assets/stylesheets/_account.scss */
.empty-state .empty-state-icon i {
  font-size: 1.5rem;
  color: #B8BFC7;
}

/* line 478, app/assets/stylesheets/_account.scss */
.empty-state .empty-state-title {
  font-size: 1rem;
  font-weight: 500;
  color: #4B5563;
  margin-bottom: 0.5rem;
}

/* line 485, app/assets/stylesheets/_account.scss */
.empty-state .empty-state-text {
  color: #9CA3AF;
  font-size: 0.875rem;
  margin-bottom: 1.5rem;
}

/* line 496, app/assets/stylesheets/_account.scss */
.account-alert {
  padding: 1rem 1.25rem;
  border-radius: 8px;
  margin-bottom: 1rem;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

/* line 504, app/assets/stylesheets/_account.scss */
.account-alert.alert-warning {
  background: #F8F5ED;
  border: 1px solid #F8F5ED;
}

/* line 508, app/assets/stylesheets/_account.scss */
.account-alert.alert-warning i {
  color: #8A6A06;
}

/* line 512, app/assets/stylesheets/_account.scss */
.account-alert.alert-warning .alert-text {
  color: #8A6A06;
}

/* line 517, app/assets/stylesheets/_account.scss */
.account-alert.alert-danger {
  background: #F8F0F1;
  border: 1px solid #F8F0F1;
}

/* line 521, app/assets/stylesheets/_account.scss */
.account-alert.alert-danger i {
  color: #9B2331;
}

/* line 525, app/assets/stylesheets/_account.scss */
.account-alert.alert-danger .alert-text {
  color: #9B2331;
}

/* line 530, app/assets/stylesheets/_account.scss */
.account-alert .alert-text {
  font-size: 0.875rem;
  line-height: 1.5;
}

/* line 540, app/assets/stylesheets/_account.scss */
.account-page {
  max-width: 900px;
  margin: 0 auto;
}

/* line 545, app/assets/stylesheets/_account.scss */
.account-page .account-header {
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 550, app/assets/stylesheets/_account.scss */
.account-page .account-header .account-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 0.25rem;
  font-family: 'Inter', sans-serif;
}

/* line 558, app/assets/stylesheets/_account.scss */
.account-page .account-header .account-subtitle {
  color: #9CA3AF;
  font-size: 1rem;
  margin: 0;
}

/* line 566, app/assets/stylesheets/_account.scss */
.account-page .account-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}

/* line 572, app/assets/stylesheets/_account.scss */
.account-page .account-section-header .section-title {
  font-size: 1rem;
  font-weight: 500;
  color: #323C47;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
}

/* line 581, app/assets/stylesheets/_account.scss */
.account-page .account-section-header .section-badge {
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-weight: 500;
}

/* line 590, app/assets/stylesheets/_account.scss */
.account-page .billing-history {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 597, app/assets/stylesheets/_account.scss */
.account-page .billing-history .billing-history-header {
  padding: 1rem 1.5rem;
  background: #FFFFFF;
  border-bottom: 1px solid #F3F4F6;
}

/* line 602, app/assets/stylesheets/_account.scss */
.account-page .billing-history .billing-history-header h3 {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
}

/* line 612, app/assets/stylesheets/_account.scss */
.account-page .billing-history table {
  width: 100%;
  margin: 0;
}

/* line 616, app/assets/stylesheets/_account.scss */
.account-page .billing-history table th {
  padding: 0.75rem 1rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid #F3F4F6;
  background: transparent;
  white-space: nowrap;
}

@media (min-width: 768px) {
  /* line 616, app/assets/stylesheets/_account.scss */
  .account-page .billing-history table th {
    padding: 0.75rem 1.5rem;
  }
}

/* line 632, app/assets/stylesheets/_account.scss */
.account-page .billing-history table td {
  padding: 0.875rem 1rem;
  color: #4B5563;
  border-bottom: 1px solid #F9FAFB;
  vertical-align: middle;
}

@media (min-width: 768px) {
  /* line 632, app/assets/stylesheets/_account.scss */
  .account-page .billing-history table td {
    padding: 1rem 1.5rem;
  }
}

/* line 643, app/assets/stylesheets/_account.scss */
.account-page .billing-history table tr:last-child td {
  border-bottom: none;
}

/* line 647, app/assets/stylesheets/_account.scss */
.account-page .billing-history table tr:hover td {
  background: #F9FAFB;
}

/* line 651, app/assets/stylesheets/_account.scss */
.account-page .billing-history table .invoice-amount {
  font-weight: 500;
  color: #323C47;
}

/* line 656, app/assets/stylesheets/_account.scss */
.account-page .billing-history table .invoice-status {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 500;
  white-space: nowrap;
}

/* line 665, app/assets/stylesheets/_account.scss */
.account-page .billing-history table .invoice-status.status-paid {
  background: #E2F5F5;
  color: #1F6B4E;
}

/* line 670, app/assets/stylesheets/_account.scss */
.account-page .billing-history table .invoice-status.status-pending {
  background: #F8F5ED;
  color: #8A6A06;
}

/* line 675, app/assets/stylesheets/_account.scss */
.account-page .billing-history table .invoice-status.status-failed {
  background: #F8F0F1;
  color: #9B2331;
}

/* line 681, app/assets/stylesheets/_account.scss */
.account-page .billing-history table .invoice-download {
  color: #B8BFC7;
  transition: 0.15s ease;
}

/* line 685, app/assets/stylesheets/_account.scss */
.account-page .billing-history table .invoice-download:hover {
  color: #4B5563;
}

/* line 693, app/assets/stylesheets/_account.scss */
.account-page .profile-section {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  border-radius: 12px;
  overflow: hidden;
}

/* line 699, app/assets/stylesheets/_account.scss */
.account-page .profile-section .profile-header {
  padding: 1rem 1.5rem;
  background: #F9FAFB;
  border-bottom: 1px solid #F3F4F6;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* line 709, app/assets/stylesheets/_account.scss */
.account-page .profile-section .profile-header h3 {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
}

/* line 719, app/assets/stylesheets/_account.scss */
.account-page .profile-section .profile-body {
  padding: 1.5rem;
}

/* line 723, app/assets/stylesheets/_account.scss */
.account-page .profile-section .profile-field {
  display: flex;
  padding: 0.75rem 0;
  border-bottom: 1px solid #F9FAFB;
}

/* line 728, app/assets/stylesheets/_account.scss */
.account-page .profile-section .profile-field:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* line 733, app/assets/stylesheets/_account.scss */
.account-page .profile-section .profile-field:first-child {
  padding-top: 0;
}

/* line 737, app/assets/stylesheets/_account.scss */
.account-page .profile-section .profile-field .field-label {
  width: 140px;
  flex-shrink: 0;
  font-size: 0.875rem;
  font-weight: 500;
  color: #9CA3AF;
}

/* line 745, app/assets/stylesheets/_account.scss */
.account-page .profile-section .profile-field .field-value {
  flex: 1;
  color: #323C47;
}

/* line 753, app/assets/stylesheets/_account.scss */
.account-page .email-preference-toggle {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  cursor: pointer;
}

/* line 759, app/assets/stylesheets/_account.scss */
.account-page .email-preference-toggle .form-check-input {
  margin-top: 0.2rem;
  accent-color: #1F5C96;
}

/* line 763, app/assets/stylesheets/_account.scss */
.account-page .email-preference-toggle .form-check-input:checked {
  background-color: #1F5C96;
  border-color: #1F5C96;
}

/* line 768, app/assets/stylesheets/_account.scss */
.account-page .email-preference-toggle .form-check-input:focus {
  border-color: #3A7AB8;
  box-shadow: 0 0 0 0.2rem rgba(31, 92, 150, 0.25);
}

/* line 774, app/assets/stylesheets/_account.scss */
.account-page .email-preference-toggle .email-preference-label {
  flex: 1;
}

/* line 777, app/assets/stylesheets/_account.scss */
.account-page .email-preference-toggle .email-preference-label .field-value {
  color: #323C47;
}

/* line 781, app/assets/stylesheets/_account.scss */
.account-page .email-preference-toggle .email-preference-label .field-label {
  width: auto;
  margin-top: 0.125rem;
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 791, app/assets/stylesheets/_account.scss */
.account-page .trust-indicator {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 798, app/assets/stylesheets/_account.scss */
.account-page .trust-indicator i {
  color: #127A7A;
}

/* line 804, app/assets/stylesheets/_account.scss */
.account-page .past-subscriptions-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: transparent;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  font-size: 0.875rem;
  color: #6B7280;
  cursor: pointer;
  transition: 0.15s ease;
}

/* line 817, app/assets/stylesheets/_account.scss */
.account-page .past-subscriptions-toggle:hover {
  background: #F9FAFB;
  border-color: #D1D5DB;
}

/* line 823, app/assets/stylesheets/_account.scss */
.account-page .past-subscriptions-toggle[aria-expanded="true"] .chevron {
  transform: rotate(180deg);
}

/* line 828, app/assets/stylesheets/_account.scss */
.account-page .past-subscriptions-toggle .chevron {
  transition: 0.2s ease;
}

/* line 834, app/assets/stylesheets/_account.scss */
.account-page .account-footer {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #F3F4F6;
  text-align: center;
}

/* line 840, app/assets/stylesheets/_account.scss */
.account-page .account-footer .footer-links {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}

/* line 846, app/assets/stylesheets/_account.scss */
.account-page .account-footer .footer-links a {
  color: #9CA3AF;
  font-size: 0.875rem;
  text-decoration: none;
  transition: 0.15s ease;
}

/* line 852, app/assets/stylesheets/_account.scss */
.account-page .account-footer .footer-links a:hover {
  color: #4B5563;
}

/* line 858, app/assets/stylesheets/_account.scss */
.account-page .account-footer .footer-trust {
  margin-top: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  color: #B8BFC7;
  font-size: 0.75rem;
}

/* line 867, app/assets/stylesheets/_account.scss */
.account-page .account-footer .footer-trust i {
  color: #127A7A;
}

/* line 874, app/assets/stylesheets/_account.scss */
.account-page .account-tabs {
  border-bottom: 1px solid #E5E7EB;
  margin-bottom: 1.5rem;
  gap: 0;
}

/* line 879, app/assets/stylesheets/_account.scss */
.account-page .account-tabs .nav-item {
  margin-right: 0.5rem;
}

/* line 883, app/assets/stylesheets/_account.scss */
.account-page .account-tabs .nav-link {
  padding: 0.875rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #9CA3AF;
  border: none;
  border-bottom: 2px solid transparent;
  background: transparent;
  transition: 0.15s ease;
}

/* line 893, app/assets/stylesheets/_account.scss */
.account-page .account-tabs .nav-link:hover {
  color: #4B5563;
  border-color: transparent;
}

/* line 898, app/assets/stylesheets/_account.scss */
.account-page .account-tabs .nav-link.active {
  color: #323C47;
  border-bottom-color: #4B5563;
  background: transparent;
}

/* line 904, app/assets/stylesheets/_account.scss */
.account-page .account-tabs .nav-link i {
  margin-right: 0.5rem;
}

@media (max-width: 768px) {
  /* line 915, app/assets/stylesheets/_account.scss */
  .account-page .subscription-card .subscription-card-header {
    padding: 1rem;
  }
  /* line 919, app/assets/stylesheets/_account.scss */
  .account-page .subscription-card .subscription-card-body {
    padding: 1rem;
  }
  /* line 924, app/assets/stylesheets/_account.scss */
  .account-page .profile-section .profile-field {
    flex-direction: column;
  }
  /* line 927, app/assets/stylesheets/_account.scss */
  .account-page .profile-section .profile-field .field-label {
    width: 100%;
    margin-bottom: 0.25rem;
  }
  /* line 933, app/assets/stylesheets/_account.scss */
  .account-page .account-footer .footer-links {
    gap: 1rem;
  }
}

/* line 943, app/assets/stylesheets/_account.scss */
.mobile-header-spacer {
  height: 73px;
}

/* line 947, app/assets/stylesheets/_account.scss */
.mobile-header {
  z-index: 1020;
}

/* line 955, app/assets/stylesheets/_account.scss */
.add-plan-type-selector {
  display: flex;
  gap: 0.75rem;
}

@media (max-width: 576px) {
  /* line 955, app/assets/stylesheets/_account.scss */
  .add-plan-type-selector {
    flex-direction: column;
  }
}

/* line 964, app/assets/stylesheets/_account.scss */
.add-plan-type-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.5rem;
  background: #FFFFFF;
  border: 2px solid #E5E7EB;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 500;
  color: #6B7280;
  cursor: pointer;
  transition: 0.15s ease;
}

/* line 979, app/assets/stylesheets/_account.scss */
.add-plan-type-btn:hover {
  border-color: #B8BFC7;
  color: #323C47;
}

/* line 984, app/assets/stylesheets/_account.scss */
.add-plan-type-btn.active {
  border-color: #4B5563;
  background: #F9FAFB;
  color: #323C47;
}

/* line 991, app/assets/stylesheets/_account.scss */
.add-plan-billing-toggle {
  display: inline-flex;
  background: #F3F4F6;
  border-radius: 8px;
  padding: 4px;
}

/* line 998, app/assets/stylesheets/_account.scss */
.add-plan-billing-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  cursor: pointer;
  transition: 0.15s ease;
}

/* line 1012, app/assets/stylesheets/_account.scss */
.add-plan-billing-btn:hover {
  color: #323C47;
}

/* line 1016, app/assets/stylesheets/_account.scss */
.add-plan-billing-btn.active {
  background: #FFFFFF;
  color: #323C47;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 1023, app/assets/stylesheets/_account.scss */
.add-plan-billing-badge {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  background: #E2F5F5;
  color: #127A7A;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
}

/* line 1033, app/assets/stylesheets/_account.scss */
.add-plan-county-selector {
  margin-top: 1rem;
}

/* line 1037, app/assets/stylesheets/_account.scss */
.add-plan-county-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  margin-bottom: 0.5rem;
}

/* line 1045, app/assets/stylesheets/_account.scss */
.add-plan-county-select {
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  border: 1px solid #D1D5DB;
  border-radius: 8px;
  background-color: #FFFFFF;
  color: #323C47;
  cursor: pointer;
  transition: 0.15s ease;
}

/* line 1056, app/assets/stylesheets/_account.scss */
.add-plan-county-select:hover {
  border-color: #B8BFC7;
}

/* line 1060, app/assets/stylesheets/_account.scss */
.add-plan-county-select:focus {
  outline: none;
  border-color: #6B7280;
  box-shadow: 0 0 0 3px rgba(72, 101, 129, 0.15);
}

/* line 1067, app/assets/stylesheets/_account.scss */
.add-plan-coverage-placeholder {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1072, app/assets/stylesheets/_account.scss */
.add-plan-coverage-link {
  display: inline-flex;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  text-decoration: none;
}

/* line 1080, app/assets/stylesheets/_account.scss */
.add-plan-coverage-link:hover {
  color: #1F2933;
  text-decoration: underline;
}

/* line 1086, app/assets/stylesheets/_account.scss */
.add-plan-features {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 1091, app/assets/stylesheets/_account.scss */
.add-plan-features li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0;
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 1099, app/assets/stylesheets/_account.scss */
.add-plan-features li i {
  flex-shrink: 0;
}

/* line 1105, app/assets/stylesheets/_account.scss */
.add-plan-subscribe-btn {
  padding: 0.875rem 1.5rem;
  font-size: 1rem;
}

/* line 1109, app/assets/stylesheets/_account.scss */
.add-plan-subscribe-btn.disabled {
  opacity: 0.5;
  pointer-events: none;
}

/* line 1115, app/assets/stylesheets/_account.scss */
.add-plan-note {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: #F9FAFB;
  border-radius: 8px;
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 1125, app/assets/stylesheets/_account.scss */
.add-plan-note i {
  flex-shrink: 0;
  margin-top: 0.125rem;
}

/* line 1136, app/assets/stylesheets/_account.scss */
#upgradeModal .bb-modal-body {
  background: #F9FAFB;
}

/* line 1141, app/assets/stylesheets/_account.scss */
#upgradeModal .subscription-card {
  background: #FFFFFF;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 1147, app/assets/stylesheets/_account.scss */
#upgradeModal .info-box {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
}

/* line 1151, app/assets/stylesheets/_account.scss */
#upgradeModal .info-box.info-box-accent {
  border-left: 3px solid #D1D5DB;
}

/* line 1158, app/assets/stylesheets/_account.scss */
.upgrade-confirm-hero {
  text-align: center;
  padding: 1.5rem;
  background: #FFFFFF;
  border-radius: 12px;
  border: 1px solid #E5E7EB;
}

/* line 1166, app/assets/stylesheets/_account.scss */
.upgrade-confirm-plan-name {
  font-size: 1.125rem;
  font-weight: 500;
  color: #323C47;
  margin-bottom: 0.5rem;
}

/* line 1173, app/assets/stylesheets/_account.scss */
.upgrade-confirm-plan-price {
  font-size: 2rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
}

/* line 1180, app/assets/stylesheets/_account.scss */
.upgrade-confirm-plan-interval {
  font-size: 1rem;
  font-weight: 400;
  color: #9CA3AF;
}

/* line 1187, app/assets/stylesheets/_account.scss */
.upgrade-confirm-summary {
  background: #FFFFFF;
  border-radius: 12px;
  border: 1px solid #E5E7EB;
  padding: 1rem 1.25rem;
}

/* line 1194, app/assets/stylesheets/_account.scss */
.upgrade-confirm-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 1200, app/assets/stylesheets/_account.scss */
.upgrade-confirm-summary-label {
  font-size: 1rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 1206, app/assets/stylesheets/_account.scss */
.upgrade-confirm-summary-amount {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 1213, app/assets/stylesheets/_account.scss */
.upgrade-confirm-section {
  padding-bottom: 1rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1222, app/assets/stylesheets/_account.scss */
.cancellation-reason-section {
  padding-top: 0.75rem;
  border-top: 1px solid #E5E7EB;
}

/* line 1226, app/assets/stylesheets/_account.scss */
.cancellation-reason-section .form-label {
  font-size: 0.875rem;
  color: #4B5563;
  margin-bottom: 0.5rem;
}

/* line 1232, app/assets/stylesheets/_account.scss */
.cancellation-reason-section .form-select {
  font-size: 0.875rem;
  border-color: #D1D5DB;
  border-radius: 4px;
  color: #1F2933;
}

/* line 1238, app/assets/stylesheets/_account.scss */
.cancellation-reason-section .form-select:focus {
  border-color: #3A7AB8;
  box-shadow: 0 0 0 2px rgba(31, 92, 150, 0.15);
}

/* line 1244, app/assets/stylesheets/_account.scss */
.cancellation-reason-section textarea.form-control {
  font-size: 0.875rem;
  border-color: #D1D5DB;
  border-radius: 4px;
  resize: vertical;
  min-height: 60px;
}

/* line 1251, app/assets/stylesheets/_account.scss */
.cancellation-reason-section textarea.form-control:focus {
  border-color: #3A7AB8;
  box-shadow: 0 0 0 2px rgba(31, 92, 150, 0.15);
}

/* line 1256, app/assets/stylesheets/_account.scss */
.cancellation-reason-section textarea.form-control::placeholder {
  color: #9CA3AF;
}

/* line 8, app/assets/stylesheets/_help.scss */
.help-drawer {
  width: 420px;
  max-width: 90vw;
}

@media (max-width: 576px) {
  /* line 8, app/assets/stylesheets/_help.scss */
  .help-drawer {
    width: 100%;
  }
}

/* line 17, app/assets/stylesheets/_help.scss */
.help-drawer-header {
  background-color: var(--blue-grey-050);
  border-bottom: 1px solid var(--blue-grey-200);
  padding: 1rem 1.25rem;
}

/* line 23, app/assets/stylesheets/_help.scss */
.help-drawer-icon-container {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-600);
  font-size: 1rem;
}

/* line 35, app/assets/stylesheets/_help.scss */
.help-drawer-body {
  padding: 1.25rem;
  font-size: 0.95rem;
  line-height: 1.6;
}

/* line 40, app/assets/stylesheets/_help.scss */
.help-drawer-body h6 {
  color: var(--blue-grey-800);
  font-size: 0.95rem;
}

/* line 45, app/assets/stylesheets/_help.scss */
.help-drawer-body p {
  color: var(--blue-grey-700);
  margin-bottom: 1rem;
}

/* line 49, app/assets/stylesheets/_help.scss */
.help-drawer-body p:last-child {
  margin-bottom: 0;
}

/* line 54, app/assets/stylesheets/_help.scss */
.help-drawer-body ul {
  padding-left: 1.25rem;
  color: var(--blue-grey-700);
}

/* line 58, app/assets/stylesheets/_help.scss */
.help-drawer-body ul li {
  margin-bottom: 0.5rem;
}

/* line 61, app/assets/stylesheets/_help.scss */
.help-drawer-body ul li:last-child {
  margin-bottom: 0;
}

/* line 67, app/assets/stylesheets/_help.scss */
.help-drawer-body strong {
  color: var(--blue-grey-800);
}

/* line 71, app/assets/stylesheets/_help.scss */
.help-drawer-body code {
  font-size: 0.85em;
}

/* line 76, app/assets/stylesheets/_help.scss */
.help-drawer-footer {
  padding: 0.75rem 1.25rem;
  border-top: 1px solid var(--blue-grey-200);
  background-color: var(--blue-grey-050);
}

/* line 81, app/assets/stylesheets/_help.scss */
.help-drawer-footer a {
  color: var(--blue-grey-600);
}

/* line 84, app/assets/stylesheets/_help.scss */
.help-drawer-footer a:hover {
  color: var(--blue-grey-800);
}

/* line 90, app/assets/stylesheets/_help.scss */
.help-drawer-loading {
  min-height: 200px;
}

/* line 98, app/assets/stylesheets/_help.scss */
.help-tooltip-icon {
  transition: color 0.15s ease;
}

/* line 101, app/assets/stylesheets/_help.scss */
.help-tooltip-icon:hover {
  color: var(--blue-grey-700) !important;
}

/* line 110, app/assets/stylesheets/_help.scss */
.help-drawer-link {
  color: var(--blue-grey-500);
  transition: color 0.15s ease;
}

/* line 114, app/assets/stylesheets/_help.scss */
.help-drawer-link:hover {
  color: var(--blue-grey-700);
}

/* line 118, app/assets/stylesheets/_help.scss */
.help-drawer-link i {
  font-size: 0.9em;
}

/* line 123, app/assets/stylesheets/_help.scss */
.help-drawer-icon {
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 127, app/assets/stylesheets/_help.scss */
.help-drawer-icon:hover {
  color: var(--blue-grey-700) !important;
}

/* line 136, app/assets/stylesheets/_help.scss */
.help-hub {
  max-width: 800px;
  margin: 0 auto;
}

/* line 141, app/assets/stylesheets/_help.scss */
.help-hub-header {
  text-align: center;
  margin-bottom: 2.5rem;
}

/* line 145, app/assets/stylesheets/_help.scss */
.help-hub-header h1 {
  color: var(--blue-grey-900);
  font-weight: 700;
  margin-bottom: 0.5rem;
}

/* line 151, app/assets/stylesheets/_help.scss */
.help-hub-header p {
  color: var(--blue-grey-600);
  font-size: 1.1rem;
  margin-bottom: 0;
}

/* line 158, app/assets/stylesheets/_help.scss */
.help-category-card {
  border: 1px solid var(--blue-grey-200);
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 1.5rem;
  background: white;
}

/* line 165, app/assets/stylesheets/_help.scss */
.help-category-card:last-child {
  margin-bottom: 0;
}

/* line 170, app/assets/stylesheets/_help.scss */
.help-category-header {
  display: flex;
  align-items: center;
  padding: 1rem 1.25rem;
  background-color: var(--blue-grey-050);
  border-bottom: 1px solid var(--blue-grey-200);
}

/* line 177, app/assets/stylesheets/_help.scss */
.help-category-header .help-category-icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  margin-right: 0.875rem;
  font-size: 1rem;
  background-color: var(--blue-grey-100);
  color: var(--blue-grey-600);
}

/* line 190, app/assets/stylesheets/_help.scss */
.help-category-header h2 {
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--blue-grey-800);
  margin-bottom: 0;
}

/* line 199, app/assets/stylesheets/_help.scss */
.help-category-body .accordion-item {
  border: none;
  border-bottom: 1px solid var(--blue-grey-100);
}

/* line 203, app/assets/stylesheets/_help.scss */
.help-category-body .accordion-item:last-child {
  border-bottom: none;
}

/* line 208, app/assets/stylesheets/_help.scss */
.help-category-body .accordion-button {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--blue-grey-700);
  padding: 1rem 1.25rem;
  background-color: transparent;
}

/* line 215, app/assets/stylesheets/_help.scss */
.help-category-body .accordion-button:not(.collapsed) {
  color: var(--blue-grey-900);
  background-color: transparent;
  box-shadow: none;
}

/* line 221, app/assets/stylesheets/_help.scss */
.help-category-body .accordion-button:focus {
  box-shadow: none;
  border-color: transparent;
}

/* line 226, app/assets/stylesheets/_help.scss */
.help-category-body .accordion-button::after {
  width: 1rem;
  height: 1rem;
  background-size: 1rem;
}

/* line 233, app/assets/stylesheets/_help.scss */
.help-category-body .accordion-body {
  padding: 0 1.25rem 1rem 1.25rem;
  font-size: 0.9rem;
  color: var(--blue-grey-600);
  line-height: 1.6;
}

/* line 239, app/assets/stylesheets/_help.scss */
.help-category-body .accordion-body a {
  color: var(--blue-grey-700);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* line 244, app/assets/stylesheets/_help.scss */
.help-category-body .accordion-body a:hover {
  color: var(--blue-grey-900);
}

/* line 255, app/assets/stylesheets/_help.scss */
.help-inline-tip {
  display: flex;
  align-items: flex-start;
  padding: 0.75rem 1rem;
  background-color: var(--blue-grey-050);
  border-radius: 6px;
  border-left: 3px solid var(--blue-grey-300);
  font-size: 0.875rem;
  color: var(--blue-grey-700);
}

/* line 265, app/assets/stylesheets/_help.scss */
.help-inline-tip .help-inline-icon {
  color: var(--blue-grey-500);
  margin-right: 0.625rem;
  flex-shrink: 0;
}

/* line 271, app/assets/stylesheets/_help.scss */
.help-inline-tip strong {
  color: var(--blue-grey-800);
}

/* line 14, app/assets/stylesheets/_guide.scss */
.bb-guide {
  max-width: 1200px;
  margin: 0 auto;
}

/* line 20, app/assets/stylesheets/_guide.scss */
.bb-guide-sections {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.5rem;
}

/* line 26, app/assets/stylesheets/_guide.scss */
.bb-guide-section-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.5rem;
  transition: box-shadow 0.15s ease;
}

/* line 33, app/assets/stylesheets/_guide.scss */
.bb-guide-section-card:hover {
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 38, app/assets/stylesheets/_guide.scss */
.bb-guide-section-card--workflows {
  border-left: 4px solid #3A7AB8;
}

/* line 43, app/assets/stylesheets/_guide.scss */
.bb-guide-section-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 50, app/assets/stylesheets/_guide.scss */
.bb-guide-section-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #E4EEF8;
  color: #1F5C96;
  border-radius: 6px;
  font-size: 1.25rem;
  flex-shrink: 0;
}

/* line 63, app/assets/stylesheets/_guide.scss */
.bb-guide-section-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
  line-height: 1.3;
}

/* line 70, app/assets/stylesheets/_guide.scss */
.bb-guide-section-title a {
  color: inherit;
  text-decoration: none;
}

/* line 74, app/assets/stylesheets/_guide.scss */
.bb-guide-section-title a:hover {
  color: #1F5C96;
}

/* line 80, app/assets/stylesheets/_guide.scss */
.bb-guide-section-description {
  font-size: 0.875rem;
  color: #6B7280;
  margin: 0 0 1rem 0;
  line-height: 1.5;
}

/* line 88, app/assets/stylesheets/_guide.scss */
.bb-guide-section-framing {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin: -0.5rem 0 1rem 0;
  line-height: 1.5;
  font-style: italic;
}

/* line 97, app/assets/stylesheets/_guide.scss */
.bb-guide-topic-list {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid #F3F4F6;
  padding-top: 0.75rem;
}

/* line 106, app/assets/stylesheets/_guide.scss */
.bb-guide-topic-item:not(:last-child) {
  border-bottom: 1px solid #F3F4F6;
}

/* line 111, app/assets/stylesheets/_guide.scss */
.bb-guide-topic-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 0;
  color: #4B5563;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 120, app/assets/stylesheets/_guide.scss */
.bb-guide-topic-link:hover {
  color: #1F5C96;
}

/* line 123, app/assets/stylesheets/_guide.scss */
.bb-guide-topic-link:hover i {
  transform: translateX(2px);
}

/* line 128, app/assets/stylesheets/_guide.scss */
.bb-guide-topic-link i {
  color: #B8BFC7;
  font-size: 0.875rem;
  transition: transform 0.15s ease;
}

/* line 135, app/assets/stylesheets/_guide.scss */
.bb-guide-topic-title {
  font-size: 0.875rem;
  font-weight: 500;
}

/* line 141, app/assets/stylesheets/_guide.scss */
.bb-guide-new-user-callout {
  background: #F4F7FC;
  border: 1px solid #A3C4E0;
  border-radius: 6px;
  padding: 1rem 1.25rem;
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 149, app/assets/stylesheets/_guide.scss */
.bb-guide-new-user-callout a {
  color: #1F5C96;
  font-weight: 500;
  text-decoration: none;
}

/* line 154, app/assets/stylesheets/_guide.scss */
.bb-guide-new-user-callout a:hover {
  text-decoration: underline;
}

/* line 161, app/assets/stylesheets/_guide.scss */
.bb-guide-footer {
  border-color: #E5E7EB;
}

/* line 169, app/assets/stylesheets/_guide.scss */
.bb-guide-topic-page {
  max-width: 800px;
}

/* line 174, app/assets/stylesheets/_guide.scss */
.bb-guide-breadcrumbs {
  font-size: 0.875rem;
}

/* line 178, app/assets/stylesheets/_guide.scss */
.bb-breadcrumb-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 188, app/assets/stylesheets/_guide.scss */
.bb-breadcrumb-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 193, app/assets/stylesheets/_guide.scss */
.bb-breadcrumb-item a {
  color: #9CA3AF;
  text-decoration: none;
}

/* line 197, app/assets/stylesheets/_guide.scss */
.bb-breadcrumb-item a:hover {
  color: #1F5C96;
}

/* line 203, app/assets/stylesheets/_guide.scss */
.bb-breadcrumb-current {
  color: #4B5563;
  font-weight: 500;
}

/* line 208, app/assets/stylesheets/_guide.scss */
.bb-breadcrumb-separator {
  color: #B8BFC7;
  font-size: 0.625rem;
}

/* line 214, app/assets/stylesheets/_guide.scss */
.bb-guide-article {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 2rem;
}

@media (max-width: 767.98px) {
  /* line 214, app/assets/stylesheets/_guide.scss */
  .bb-guide-article {
    padding: 1.5rem;
  }
}

/* line 225, app/assets/stylesheets/_guide.scss */
.bb-guide-article-header {
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 231, app/assets/stylesheets/_guide.scss */
.bb-guide-article-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 238, app/assets/stylesheets/_guide.scss */
.bb-guide-section-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #1F5C96;
}

/* line 246, app/assets/stylesheets/_guide.scss */
.bb-guide-article-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.5rem 0;
  line-height: 1.25;
}

@media (max-width: 767.98px) {
  /* line 246, app/assets/stylesheets/_guide.scss */
  .bb-guide-article-title {
    font-size: 1.5rem;
  }
}

/* line 259, app/assets/stylesheets/_guide.scss */
.bb-guide-article-context {
  font-size: 1rem;
  color: #9CA3AF;
  margin: 0 0 0.5rem 0;
  line-height: 1.5;
  font-style: italic;
}

/* line 268, app/assets/stylesheets/_guide.scss */
.bb-guide-article-collection {
  font-size: 0.875rem;
  color: #B8BFC7;
  margin: 0 0 1rem 0;
}

/* line 273, app/assets/stylesheets/_guide.scss */
.bb-guide-article-collection a {
  color: #9CA3AF;
  text-decoration: none;
}

/* line 277, app/assets/stylesheets/_guide.scss */
.bb-guide-article-collection a:hover {
  color: #1F5C96;
  text-decoration: underline;
}

/* line 284, app/assets/stylesheets/_guide.scss */
.bb-guide-article-description {
  font-size: 1.125rem;
  color: #6B7280;
  margin: 0;
  line-height: 1.5;
}

/* line 292, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body {
  font-size: 1rem;
  line-height: 1.7;
  color: #323C47;
}

/* line 297, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body p {
  margin: 0 0 1.25rem 0;
}

/* line 301, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body h2, .bb-guide-article-body h3, .bb-guide-article-body h4, .bb-guide-article-body h5, .bb-guide-article-body h6 {
  color: #1F2933;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}

/* line 307, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body h2 {
  font-size: 1.375rem;
  font-weight: 500;
}

/* line 312, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body h3 {
  font-size: 1.125rem;
  font-weight: 500;
}

/* line 317, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body h4 {
  font-size: 1.125rem;
  font-weight: 500;
}

/* line 322, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body h5 {
  font-size: 1rem;
  font-weight: 500;
}

/* line 327, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body h6 {
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* line 334, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body ul, .bb-guide-article-body ol {
  margin: 0 0 1.25rem 0;
  padding-left: 1.5rem;
}

/* line 339, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body li {
  margin-bottom: 0.5rem;
}

/* line 343, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body strong {
  font-weight: 500;
  color: #1F2933;
}

/* line 348, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 352, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body a:hover {
  text-decoration: underline;
}

/* line 357, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body code {
  background: #F3F4F6;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
  font-size: 0.9em;
  color: #323C47;
}

/* line 365, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body pre {
  background: #F3F4F6;
  padding: 1rem;
  border-radius: 6px;
  overflow-x: auto;
  margin: 0 0 1.25rem 0;
}

/* line 372, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body pre code {
  background: none;
  padding: 0;
  font-size: 0.875rem;
}

/* line 379, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body blockquote {
  margin: 0 0 1.25rem 0;
  padding-left: 1rem;
  border-left: 3px solid #A3C4E0;
  color: #6B7280;
  font-style: italic;
}

/* line 387, app/assets/stylesheets/_guide.scss */
.bb-guide-article-body hr {
  border: none;
  border-top: 1px solid #E5E7EB;
  margin: 2rem 0;
}

/* line 395, app/assets/stylesheets/_guide.scss */
.bb-guide-pagination {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #E5E7EB;
}

/* line 404, app/assets/stylesheets/_guide.scss */
.bb-guide-pagination-prev,
.bb-guide-pagination-next {
  flex: 1;
}

/* line 409, app/assets/stylesheets/_guide.scss */
.bb-guide-pagination-next {
  text-align: right;
}

/* line 413, app/assets/stylesheets/_guide.scss */
.bb-guide-pagination-link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 424, app/assets/stylesheets/_guide.scss */
.bb-guide-pagination-link:hover {
  background: #F4F7FC;
  border-color: #A3C4E0;
}

/* line 428, app/assets/stylesheets/_guide.scss */
.bb-guide-pagination-link:hover .bb-guide-pagination-title {
  color: #1F5C96;
}

/* line 433, app/assets/stylesheets/_guide.scss */
.bb-guide-pagination-link i {
  font-size: 1.125rem;
  color: #B8BFC7;
}

/* line 439, app/assets/stylesheets/_guide.scss */
.bb-guide-pagination-text {
  display: flex;
  flex-direction: column;
}

/* line 444, app/assets/stylesheets/_guide.scss */
.bb-guide-pagination-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* line 451, app/assets/stylesheets/_guide.scss */
.bb-guide-pagination-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  transition: color 0.15s ease;
}

@media (max-width: 575.98px) {
  /* line 460, app/assets/stylesheets/_guide.scss */
  .bb-guide-pagination {
    flex-direction: column;
  }
  /* line 464, app/assets/stylesheets/_guide.scss */
  .bb-guide-pagination-next {
    text-align: left;
  }
  /* line 468, app/assets/stylesheets/_guide.scss */
  .bb-guide-pagination-link {
    width: 100%;
  }
}

/* line 87, app/assets/stylesheets/_styleguide.scss */
.styleguide-page {
  background-color: #F4F7FC;
  min-height: 100vh;
}

/* line 92, app/assets/stylesheets/_styleguide.scss */
.styleguide-header {
  background-color: #0B2742;
  color: #FFFFFF;
  padding: 2rem 0;
  margin-bottom: 2rem;
}

/* line 98, app/assets/stylesheets/_styleguide.scss */
.styleguide-header h1 {
  font-weight: 500;
  margin-bottom: 0.5rem;
}

/* line 103, app/assets/stylesheets/_styleguide.scss */
.styleguide-header p {
  opacity: 0.85;
  margin-bottom: 0;
}

/* line 109, app/assets/stylesheets/_styleguide.scss */
.styleguide-section {
  background: #FFFFFF;
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  border: 1px solid #E5E7EB;
}

/* line 118, app/assets/stylesheets/_styleguide.scss */
.styleguide-section-title {
  font-size: 1.25rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 127, app/assets/stylesheets/_styleguide.scss */
.styleguide-subsection {
  margin-bottom: 1.5rem;
}

/* line 130, app/assets/stylesheets/_styleguide.scss */
.styleguide-subsection:last-child {
  margin-bottom: 0;
}

/* line 135, app/assets/stylesheets/_styleguide.scss */
.styleguide-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #4B5563;
  margin-bottom: 0.5rem;
}

/* line 147, app/assets/stylesheets/_styleguide.scss */
.color-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 0.75rem;
}

/* line 153, app/assets/stylesheets/_styleguide.scss */
.color-swatch {
  text-align: center;
}

/* line 156, app/assets/stylesheets/_styleguide.scss */
.color-swatch .swatch {
  height: 60px;
  border-radius: 6px;
  margin-bottom: 0.375rem;
  border: 1px solid #E5E7EB;
}

/* line 163, app/assets/stylesheets/_styleguide.scss */
.color-swatch .swatch-label {
  font-size: 0.7rem;
  color: #4B5563;
  font-weight: 500;
}

/* line 169, app/assets/stylesheets/_styleguide.scss */
.color-swatch .swatch-value {
  font-size: 0.65rem;
  color: #9CA3AF;
  font-family: monospace;
}

/* line 177, app/assets/stylesheets/_styleguide.scss */
.color-palette-row {
  display: flex;
  gap: 0.25rem;
  margin-bottom: 0.5rem;
  border-radius: 6px;
  overflow: hidden;
}

/* line 184, app/assets/stylesheets/_styleguide.scss */
.color-palette-row .color-chip {
  flex: 1;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6rem;
  font-weight: 500;
  transition: transform 0.15s ease;
}

/* line 194, app/assets/stylesheets/_styleguide.scss */
.color-palette-row .color-chip:hover {
  transform: scaleY(1.1);
}

/* line 203, app/assets/stylesheets/_styleguide.scss */
.component-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-start;
}

/* line 210, app/assets/stylesheets/_styleguide.scss */
.component-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 219, app/assets/stylesheets/_styleguide.scss */
.sg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 6px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
}

/* line 233, app/assets/stylesheets/_styleguide.scss */
.sg-btn:hover {
  transform: translateY(-1px);
}

/* line 237, app/assets/stylesheets/_styleguide.scss */
.sg-btn:active {
  transform: translateY(0);
}

/* line 243, app/assets/stylesheets/_styleguide.scss */
.sg-btn-primary {
  background-color: #1F5C96;
  color: #FFFFFF;
  border-color: #1F5C96;
}

/* line 248, app/assets/stylesheets/_styleguide.scss */
.sg-btn-primary:hover {
  background-color: #123B66;
  border-color: #123B66;
  color: #FFFFFF;
}

/* line 256, app/assets/stylesheets/_styleguide.scss */
.sg-btn-secondary {
  background-color: #E4EEF8;
  color: #123B66;
  border-color: #E4EEF8;
}

/* line 261, app/assets/stylesheets/_styleguide.scss */
.sg-btn-secondary:hover {
  background-color: #d0e1f3;
  color: #0B2742;
}

/* line 268, app/assets/stylesheets/_styleguide.scss */
.sg-btn-outline {
  background-color: transparent;
  color: #1F5C96;
  border-color: #1F5C96;
}

/* line 273, app/assets/stylesheets/_styleguide.scss */
.sg-btn-outline:hover {
  background-color: #F4F7FC;
  color: #123B66;
  border-color: #123B66;
}

/* line 281, app/assets/stylesheets/_styleguide.scss */
.sg-btn-ghost {
  background-color: transparent;
  color: #4B5563;
  border-color: transparent;
}

/* line 286, app/assets/stylesheets/_styleguide.scss */
.sg-btn-ghost:hover {
  background-color: #F3F4F6;
  color: #1F2933;
}

/* line 293, app/assets/stylesheets/_styleguide.scss */
.sg-btn-success {
  background-color: #1F6B4E;
  color: #FFFFFF;
  border-color: #1F6B4E;
}

/* line 298, app/assets/stylesheets/_styleguide.scss */
.sg-btn-success:hover {
  background-color: #164b37;
  border-color: #164b37;
  color: #FFFFFF;
}

/* line 306, app/assets/stylesheets/_styleguide.scss */
.sg-btn-danger {
  background-color: #9B2331;
  color: #FFFFFF;
  border-color: #9B2331;
}

/* line 311, app/assets/stylesheets/_styleguide.scss */
.sg-btn-danger:hover {
  background-color: #7a1b26;
  border-color: #7a1b26;
  color: #FFFFFF;
}

/* line 319, app/assets/stylesheets/_styleguide.scss */
.sg-btn-sm {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
}

/* line 324, app/assets/stylesheets/_styleguide.scss */
.sg-btn-lg {
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
}

/* line 332, app/assets/stylesheets/_styleguide.scss */
.sg-card {
  background: #FFFFFF;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  border: 1px solid #E5E7EB;
  overflow: hidden;
  transition: box-shadow 0.2s ease;
}

/* line 340, app/assets/stylesheets/_styleguide.scss */
.sg-card:hover {
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 345, app/assets/stylesheets/_styleguide.scss */
.sg-card-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  font-weight: 500;
  color: #1F2933;
  background-color: #FFFFFF;
}

/* line 353, app/assets/stylesheets/_styleguide.scss */
.sg-card-body {
  padding: 1.25rem;
}

/* line 357, app/assets/stylesheets/_styleguide.scss */
.sg-card-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 366, app/assets/stylesheets/_styleguide.scss */
.sg-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
}

/* line 375, app/assets/stylesheets/_styleguide.scss */
.sg-badge-primary {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 380, app/assets/stylesheets/_styleguide.scss */
.sg-badge-success {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 385, app/assets/stylesheets/_styleguide.scss */
.sg-badge-warning {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 390, app/assets/stylesheets/_styleguide.scss */
.sg-badge-danger {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 395, app/assets/stylesheets/_styleguide.scss */
.sg-badge-info {
  background-color: #EDF3F8;
  color: #1D5E96;
}

/* line 400, app/assets/stylesheets/_styleguide.scss */
.sg-badge-neutral {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 406, app/assets/stylesheets/_styleguide.scss */
.sg-badge-teal {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 411, app/assets/stylesheets/_styleguide.scss */
.sg-badge-orange {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 419, app/assets/stylesheets/_styleguide.scss */
.sg-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid #D1D5DB;
}

/* line 425, app/assets/stylesheets/_styleguide.scss */
.sg-tab {
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #9CA3AF;
  border: none;
  background: none;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: all 0.15s ease;
  font-family: inherit;
}

/* line 438, app/assets/stylesheets/_styleguide.scss */
.sg-tab:hover {
  color: #4B5563;
}

/* line 442, app/assets/stylesheets/_styleguide.scss */
.sg-tab.active {
  color: #1F5C96;
  border-bottom-color: #1F5C96;
}

/* line 451, app/assets/stylesheets/_styleguide.scss */
.sg-input {
  display: block;
  width: 100%;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: #1F2933;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  background-color: #FFFFFF;
  transition: all 0.15s ease;
  font-family: inherit;
}

/* line 463, app/assets/stylesheets/_styleguide.scss */
.sg-input:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.15);
}

/* line 469, app/assets/stylesheets/_styleguide.scss */
.sg-input::placeholder {
  color: #9CA3AF;
}

/* line 474, app/assets/stylesheets/_styleguide.scss */
.sg-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%234B5563' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.25rem;
  padding-right: 2.5rem;
}

/* line 486, app/assets/stylesheets/_styleguide.scss */
.sg-alert {
  padding: 0.875rem 1rem;
  border-radius: 6px;
  font-size: 0.875rem;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  border-left: 3px solid;
}

/* line 495, app/assets/stylesheets/_styleguide.scss */
.sg-alert i {
  flex-shrink: 0;
  margin-top: 0.125rem;
}

/* line 500, app/assets/stylesheets/_styleguide.scss */
.sg-alert .sg-alert-content {
  flex: 1;
}

/* line 504, app/assets/stylesheets/_styleguide.scss */
.sg-alert .sg-alert-title {
  font-weight: 500;
  margin-bottom: 0.25rem;
}

/* line 509, app/assets/stylesheets/_styleguide.scss */
.sg-alert .sg-alert-body {
  color: #1F2933;
}

/* line 514, app/assets/stylesheets/_styleguide.scss */
.sg-alert-info {
  background-color: #EDF3F8;
  border-left-color: #1D5E96;
  color: #1D5E96;
}

/* line 519, app/assets/stylesheets/_styleguide.scss */
.sg-alert-info .sg-alert-body {
  color: #4B5563;
}

/* line 524, app/assets/stylesheets/_styleguide.scss */
.sg-alert-success {
  background-color: #EDF4F0;
  border-left-color: #1F6B4E;
  color: #1F6B4E;
}

/* line 529, app/assets/stylesheets/_styleguide.scss */
.sg-alert-success .sg-alert-body {
  color: #4B5563;
}

/* line 534, app/assets/stylesheets/_styleguide.scss */
.sg-alert-warning {
  background-color: #F8F5ED;
  border-left-color: #8A6A06;
  color: #8A6A06;
}

/* line 539, app/assets/stylesheets/_styleguide.scss */
.sg-alert-warning .sg-alert-body {
  color: #4B5563;
}

/* line 544, app/assets/stylesheets/_styleguide.scss */
.sg-alert-danger {
  background-color: #F8F0F1;
  border-left-color: #9B2331;
  color: #9B2331;
}

/* line 549, app/assets/stylesheets/_styleguide.scss */
.sg-alert-danger .sg-alert-body {
  color: #4B5563;
}

/* line 557, app/assets/stylesheets/_styleguide.scss */
.sg-metric-card {
  background: #FFFFFF;
  border-radius: 8px;
  padding: 1.25rem;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  border: 1px solid #E5E7EB;
}

/* line 564, app/assets/stylesheets/_styleguide.scss */
.sg-metric-card .sg-metric-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.375rem;
}

/* line 573, app/assets/stylesheets/_styleguide.scss */
.sg-metric-card .sg-metric-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
}

/* line 580, app/assets/stylesheets/_styleguide.scss */
.sg-metric-card .sg-metric-change {
  font-size: 0.875rem;
  margin-top: 0.25rem;
  font-weight: 500;
}

/* line 585, app/assets/stylesheets/_styleguide.scss */
.sg-metric-card .sg-metric-change.positive {
  color: #1F6B4E;
}

/* line 589, app/assets/stylesheets/_styleguide.scss */
.sg-metric-card .sg-metric-change.negative {
  color: #9B2331;
}

/* line 596, app/assets/stylesheets/_styleguide.scss */
.sg-metric-card-hero {
  background: #F4F7FC;
  border-color: #E4EEF8;
}

/* line 604, app/assets/stylesheets/_styleguide.scss */
.sg-table {
  width: 100%;
  font-size: 0.875rem;
  border-collapse: collapse;
}

/* line 609, app/assets/stylesheets/_styleguide.scss */
.sg-table th {
  text-align: left;
  padding: 0.75rem 1rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 621, app/assets/stylesheets/_styleguide.scss */
.sg-table th.sortable {
  cursor: pointer;
  color: #123B66;
}

/* line 625, app/assets/stylesheets/_styleguide.scss */
.sg-table th.sortable:hover {
  background-color: #F3F4F6;
}

/* line 631, app/assets/stylesheets/_styleguide.scss */
.sg-table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #F3F4F6;
  color: #1F2933;
}

/* line 636, app/assets/stylesheets/_styleguide.scss */
.sg-table td a {
  color: #1F5C96;
}

/* line 639, app/assets/stylesheets/_styleguide.scss */
.sg-table td a:hover {
  color: #123B66;
}

/* line 645, app/assets/stylesheets/_styleguide.scss */
.sg-table tbody tr {
  transition: background-color 0.15s ease;
}

/* line 648, app/assets/stylesheets/_styleguide.scss */
.sg-table tbody tr:hover {
  background-color: #F9FAFB;
}

/* line 659, app/assets/stylesheets/_styleguide.scss */
.sg-table-sortable th.sortable {
  cursor: pointer;
  color: #4B5563;
  user-select: none;
  position: relative;
  padding-right: 1.75rem;
}

/* line 666, app/assets/stylesheets/_styleguide.scss */
.sg-table-sortable th.sortable:hover {
  background-color: #F3F4F6;
  color: #123B66;
}

/* line 672, app/assets/stylesheets/_styleguide.scss */
.sg-table-sortable th.sortable .sort-indicator {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 1px;
  opacity: 0.3;
  transition: opacity 0.15s ease;
}

/* line 683, app/assets/stylesheets/_styleguide.scss */
.sg-table-sortable th.sortable .sort-indicator i {
  font-size: 0.5rem;
  line-height: 1;
}

/* line 689, app/assets/stylesheets/_styleguide.scss */
.sg-table-sortable th.sortable:hover .sort-indicator {
  opacity: 0.6;
}

/* line 694, app/assets/stylesheets/_styleguide.scss */
.sg-table-sortable th.sortable.sort-asc, .sg-table-sortable th.sortable.sort-desc {
  color: #123B66;
  background-color: #F9FAFB;
}

/* line 699, app/assets/stylesheets/_styleguide.scss */
.sg-table-sortable th.sortable.sort-asc .sort-indicator, .sg-table-sortable th.sortable.sort-desc .sort-indicator {
  opacity: 1;
}

/* line 704, app/assets/stylesheets/_styleguide.scss */
.sg-table-sortable th.sortable.sort-asc .sort-indicator .bi-caret-down-fill, .sg-table-sortable th.sortable.sort-desc .sort-indicator .bi-caret-up-fill {
  opacity: 0.25;
}

/* line 709, app/assets/stylesheets/_styleguide.scss */
.sg-table-sortable th.sortable.sort-asc .sort-indicator .bi-caret-up-fill, .sg-table-sortable th.sortable.sort-desc .sort-indicator .bi-caret-down-fill {
  color: #1F5C96;
}

/* line 723, app/assets/stylesheets/_styleguide.scss */
.sg-table-stacked td a {
  color: inherit;
  text-decoration: none;
}

/* line 727, app/assets/stylesheets/_styleguide.scss */
.sg-table-stacked td a:hover {
  color: #123B66;
}

/* line 735, app/assets/stylesheets/_styleguide.scss */
.sg-table-stacked.sg-table-clickable tbody tr {
  cursor: pointer;
}

/* line 738, app/assets/stylesheets/_styleguide.scss */
.sg-table-stacked.sg-table-clickable tbody tr:hover {
  background-color: #F4F7FC;
}

/* line 745, app/assets/stylesheets/_styleguide.scss */
.sg-table-stacked .cell-stacked {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 750, app/assets/stylesheets/_styleguide.scss */
.sg-table-stacked .cell-stacked .cell-main {
  font-weight: 500;
  color: #1F2933;
  line-height: 1.3;
}

/* line 756, app/assets/stylesheets/_styleguide.scss */
.sg-table-stacked .cell-stacked .cell-sub {
  font-size: 0.75rem;
  color: #9CA3AF;
  line-height: 1.3;
}

/* line 764, app/assets/stylesheets/_styleguide.scss */
.sg-table-stacked .cell-inline {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

/* line 769, app/assets/stylesheets/_styleguide.scss */
.sg-table-stacked .cell-inline .cell-main {
  font-weight: 500;
  color: #1F2933;
}

/* line 774, app/assets/stylesheets/_styleguide.scss */
.sg-table-stacked .cell-inline .cell-sub {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 785, app/assets/stylesheets/_styleguide.scss */
.sg-table-compact th, .sg-table-compact td {
  padding: 0.5rem 0.75rem;
}

/* line 789, app/assets/stylesheets/_styleguide.scss */
.sg-table-compact th {
  font-size: 0.65rem;
}

/* line 798, app/assets/stylesheets/_styleguide.scss */
.sg-table-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 805, app/assets/stylesheets/_styleguide.scss */
.sg-table-card .sg-table-card-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 813, app/assets/stylesheets/_styleguide.scss */
.sg-table-card .sg-table-card-header .sg-table-card-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
}

/* line 820, app/assets/stylesheets/_styleguide.scss */
.sg-table-card .sg-table-card-header .sg-table-card-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-top: 0.125rem;
}

/* line 826, app/assets/stylesheets/_styleguide.scss */
.sg-table-card .sg-table-card-header .sg-table-card-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 834, app/assets/stylesheets/_styleguide.scss */
.sg-table-card .sg-table {
  margin-bottom: 0;
}

/* line 837, app/assets/stylesheets/_styleguide.scss */
.sg-table-card .sg-table th:first-child,
.sg-table-card .sg-table td:first-child {
  padding-left: 1.25rem;
}

/* line 842, app/assets/stylesheets/_styleguide.scss */
.sg-table-card .sg-table th:last-child,
.sg-table-card .sg-table td:last-child {
  padding-right: 1.25rem;
}

/* line 847, app/assets/stylesheets/_styleguide.scss */
.sg-table-card .sg-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 852, app/assets/stylesheets/_styleguide.scss */
.sg-table-card .sg-table-card-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 860, app/assets/stylesheets/_styleguide.scss */
.sg-table-card .sg-table-card-footer .sg-table-card-meta {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 867, app/assets/stylesheets/_styleguide.scss */
.sg-table-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 877, app/assets/stylesheets/_styleguide.scss */
.sg-table-card-link i {
  font-size: 0.75rem;
  transition: transform 0.15s ease;
}

/* line 882, app/assets/stylesheets/_styleguide.scss */
.sg-table-card-link:hover {
  color: #123B66;
}

/* line 885, app/assets/stylesheets/_styleguide.scss */
.sg-table-card-link:hover i {
  transform: translateX(3px);
}

/* line 891, app/assets/stylesheets/_styleguide.scss */
.sg-table-view-link {
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 898, app/assets/stylesheets/_styleguide.scss */
.sg-table-view-link:hover {
  color: #123B66;
}

/* line 904, app/assets/stylesheets/_styleguide.scss */
.sg-table-card-minimal {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 910, app/assets/stylesheets/_styleguide.scss */
.sg-table-card-minimal .sg-table {
  margin-bottom: 0;
}

/* line 913, app/assets/stylesheets/_styleguide.scss */
.sg-table-card-minimal .sg-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 921, app/assets/stylesheets/_styleguide.scss */
.sg-table-card-tabs .sg-table-card-header {
  padding-bottom: 0;
  border-bottom: none;
  flex-direction: column;
  align-items: stretch;
}

/* line 927, app/assets/stylesheets/_styleguide.scss */
.sg-table-card-tabs .sg-table-card-header .sg-table-card-header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

/* line 935, app/assets/stylesheets/_styleguide.scss */
.sg-table-card-tabs .sg-tabs {
  margin: 0 -1.25rem;
  padding: 0 1.25rem;
}

/* line 943, app/assets/stylesheets/_styleguide.scss */
.sg-table-card-inset .sg-table-wrapper {
  padding: 0 1.25rem 1.25rem;
}

/* line 947, app/assets/stylesheets/_styleguide.scss */
.sg-table-card-inset .sg-table {
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  overflow: hidden;
}

/* line 952, app/assets/stylesheets/_styleguide.scss */
.sg-table-card-inset .sg-table th:first-child,
.sg-table-card-inset .sg-table td:first-child {
  padding-left: 1rem;
}

/* line 957, app/assets/stylesheets/_styleguide.scss */
.sg-table-card-inset .sg-table th:last-child,
.sg-table-card-inset .sg-table td:last-child {
  padding-right: 1rem;
}

/* line 962, app/assets/stylesheets/_styleguide.scss */
.sg-table-card-inset .sg-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 971, app/assets/stylesheets/_styleguide.scss */
.comparison-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

@media (max-width: 768px) {
  /* line 971, app/assets/stylesheets/_styleguide.scss */
  .comparison-container {
    grid-template-columns: 1fr;
  }
}

/* line 981, app/assets/stylesheets/_styleguide.scss */
.comparison-panel {
  padding: 1rem;
  border-radius: 8px;
}

/* line 985, app/assets/stylesheets/_styleguide.scss */
.comparison-panel.current {
  background-color: #FEF9F3;
  border: 1px solid #E8D5C4;
}

/* line 990, app/assets/stylesheets/_styleguide.scss */
.comparison-panel.proposed {
  background-color: #F4F7FC;
  border: 1px solid #E4EEF8;
}

/* line 996, app/assets/stylesheets/_styleguide.scss */
.comparison-panel-label {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 0.75rem;
}

/* line 1003, app/assets/stylesheets/_styleguide.scss */
.current .comparison-panel-label {
  color: #9A6B3A;
}

/* line 1007, app/assets/stylesheets/_styleguide.scss */
.proposed .comparison-panel-label {
  color: #123B66;
}

/* line 1015, app/assets/stylesheets/_styleguide.scss */
.shadow-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 1.5rem;
}

/* line 1021, app/assets/stylesheets/_styleguide.scss */
.shadow-item {
  text-align: center;
}

/* line 1024, app/assets/stylesheets/_styleguide.scss */
.shadow-item .shadow-box {
  height: 60px;
  background: #FFFFFF;
  border-radius: 8px;
  margin-bottom: 0.5rem;
  border: 1px solid #F3F4F6;
}

/* line 1032, app/assets/stylesheets/_styleguide.scss */
.shadow-item .shadow-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 1040, app/assets/stylesheets/_styleguide.scss */
.shadow-box-xs {
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 1041, app/assets/stylesheets/_styleguide.scss */
.shadow-box-sm {
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 1042, app/assets/stylesheets/_styleguide.scss */
.shadow-box-md {
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 1043, app/assets/stylesheets/_styleguide.scss */
.shadow-box-lg {
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
}

/* line 1044, app/assets/stylesheets/_styleguide.scss */
.shadow-box-xl {
  box-shadow: 0 20px 25px rgba(31, 41, 51, 0.08), 0 10px 10px rgba(31, 41, 51, 0.03);
}

/* line 1049, app/assets/stylesheets/_styleguide.scss */
.radius-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: flex-end;
}

/* line 1056, app/assets/stylesheets/_styleguide.scss */
.radius-item {
  text-align: center;
}

/* line 1059, app/assets/stylesheets/_styleguide.scss */
.radius-item .radius-box {
  width: 60px;
  height: 60px;
  background: #E4EEF8;
  margin-bottom: 0.5rem;
}

/* line 1066, app/assets/stylesheets/_styleguide.scss */
.radius-item .radius-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 1072, app/assets/stylesheets/_styleguide.scss */
.radius-item .radius-value {
  font-size: 0.65rem;
  color: #9CA3AF;
  font-family: monospace;
}

/* line 1080, app/assets/stylesheets/_styleguide.scss */
.radius-box-sm {
  border-radius: 4px;
}

/* line 1081, app/assets/stylesheets/_styleguide.scss */
.radius-box-md {
  border-radius: 6px;
}

/* line 1082, app/assets/stylesheets/_styleguide.scss */
.radius-box-lg {
  border-radius: 8px;
}

/* line 1083, app/assets/stylesheets/_styleguide.scss */
.radius-box-xl {
  border-radius: 12px;
}

/* line 1084, app/assets/stylesheets/_styleguide.scss */
.radius-box-full {
  border-radius: 9999px;
}

/* line 1090, app/assets/stylesheets/_styleguide.scss */
.type-scale .type-row {
  display: flex;
  align-items: baseline;
  padding: 0.75rem 0;
  border-bottom: 1px solid #F3F4F6;
  gap: 1rem;
}

/* line 1097, app/assets/stylesheets/_styleguide.scss */
.type-scale .type-row:last-child {
  border-bottom: none;
}

/* line 1102, app/assets/stylesheets/_styleguide.scss */
.type-scale .type-label {
  flex: 0 0 80px;
  font-size: 0.7rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 1111, app/assets/stylesheets/_styleguide.scss */
.type-scale .type-sample {
  flex: 1;
  color: #1F2933;
}

/* line 1116, app/assets/stylesheets/_styleguide.scss */
.type-scale .type-size {
  flex: 0 0 60px;
  font-size: 0.7rem;
  color: #9CA3AF;
  font-family: monospace;
  text-align: right;
}

/* line 1126, app/assets/stylesheets/_styleguide.scss */
.sg-text-xs {
  font-size: 0.75rem;
}

/* line 1127, app/assets/stylesheets/_styleguide.scss */
.sg-text-sm {
  font-size: 0.875rem;
}

/* line 1128, app/assets/stylesheets/_styleguide.scss */
.sg-text-base {
  font-size: 1rem;
}

/* line 1129, app/assets/stylesheets/_styleguide.scss */
.sg-text-lg {
  font-size: 1.125rem;
}

/* line 1130, app/assets/stylesheets/_styleguide.scss */
.sg-text-xl {
  font-size: 1.25rem;
}

/* line 1131, app/assets/stylesheets/_styleguide.scss */
.sg-text-2xl {
  font-size: 1.5rem;
}

/* line 1132, app/assets/stylesheets/_styleguide.scss */
.sg-text-3xl {
  font-size: 1.875rem;
}

/* line 1133, app/assets/stylesheets/_styleguide.scss */
.sg-text-4xl {
  font-size: 2.25rem;
}

/* line 1136, app/assets/stylesheets/_styleguide.scss */
.sg-text-primary {
  color: #1F5C96;
}

/* line 1137, app/assets/stylesheets/_styleguide.scss */
.sg-text-muted {
  color: #9CA3AF;
}

/* line 1138, app/assets/stylesheets/_styleguide.scss */
.sg-text-body {
  color: #1F2933;
}

/* line 1145, app/assets/stylesheets/_styleguide.scss */
.sg-segmented-control {
  display: inline-flex;
  background-color: #F3F4F6;
  border-radius: 6px;
  padding: 3px;
  gap: 2px;
}

/* line 1153, app/assets/stylesheets/_styleguide.scss */
.sg-segmented-btn {
  padding: 0.375rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
  white-space: nowrap;
}

/* line 1166, app/assets/stylesheets/_styleguide.scss */
.sg-segmented-btn:hover:not(.active) {
  color: #1F2933;
  background-color: #F9FAFB;
}

/* line 1171, app/assets/stylesheets/_styleguide.scss */
.sg-segmented-btn.active {
  background-color: #FFFFFF;
  color: #123B66;
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 1179, app/assets/stylesheets/_styleguide.scss */
.sg-segmented-control-sm {
  padding: 2px;
}

/* line 1182, app/assets/stylesheets/_styleguide.scss */
.sg-segmented-control-sm .sg-segmented-btn {
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
}

/* line 1189, app/assets/stylesheets/_styleguide.scss */
.sg-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 1195, app/assets/stylesheets/_styleguide.scss */
.sg-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
}

/* line 1210, app/assets/stylesheets/_styleguide.scss */
.sg-filter-chip:hover:not(.active) {
  border-color: #B8BFC7;
  background-color: #F9FAFB;
}

/* line 1215, app/assets/stylesheets/_styleguide.scss */
.sg-filter-chip.active {
  background-color: #E4EEF8;
  border-color: #4C7FB5;
  color: #123B66;
}

/* line 1220, app/assets/stylesheets/_styleguide.scss */
.sg-filter-chip.active .sg-filter-chip-icon {
  color: #1F5C96;
}

/* line 1225, app/assets/stylesheets/_styleguide.scss */
.sg-filter-chip .sg-filter-chip-icon {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1230, app/assets/stylesheets/_styleguide.scss */
.sg-filter-chip .sg-filter-chip-count {
  font-size: 0.75rem;
  color: #9CA3AF;
  background-color: #F3F4F6;
  padding: 0.125rem 0.375rem;
  border-radius: 9999px;
  margin-left: 0.125rem;
}

/* line 1239, app/assets/stylesheets/_styleguide.scss */
.sg-filter-chip.active .sg-filter-chip-count {
  background-color: #A3C4E0;
  color: #123B66;
}

/* line 1246, app/assets/stylesheets/_styleguide.scss */
.sg-filter-chip-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  gap: 0.25rem;
}

/* line 1251, app/assets/stylesheets/_styleguide.scss */
.sg-filter-chip-sm .sg-filter-chip-icon {
  font-size: 0.75rem;
}

/* line 1262, app/assets/stylesheets/_styleguide.scss */
.sg-bb-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  padding: 1.25rem;
  transition: box-shadow 0.15s ease;
}

/* line 1270, app/assets/stylesheets/_styleguide.scss */
.sg-bb-card:hover {
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 1275, app/assets/stylesheets/_styleguide.scss */
.sg-bb-card-compact {
  padding: 0.875rem;
}

/* line 1279, app/assets/stylesheets/_styleguide.scss */
.sg-bb-card-header {
  font-size: 1.1rem;
  font-weight: 500;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  color: #1F2933;
  border-bottom: 1px solid #F3F4F6;
}

/* line 1288, app/assets/stylesheets/_styleguide.scss */
.sg-bb-card-title-small {
  font-size: 0.95rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 1294, app/assets/stylesheets/_styleguide.scss */
.sg-bb-card-footer {
  padding: 0.875rem 1.25rem;
  margin: 1rem -1.25rem -1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #F3F4F6;
  border-radius: 0 0 12px 12px;
}

/* line 1303, app/assets/stylesheets/_styleguide.scss */
.sg-bb-metric-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: box-shadow 0.15s ease;
}

/* line 1314, app/assets/stylesheets/_styleguide.scss */
.sg-bb-metric-card:hover {
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 1318, app/assets/stylesheets/_styleguide.scss */
.sg-bb-metric-card .sg-bb-metric-label {
  font-size: 0.875rem;
  color: #4B5563;
  font-weight: 500;
  margin-bottom: 0.5rem;
  line-height: 1.3;
}

/* line 1326, app/assets/stylesheets/_styleguide.scss */
.sg-bb-metric-card .sg-bb-metric-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

/* line 1334, app/assets/stylesheets/_styleguide.scss */
.sg-bb-metric-card .sg-bb-metric-sub {
  font-size: 0.875rem;
  color: #9CA3AF;
  line-height: 1.3;
}

/* line 1339, app/assets/stylesheets/_styleguide.scss */
.sg-bb-metric-card .sg-bb-metric-sub.positive {
  color: #1F6B4E;
}

/* line 1343, app/assets/stylesheets/_styleguide.scss */
.sg-bb-metric-card .sg-bb-metric-sub.negative {
  color: #9B2331;
}

/* line 1352, app/assets/stylesheets/_styleguide.scss */
.sg-navbar {
  background-color: #F4F7FC;
  border: 1px solid #E5E7EB;
  padding: 0.75rem 1.25rem;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 1361, app/assets/stylesheets/_styleguide.scss */
.sg-navbar .sg-navbar-brand {
  color: #123B66;
  font-weight: 500;
  font-size: 1.125rem;
}

/* line 1367, app/assets/stylesheets/_styleguide.scss */
.sg-navbar .sg-navbar-nav {
  display: flex;
  gap: 0.5rem;
}

/* line 1372, app/assets/stylesheets/_styleguide.scss */
.sg-navbar .sg-navbar-link {
  color: #4B5563;
  font-size: 0.875rem;
  text-decoration: none;
  padding: 0.375rem 0.75rem;
  border-radius: 4px;
  transition: all 0.15s ease;
}

/* line 1380, app/assets/stylesheets/_styleguide.scss */
.sg-navbar .sg-navbar-link:hover {
  color: #123B66;
  background-color: #FFFFFF;
}

/* line 1385, app/assets/stylesheets/_styleguide.scss */
.sg-navbar .sg-navbar-link.active {
  color: #123B66;
  background-color: #FFFFFF;
  font-weight: 500;
}

/* line 1398, app/assets/stylesheets/_styleguide.scss */
.sg-topnav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.5rem;
  background-color: #F3F4F6;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  gap: 1.5rem;
}

/* line 1409, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-brand {
  flex-shrink: 0;
}

/* line 1413, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-logo {
  font-size: 1.125rem;
  font-weight: 700;
  color: #123B66;
  letter-spacing: -0.25px;
}

/* line 1420, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-links {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex: 1;
  justify-content: center;
}

/* line 1428, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-link {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  text-decoration: none;
  padding: 0.5rem 0.875rem;
  border-radius: 6px;
  transition: all 0.15s ease;
}

/* line 1437, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-link:hover {
  color: #123B66;
  background-color: #F4F7FC;
}

/* line 1442, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-link.active {
  color: #123B66;
  background-color: #E4EEF8;
  font-weight: 500;
}

/* line 1449, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}

/* line 1456, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-search {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  transition: all 0.15s ease;
}

/* line 1466, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-search i {
  color: #9CA3AF;
  font-size: 0.875rem;
}

/* line 1471, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-search:focus-within {
  border-color: #3A7AB8;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.1);
}

/* line 1477, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-search-input {
  border: none;
  background: transparent;
  font-size: 0.875rem;
  color: #1F2933;
  width: 140px;
  transition: width 0.2s ease;
}

/* line 1485, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-search-input::placeholder {
  color: #9CA3AF;
}

/* line 1489, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-search-input:focus {
  outline: none;
  width: 180px;
}

/* line 1495, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
  white-space: nowrap;
}

/* line 1508, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-btn-secondary {
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
}

/* line 1513, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-btn-secondary:hover {
  color: #1F2933;
  background-color: #F9FAFB;
  border-color: #B8BFC7;
}

/* line 1520, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-btn-primary {
  color: #FFFFFF;
  background-color: #1F5C96;
  border: 1px solid #1F5C96;
}

/* line 1525, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-btn-primary:hover {
  background-color: #123B66;
  border-color: #123B66;
}

/* line 1532, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-dropdown {
  position: relative;
}

/* line 1536, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-trigger {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.625rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 1547, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-trigger:hover {
  background-color: #F9FAFB;
  border-color: #D1D5DB;
}

/* line 1552, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-trigger i {
  color: #9CA3AF;
  font-size: 0.75rem;
  transition: transform 0.15s ease;
}

/* line 1559, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-avatar {
  width: 28px;
  height: 28px;
  border-radius: 9999px;
  background-color: #1F5C96;
  color: #FFFFFF;
  font-size: 0.75rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 1572, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 1578, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-menu {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  min-width: 220px;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  z-index: 100;
  overflow: hidden;
  display: none;
}

/* line 1591, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-menu.show {
  display: block;
}

/* line 1596, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-menu-header {
  padding: 0.875rem 1rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 1602, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-menu-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 1608, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-menu-email {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.125rem;
}

/* line 1614, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-menu-divider {
  height: 1px;
  background-color: #E5E7EB;
  margin: 0.5rem 0;
}

/* line 1620, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-menu-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  color: #4B5563;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 1630, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-menu-item i {
  color: #9CA3AF;
  width: 16px;
  text-align: center;
}

/* line 1636, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-menu-item:hover {
  background-color: #F9FAFB;
  color: #1F2933;
}

/* line 1640, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-menu-item:hover i {
  color: #4B5563;
}

/* line 1645, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-menu-item.sg-topnav-user-menu-item-danger {
  color: #9B2331;
}

/* line 1648, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-menu-item.sg-topnav-user-menu-item-danger i {
  color: #9B2331;
}

/* line 1652, app/assets/stylesheets/_styleguide.scss */
.sg-topnav-user-menu-item.sg-topnav-user-menu-item-danger:hover {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 1660, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar {
  background-color: #F4F7FC;
  border-right: 1px solid #E5E7EB;
  padding: 1rem;
  min-height: 300px;
  border-radius: 8px;
}

/* line 1667, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-brand {
  color: #123B66;
  font-weight: 500;
  font-size: 1.125rem;
  margin-bottom: 1.5rem;
  display: block;
}

/* line 1675, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-section {
  margin-bottom: 1.25rem;
}

/* line 1679, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #9CA3AF;
  margin-bottom: 0.5rem;
  padding-left: 0.75rem;
}

/* line 1689, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 1695, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-link {
  color: #4B5563;
  font-size: 0.875rem;
  text-decoration: none;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1706, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-link i {
  color: #9CA3AF;
  width: 16px;
  text-align: center;
}

/* line 1712, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-link:hover {
  color: #123B66;
  background-color: #FFFFFF;
}

/* line 1716, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-link:hover i {
  color: #1F5C96;
}

/* line 1721, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-link.active {
  color: #123B66;
  background-color: #FFFFFF;
  font-weight: 500;
}

/* line 1726, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-link.active i {
  color: #1F5C96;
}

/* line 1733, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-toggle {
  width: 100%;
  background: none;
  border: none;
  color: #4B5563;
  font-size: 0.875rem;
  text-decoration: none;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  text-align: left;
}

/* line 1749, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-toggle i.sg-sidebar-icon {
  color: #9CA3AF;
  width: 16px;
  text-align: center;
}

/* line 1755, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-toggle .sg-sidebar-chevron {
  margin-left: auto;
  color: #B8BFC7;
  font-size: 0.75rem;
  transition: transform 0.15s ease;
}

/* line 1762, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-toggle:hover {
  color: #123B66;
  background-color: #FFFFFF;
}

/* line 1766, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-toggle:hover i.sg-sidebar-icon {
  color: #1F5C96;
}

/* line 1771, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-toggle[aria-expanded="true"] {
  color: #123B66;
  background-color: #FFFFFF;
}

/* line 1775, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-toggle[aria-expanded="true"] i.sg-sidebar-icon {
  color: #1F5C96;
}

/* line 1779, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-toggle[aria-expanded="true"] .sg-sidebar-chevron {
  transform: rotate(180deg);
}

/* line 1786, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-submenu {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding-left: 1.5rem;
  margin-top: 0.25rem;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.2s ease-out;
}

/* line 1796, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-submenu.show {
  max-height: 500px;
}

/* line 1800, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-submenu .sg-sidebar-link {
  font-size: 0.75rem;
  padding: 0.375rem 0.75rem;
  color: #4B5563;
}

/* line 1805, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-submenu .sg-sidebar-link:hover {
  color: #1F5C96;
}

/* line 1809, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-submenu .sg-sidebar-link.active {
  color: #123B66;
  font-weight: 500;
}

/* line 1817, app/assets/stylesheets/_styleguide.scss */
.sg-sidebar .sg-sidebar-expandable {
  display: flex;
  flex-direction: column;
}

/* line 1824, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 0.5rem;
}

/* line 1834, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-link {
  color: #4B5563;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  padding: 0.5rem 0.875rem;
  border-radius: 6px;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: all 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  white-space: nowrap;
}

/* line 1850, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-link i {
  font-size: 0.625rem;
  transition: transform 0.15s ease;
}

/* line 1855, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-link:hover {
  color: #123B66;
  background-color: #F4F7FC;
}

/* line 1860, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-link.active {
  color: #123B66;
  background-color: #E4EEF8;
}

/* line 1866, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-dropdown {
  position: relative;
}

/* line 1870, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-dropdown.is-open > .sg-section-nav-toggle {
  color: #123B66;
  background-color: #F4F7FC;
}

/* line 1874, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-dropdown.is-open > .sg-section-nav-toggle i {
  transform: rotate(180deg);
}

/* line 1879, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-dropdown.is-open > .sg-section-nav-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* line 1887, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-menu {
  position: absolute;
  top: calc(100% + 0.25rem);
  left: 0;
  min-width: 200px;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  padding: 0.375rem;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.5rem);
  transition: all 0.15s ease;
}

/* line 1904, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-menu-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.75rem;
  color: #4B5563;
  font-size: 0.875rem;
  text-decoration: none;
  border-radius: 4px;
  transition: all 0.15s ease;
  cursor: pointer;
}

/* line 1916, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-menu-item i {
  font-size: 0.625rem;
  color: #9CA3AF;
}

/* line 1921, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-menu-item:hover {
  color: #123B66;
  background-color: #F4F7FC;
}

/* line 1926, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-menu-item.sg-has-submenu {
  padding-right: 0.5rem;
}

/* line 1931, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-submenu-wrapper {
  position: relative;
}

/* line 1934, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-submenu-wrapper:hover > .sg-section-nav-submenu {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

/* line 1941, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-submenu {
  position: absolute;
  top: -0.375rem;
  left: 100%;
  margin-left: 0.25rem;
  min-width: 180px;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  padding: 0.375rem;
  z-index: 101;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-0.5rem);
  transition: all 0.15s ease;
}

/* line 1959, app/assets/stylesheets/_styleguide.scss */
.sg-section-nav-submenu .sg-section-nav-submenu {
  z-index: 102;
}

/* line 1965, app/assets/stylesheets/_styleguide.scss */
.sg-district-nav {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 0.5rem;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* line 1978, app/assets/stylesheets/_styleguide.scss */
.sg-district-nav::-webkit-scrollbar {
  display: none;
}

/* line 1983, app/assets/stylesheets/_styleguide.scss */
.sg-district-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #F3F4F6;
  border: 1px solid #E5E7EB;
  border-radius: 9999px;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.15s ease;
  cursor: pointer;
}

/* line 1998, app/assets/stylesheets/_styleguide.scss */
.sg-district-chip:hover {
  color: #123B66;
  background-color: #F4F7FC;
  border-color: #A3C4E0;
}

/* line 2004, app/assets/stylesheets/_styleguide.scss */
.sg-district-chip.active {
  color: #FFFFFF;
  background-color: #1F5C96;
  border-color: #1F5C96;
}

/* line 2009, app/assets/stylesheets/_styleguide.scss */
.sg-district-chip.active:hover {
  background-color: #123B66;
  border-color: #123B66;
}

/* line 2017, app/assets/stylesheets/_styleguide.scss */
.sg-jurisdiction-nav-stack {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 2029, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector {
  display: flex;
  align-items: flex-end;
  gap: 1.5rem;
  padding: 0.75rem 1rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
}

@media (max-width: 768px) {
  /* line 2029, app/assets/stylesheets/_styleguide.scss */
  .sg-election-selector {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
}

/* line 2045, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-bottom: 0.25rem;
}

/* line 2055, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-date {
  flex-shrink: 0;
}

/* line 2059, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-dropdown {
  position: relative;
}

/* line 2063, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  font-size: 0.875rem;
  color: #1F2933;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 2076, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-trigger:hover {
  background-color: #F3F4F6;
  border-color: #D1D5DB;
}

/* line 2081, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-trigger i {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 2087, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-value {
  font-weight: 600;
}

/* line 2091, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-type {
  font-size: 0.75rem;
  color: #9CA3AF;
  padding: 0.125rem 0.375rem;
  background-color: #F3F4F6;
  border-radius: 4px;
}

/* line 2099, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-menu {
  display: none;
  position: absolute;
  top: calc(100% + 0.25rem);
  left: 0;
  min-width: 220px;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  z-index: 100;
  overflow: hidden;
}

/* line 2112, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-menu.is-open {
  display: block;
}

/* line 2117, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-option {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding: 0.625rem 0.875rem;
  text-decoration: none;
  transition: background-color 0.15s ease;
}

/* line 2125, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-option:hover {
  background-color: #F9FAFB;
}

/* line 2129, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-option.is-active {
  background-color: #F4F7FC;
}

/* line 2134, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-option-date {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 2140, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-option-type {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 2145, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-offices {
  flex: 1;
  min-width: 0;
}

/* line 2150, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

/* line 2156, app/assets/stylesheets/_styleguide.scss */
.sg-election-office-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 9999px;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.15s ease;
}

/* line 2170, app/assets/stylesheets/_styleguide.scss */
.sg-election-office-chip:hover {
  border-color: #D1D5DB;
  color: #1F2933;
}

/* line 2175, app/assets/stylesheets/_styleguide.scss */
.sg-election-office-chip.active {
  background-color: #1F5C96;
  border-color: #1F5C96;
  color: #FFFFFF;
}

/* line 2183, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-stacked {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 2190, app/assets/stylesheets/_styleguide.scss */
.sg-election-context-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.875rem 1rem;
  background-color: #F4F7FC;
  border-bottom: 1px solid #E5E7EB;
}

@media (max-width: 576px) {
  /* line 2190, app/assets/stylesheets/_styleguide.scss */
  .sg-election-context-banner {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}

/* line 2205, app/assets/stylesheets/_styleguide.scss */
.sg-election-context-info {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

/* line 2211, app/assets/stylesheets/_styleguide.scss */
.sg-election-context-type {
  font-size: 0.75rem;
  font-weight: 500;
  color: #123B66;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 2219, app/assets/stylesheets/_styleguide.scss */
.sg-election-context-date {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 2225, app/assets/stylesheets/_styleguide.scss */
.sg-election-context-change {
  position: relative;
}

/* line 2229, app/assets/stylesheets/_styleguide.scss */
.sg-election-context-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.625rem;
  font-size: 0.875rem;
  color: #1F5C96;
  background: none;
  border: 1px solid #A3C4E0;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 2242, app/assets/stylesheets/_styleguide.scss */
.sg-election-context-btn:hover {
  background-color: #E4EEF8;
  border-color: #4C7FB5;
}

/* line 2247, app/assets/stylesheets/_styleguide.scss */
.sg-election-context-btn i {
  font-size: 0.625rem;
}

/* line 2252, app/assets/stylesheets/_styleguide.scss */
.sg-election-office-filter {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
}

@media (max-width: 576px) {
  /* line 2252, app/assets/stylesheets/_styleguide.scss */
  .sg-election-office-filter {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}

/* line 2265, app/assets/stylesheets/_styleguide.scss */
.sg-election-office-filter-label {
  font-size: 0.875rem;
  color: #9CA3AF;
  white-space: nowrap;
}

/* line 2272, app/assets/stylesheets/_styleguide.scss */
.sg-election-selector-compact {
  position: relative;
  display: inline-block;
}

/* line 2277, app/assets/stylesheets/_styleguide.scss */
.sg-election-compact-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  font-size: 0.875rem;
  color: #1F2933;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 2290, app/assets/stylesheets/_styleguide.scss */
.sg-election-compact-trigger:hover {
  background-color: #F9FAFB;
  border-color: #D1D5DB;
}

/* line 2295, app/assets/stylesheets/_styleguide.scss */
.sg-election-compact-trigger i {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 2301, app/assets/stylesheets/_styleguide.scss */
.sg-election-compact-current {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 2307, app/assets/stylesheets/_styleguide.scss */
.sg-election-compact-date {
  font-weight: 500;
}

/* line 2311, app/assets/stylesheets/_styleguide.scss */
.sg-election-compact-separator {
  color: #B8BFC7;
}

/* line 2315, app/assets/stylesheets/_styleguide.scss */
.sg-election-compact-office {
  color: #4B5563;
}

/* line 2319, app/assets/stylesheets/_styleguide.scss */
.sg-election-compact-menu {
  display: none;
  position: absolute;
  top: calc(100% + 0.25rem);
  left: 0;
  min-width: 240px;
  max-height: 320px;
  overflow-y: auto;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  z-index: 100;
}

/* line 2333, app/assets/stylesheets/_styleguide.scss */
.sg-election-compact-menu.is-open {
  display: block;
}

/* line 2339, app/assets/stylesheets/_styleguide.scss */
.sg-election-compact-group:not(:last-child) {
  border-bottom: 1px solid #F3F4F6;
}

/* line 2344, app/assets/stylesheets/_styleguide.scss */
.sg-election-compact-group-header {
  padding: 0.5rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  background-color: #F9FAFB;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 2354, app/assets/stylesheets/_styleguide.scss */
.sg-election-compact-option {
  display: block;
  padding: 0.5rem 0.75rem 0.5rem 1.25rem;
  font-size: 0.875rem;
  color: #4B5563;
  text-decoration: none;
  transition: background-color 0.15s ease;
}

/* line 2362, app/assets/stylesheets/_styleguide.scss */
.sg-election-compact-option:hover {
  background-color: #F9FAFB;
}

/* line 2366, app/assets/stylesheets/_styleguide.scss */
.sg-election-compact-option.is-active {
  color: #123B66;
  background-color: #F4F7FC;
  font-weight: 500;
}

/* line 2390, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 2397, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card .sg-election-results-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 2405, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card .sg-election-results-header .sg-election-results-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
}

/* line 2412, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card .sg-election-results-header .sg-election-results-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 2418, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card .sg-election-results-body {
  padding: 0;
}

/* line 2422, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card .sg-election-results-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 2430, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card .sg-election-results-footer .sg-election-results-turnout {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 2434, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card .sg-election-results-footer .sg-election-results-turnout strong {
  color: #1F2933;
}

/* line 2442, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-row {
  display: flex;
  align-items: center;
  padding: 0.875rem 1.25rem;
  gap: 1rem;
  border-bottom: 1px solid #F3F4F6;
  transition: background-color 0.15s ease;
}

/* line 2450, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-row:last-child {
  border-bottom: none;
}

/* line 2454, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-row:hover {
  background-color: #F9FAFB;
}

/* line 2459, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-row.winner {
  background-color: #EDF4F0;
}

/* line 2462, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-row.winner:hover {
  background-color: #e7f0eb;
}

/* line 2469, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-info {
  flex: 0 0 200px;
  min-width: 0;
}

/* line 2473, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-info .sg-candidate-name {
  font-weight: 500;
  color: #1F2933;
  font-size: 0.875rem;
  line-height: 1.3;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-wrap: wrap;
}

/* line 2483, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-info .sg-candidate-name a {
  color: inherit;
  text-decoration: none;
}

/* line 2487, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-info .sg-candidate-name a:hover {
  color: #1F5C96;
}

/* line 2493, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-info .sg-candidate-name .sg-winner-icon {
  color: #1F6B4E;
  font-size: 0.875rem;
}

/* line 2499, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-info .sg-candidate-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
  flex-wrap: wrap;
}

/* line 2509, app/assets/stylesheets/_styleguide.scss */
.sg-party-badge {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
}

/* line 2515, app/assets/stylesheets/_styleguide.scss */
.sg-party-badge.sg-party-dem {
  background-color: #E4EEF8;
  color: #1F5C96;
}

/* line 2520, app/assets/stylesheets/_styleguide.scss */
.sg-party-badge.sg-party-rep {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 2525, app/assets/stylesheets/_styleguide.scss */
.sg-party-badge.sg-party-nonpartisan {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 2530, app/assets/stylesheets/_styleguide.scss */
.sg-party-badge.sg-party-green {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 2535, app/assets/stylesheets/_styleguide.scss */
.sg-party-badge.sg-party-libertarian {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 2542, app/assets/stylesheets/_styleguide.scss */
.sg-incumbent-badge {
  font-size: 0.65rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
  background-color: #E5E7EB;
  color: #4B5563;
}

/* line 2554, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-results {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 2563, app/assets/stylesheets/_styleguide.scss */
.sg-vote-count {
  flex: 0 0 80px;
  text-align: right;
  font-size: 0.875rem;
  color: #4B5563;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

/* line 2573, app/assets/stylesheets/_styleguide.scss */
.sg-vote-bar-wrapper {
  flex: 1;
  min-width: 0;
}

/* line 2578, app/assets/stylesheets/_styleguide.scss */
.sg-vote-bar {
  height: 24px;
  background-color: #F3F4F6;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
}

/* line 2586, app/assets/stylesheets/_styleguide.scss */
.sg-vote-bar-fill {
  height: 100%;
  border-radius: 6px;
  transition: width 0.4s ease;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 0.5rem;
  min-width: 40px;
}

/* line 2597, app/assets/stylesheets/_styleguide.scss */
.sg-vote-bar-fill.sg-party-dem {
  background-color: #1F5C96;
}

/* line 2601, app/assets/stylesheets/_styleguide.scss */
.sg-vote-bar-fill.sg-party-rep {
  background-color: #9B2331;
}

/* line 2605, app/assets/stylesheets/_styleguide.scss */
.sg-vote-bar-fill.sg-party-nonpartisan {
  background-color: #4B5563;
}

/* line 2609, app/assets/stylesheets/_styleguide.scss */
.sg-vote-bar-fill.sg-party-green {
  background-color: #127A7A;
}

/* line 2613, app/assets/stylesheets/_styleguide.scss */
.sg-vote-bar-fill.sg-party-libertarian {
  background-color: #C4681A;
}

/* line 2618, app/assets/stylesheets/_styleguide.scss */
.sg-vote-percentage {
  font-size: 0.75rem;
  font-weight: 700;
  color: #FFFFFF;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  white-space: nowrap;
}

/* line 2627, app/assets/stylesheets/_styleguide.scss */
.sg-vote-percentage-outside {
  font-size: 0.75rem;
  font-weight: 600;
  color: #4B5563;
  margin-left: 0.5rem;
  white-space: nowrap;
}

/* line 2637, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card-compact .sg-candidate-row {
  padding: 0.625rem 1rem;
}

/* line 2641, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card-compact .sg-candidate-info {
  flex: 0 0 160px;
}

/* line 2645, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card-compact .sg-vote-bar {
  height: 20px;
}

/* line 2649, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card-compact .sg-vote-count {
  flex: 0 0 70px;
  font-size: 0.75rem;
}

/* line 2657, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card-stacked .sg-candidate-row {
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
}

/* line 2663, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card-stacked .sg-candidate-info {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 2670, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card-stacked .sg-candidate-results {
  flex-direction: column;
  gap: 0.375rem;
}

/* line 2675, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card-stacked .sg-vote-count {
  flex: none;
  text-align: left;
  order: 2;
}

/* line 2681, app/assets/stylesheets/_styleguide.scss */
.sg-election-results-card-stacked .sg-vote-bar-wrapper {
  order: 1;
}

/* line 2696, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 2703, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card .sg-ideology-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 2711, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card .sg-ideology-header .sg-ideology-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
}

/* line 2718, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card .sg-ideology-header .sg-ideology-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 2724, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card .sg-ideology-body {
  padding: 1rem 1.25rem;
}

/* line 2728, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card .sg-ideology-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 2736, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card .sg-ideology-footer .sg-ideology-legend {
  display: flex;
  gap: 1.5rem;
  font-size: 0.75rem;
  color: #4B5563;
}

/* line 2743, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card .sg-ideology-footer .sg-ideology-legend-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 2748, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card .sg-ideology-footer .sg-ideology-legend-item .sg-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* line 2753, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card .sg-ideology-footer .sg-ideology-legend-item .sg-legend-dot.liberal {
  background-color: #1F5C96;
}

/* line 2757, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card .sg-ideology-footer .sg-ideology-legend-item .sg-legend-dot.conservative {
  background-color: #9B2331;
}

/* line 2761, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card .sg-ideology-footer .sg-ideology-legend-item .sg-legend-dot.centrist {
  background-color: #9CA3AF;
}

/* line 2770, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-row {
  padding: 0.75rem 0;
  border-bottom: 1px solid #F3F4F6;
}

/* line 2774, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* line 2779, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-row:first-child {
  padding-top: 0;
}

/* line 2785, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-category {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

/* line 2791, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-category .sg-ideology-category-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #1F2933;
}

/* line 2797, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-category .sg-ideology-value-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
}

/* line 2805, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-spectrum {
  position: relative;
  height: 8px;
  margin: 0.5rem 0;
}

/* line 2812, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-track {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 8px;
  transform: translateY(-50%);
  border-radius: 9999px;
  background: linear-gradient(to right, #1F5C96 0%, #589cdc 25%, #D1D5DB 50%, #d74d5d 75%, #9B2331 100%);
  opacity: 0.25;
}

/* line 2832, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-fill {
  position: absolute;
  top: 50%;
  height: 8px;
  transform: translateY(-50%);
  border-radius: 9999px;
}

/* line 2840, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-fill.sg-ideology-fill-liberal {
  right: 50%;
  background: linear-gradient(to left, #B8BFC7 0%, #1F5C96 100%);
}

/* line 2850, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-fill.sg-ideology-fill-conservative {
  left: 50%;
  background: linear-gradient(to right, #B8BFC7 0%, #9B2331 100%);
}

/* line 2861, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-marker {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #FFFFFF;
  border: 3px solid;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  z-index: 2;
  transition: left 0.3s ease;
}

/* line 2874, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-marker.liberal {
  border-color: #1F5C96;
}

/* line 2878, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-marker.conservative {
  border-color: #9B2331;
}

/* line 2882, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-marker.centrist {
  border-color: #9CA3AF;
}

/* line 2888, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-center-line {
  position: absolute;
  top: -2px;
  left: 50%;
  bottom: -2px;
  width: 2px;
  background-color: #D1D5DB;
  transform: translateX(-50%);
  z-index: 1;
}

/* line 2900, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 0.375rem;
}

/* line 2905, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-labels .sg-ideology-label {
  font-size: 0.65rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 2911, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-labels .sg-ideology-label.liberal {
  color: #1F5C96;
}

/* line 2915, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-labels .sg-ideology-label.conservative {
  color: #9B2331;
}

/* line 2923, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card-compact .sg-ideology-header {
  padding: 0.75rem 1rem;
}

/* line 2927, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card-compact .sg-ideology-body {
  padding: 0.75rem 1rem;
}

/* line 2931, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card-compact .sg-ideology-row {
  padding: 0.5rem 0;
}

/* line 2935, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card-compact .sg-ideology-spectrum {
  height: 6px;
}

/* line 2939, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card-compact .sg-ideology-track,
.sg-ideology-card-compact .sg-ideology-fill {
  height: 6px;
}

/* line 2944, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-card-compact .sg-ideology-marker {
  width: 14px;
  height: 14px;
  border-width: 2px;
}

/* line 2952, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-spectrum-dots {
  position: relative;
  height: 24px;
  display: flex;
  align-items: center;
}

/* line 2959, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-dots-track {
  position: absolute;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(to right, #1F5C96 0%, #E5E7EB 50%, #9B2331 100%);
  border-radius: 9999px;
}

/* line 2973, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-dot-marker {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #FFFFFF;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03), 0 0 0 3px;
  z-index: 2;
}

/* line 2984, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-dot-marker.liberal {
  color: #1F5C96;
}

/* line 2988, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-dot-marker.conservative {
  color: #9B2331;
}

/* line 2992, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-dot-marker.centrist {
  color: #9CA3AF;
}

/* line 2998, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-ticks {
  display: flex;
  justify-content: space-between;
  padding: 0 8px;
  margin-top: 0.25rem;
}

/* line 3004, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-ticks .sg-ideology-tick {
  width: 1px;
  height: 6px;
  background-color: #D1D5DB;
}

/* line 3012, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-score {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 9999px;
}

/* line 3020, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-score.liberal {
  background-color: #E4EEF8;
  color: #1F5C96;
}

/* line 3025, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-score.conservative {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 3030, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-score.centrist {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 3037, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-summary {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.875rem 1rem;
  background-color: #F9FAFB;
  border-radius: 8px;
  margin-bottom: 1rem;
}

/* line 3046, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-summary .sg-ideology-summary-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 3052, app/assets/stylesheets/_styleguide.scss */
.sg-ideology-summary .sg-ideology-summary-value {
  font-size: 1.125rem;
  font-weight: 700;
}

/* line 3063, app/assets/stylesheets/_styleguide.scss */
.sg-demo {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 3070, app/assets/stylesheets/_styleguide.scss */
.sg-demo .sg-copy-btn {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 4px;
  color: #B8BFC7;
  cursor: pointer;
  opacity: 0.6;
  transition: all 0.15s ease;
  font-size: 0.75rem;
  z-index: 10;
}

/* line 3089, app/assets/stylesheets/_styleguide.scss */
.sg-demo .sg-copy-btn:hover {
  opacity: 1;
  background-color: #F9FAFB;
  border-color: #B8BFC7;
  color: #4B5563;
}

/* line 3096, app/assets/stylesheets/_styleguide.scss */
.sg-demo .sg-copy-btn.copied {
  opacity: 1;
  background-color: #EDF4F0;
  border-color: #1F6B4E;
  color: #1F6B4E;
}

/* line 3106, app/assets/stylesheets/_styleguide.scss */
.sg-demo-block {
  position: relative;
}

/* line 3109, app/assets/stylesheets/_styleguide.scss */
.sg-demo-block .sg-copy-btn {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 4px;
  color: #B8BFC7;
  cursor: pointer;
  opacity: 0.6;
  transition: all 0.15s ease;
  font-size: 0.8rem;
  z-index: 10;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 3129, app/assets/stylesheets/_styleguide.scss */
.sg-demo-block .sg-copy-btn:hover {
  opacity: 1;
  background-color: #F9FAFB;
  border-color: #B8BFC7;
  color: #4B5563;
}

/* line 3136, app/assets/stylesheets/_styleguide.scss */
.sg-demo-block .sg-copy-btn.copied {
  opacity: 1;
  background-color: #EDF4F0;
  border-color: #1F6B4E;
  color: #1F6B4E;
}

/* line 3150, app/assets/stylesheets/_styleguide.scss */
.sg-officials-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 3157, app/assets/stylesheets/_styleguide.scss */
.sg-officials-card .sg-officials-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 3165, app/assets/stylesheets/_styleguide.scss */
.sg-officials-card .sg-officials-header .sg-officials-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
}

/* line 3172, app/assets/stylesheets/_styleguide.scss */
.sg-officials-card .sg-officials-header .sg-officials-count {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-weight: 500;
}

/* line 3179, app/assets/stylesheets/_styleguide.scss */
.sg-officials-card .sg-officials-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 3190, app/assets/stylesheets/_styleguide.scss */
.sg-officials-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 3197, app/assets/stylesheets/_styleguide.scss */
.sg-official-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
  gap: 1rem;
  border-bottom: 1px solid #F3F4F6;
  transition: background-color 0.15s ease;
}

/* line 3206, app/assets/stylesheets/_styleguide.scss */
.sg-official-item:last-child {
  border-bottom: none;
}

/* line 3210, app/assets/stylesheets/_styleguide.scss */
.sg-official-item:hover {
  background-color: #F9FAFB;
}

/* line 3216, app/assets/stylesheets/_styleguide.scss */
.sg-official-info {
  flex: 1;
  min-width: 0;
}

/* line 3221, app/assets/stylesheets/_styleguide.scss */
.sg-official-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #1F2933;
  line-height: 1.3;
}

/* line 3227, app/assets/stylesheets/_styleguide.scss */
.sg-official-name a {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 3232, app/assets/stylesheets/_styleguide.scss */
.sg-official-name a:hover {
  color: #1F5C96;
}

/* line 3238, app/assets/stylesheets/_styleguide.scss */
.sg-official-meta {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.25rem;
  flex-wrap: wrap;
}

/* line 3246, app/assets/stylesheets/_styleguide.scss */
.sg-official-title {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-weight: 500;
}

/* line 3252, app/assets/stylesheets/_styleguide.scss */
.sg-official-separator {
  display: inline-block;
  width: 3px;
  height: 3px;
  background-color: #B8BFC7;
  border-radius: 50%;
}

/* line 3260, app/assets/stylesheets/_styleguide.scss */
.sg-official-district {
  font-size: 0.75rem;
  color: #1F5C96;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.15s ease;
}

/* line 3267, app/assets/stylesheets/_styleguide.scss */
.sg-official-district:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 3274, app/assets/stylesheets/_styleguide.scss */
.sg-official-inline-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-weight: 400;
  margin-left: 0.5rem;
}

/* line 3280, app/assets/stylesheets/_styleguide.scss */
.sg-official-inline-meta .sg-official-district {
  color: #1F5C96;
  text-decoration: none;
}

/* line 3284, app/assets/stylesheets/_styleguide.scss */
.sg-official-inline-meta .sg-official-district:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 3292, app/assets/stylesheets/_styleguide.scss */
.sg-official-website {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: #B8BFC7;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 3304, app/assets/stylesheets/_styleguide.scss */
.sg-official-website i {
  font-size: 1rem;
}

/* line 3308, app/assets/stylesheets/_styleguide.scss */
.sg-official-website:hover {
  color: #1F5C96;
  background-color: #F4F7FC;
}

/* line 3316, app/assets/stylesheets/_styleguide.scss */
.sg-officials-card-compact .sg-officials-header {
  padding: 0.75rem 1rem;
}

/* line 3320, app/assets/stylesheets/_styleguide.scss */
.sg-officials-card-compact .sg-official-item {
  padding: 0.625rem 1rem;
}

/* line 3324, app/assets/stylesheets/_styleguide.scss */
.sg-officials-card-compact .sg-official-name {
  font-size: 0.75rem;
}

/* line 3328, app/assets/stylesheets/_styleguide.scss */
.sg-officials-card-compact .sg-official-title,
.sg-officials-card-compact .sg-official-district {
  font-size: 0.65rem;
}

/* line 3333, app/assets/stylesheets/_styleguide.scss */
.sg-officials-card-compact .sg-official-website {
  width: 28px;
  height: 28px;
}

/* line 3337, app/assets/stylesheets/_styleguide.scss */
.sg-officials-card-compact .sg-official-website i {
  font-size: 0.875rem;
}

/* line 3345, app/assets/stylesheets/_styleguide.scss */
.sg-officials-card-inline .sg-official-name {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  flex-wrap: wrap;
}

/* line 3352, app/assets/stylesheets/_styleguide.scss */
.sg-officials-card-inline .sg-official-meta {
  display: none;
}

/* line 3363, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 3371, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 3379, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-header .sg-overlap-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
}

/* line 3386, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-header .sg-overlap-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-top: 0.125rem;
}

/* line 3393, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-population {
  text-align: right;
  flex-shrink: 0;
}

/* line 3397, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-population .sg-overlap-population-label {
  display: block;
  font-size: 0.75rem;
  color: #9CA3AF;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 3406, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-population .sg-overlap-population-value {
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 3415, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-body {
  padding: 0;
}

/* line 3419, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 3427, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-footer .sg-overlap-footer-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 3434, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-category {
  border-bottom: 1px solid #E5E7EB;
}

/* line 3437, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-category:last-child {
  border-bottom: none;
}

/* line 3442, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-category-header {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

/* line 3450, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-category-header .sg-overlap-category-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 3459, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-category-header .sg-overlap-category-count {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 3467, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-category-single .sg-overlap-category-header {
  display: none;
}

/* line 3472, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

/* line 3479, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-item {
  display: flex;
  align-items: center;
  padding: 0.75rem 1.25rem;
  gap: 1rem;
  border-bottom: 1px solid #F3F4F6;
  transition: background-color 0.15s ease;
}

/* line 3487, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-item:last-child {
  border-bottom: none;
}

/* line 3491, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-item:hover {
  background-color: #F9FAFB;
}

/* line 3496, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-item-info {
  flex: 0 0 180px;
  min-width: 0;
}

/* line 3500, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-item-info .sg-overlap-item-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #1F5C96;
  text-decoration: none;
  display: block;
  line-height: 1.3;
  transition: color 0.15s ease;
}

/* line 3509, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-item-info .sg-overlap-item-name:hover {
  color: #123B66;
}

/* line 3514, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-item-info .sg-overlap-item-sub {
  font-size: 0.75rem;
  color: #9CA3AF;
  display: block;
  margin-top: 0.125rem;
}

/* line 3523, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-item-metrics {
  flex: 1;
  display: flex;
  gap: 1.5rem;
  min-width: 0;
}

/* line 3531, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-metric {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 3539, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-metric-bar-wrapper {
  flex: 1;
  min-width: 0;
}

/* line 3544, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-metric-bar {
  height: 8px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 3551, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-metric-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
  min-width: 2px;
}

/* line 3557, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-metric-fill.sg-overlap-fill-primary {
  background-color: #1F5C96;
}

/* line 3561, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-metric-fill.sg-overlap-fill-secondary {
  background-color: #127A7A;
}

/* line 3566, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-metric-values {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.0625rem;
  min-width: 60px;
}

/* line 3574, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-metric-values .sg-overlap-metric-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}

/* line 3582, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-metric-values .sg-overlap-metric-label {
  font-size: 0.65rem;
  color: #9CA3AF;
  white-space: nowrap;
  line-height: 1.2;
}

/* line 3591, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-table-bar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 120px;
}

/* line 3598, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-table-fill {
  flex: 1;
  height: 6px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
  position: relative;
}

/* line 3606, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-table-fill::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
}

/* line 3616, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-table-fill.sg-overlap-fill-primary::after {
  background-color: #1F5C96;
  width: inherit;
}

/* line 3621, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-table-fill.sg-overlap-fill-secondary::after {
  background-color: #127A7A;
  width: inherit;
}

/* line 3627, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-table-value {
  font-size: 0.75rem;
  font-weight: 600;
  color: #4B5563;
  font-variant-numeric: tabular-nums;
  min-width: 35px;
  text-align: right;
}

/* line 3638, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-category-collapsible .sg-overlap-category-header {
  cursor: pointer;
  user-select: none;
  transition: background-color 0.15s ease;
}

/* line 3643, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-category-collapsible .sg-overlap-category-header:hover {
  background-color: #F3F4F6;
}

/* line 3648, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-category-collapsible .sg-overlap-category-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
}

/* line 3654, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-category-collapsible .sg-overlap-category-toggle i {
  font-size: 0.75rem;
  color: #9CA3AF;
  transition: transform 0.15s ease;
}

/* line 3661, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-category-collapsible .sg-overlap-category-summary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 3669, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-category-collapsible .sg-overlap-category-preview {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 3674, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-category-collapsible .sg-overlap-category-preview .sg-overlap-preview-bar {
  width: 40px;
  height: 4px;
  background-color: #E5E7EB;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 3681, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-category-collapsible .sg-overlap-category-preview .sg-overlap-preview-bar .sg-overlap-preview-fill {
  height: 100%;
  border-radius: 9999px;
}

/* line 3685, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-category-collapsible .sg-overlap-category-preview .sg-overlap-preview-bar .sg-overlap-preview-fill.sg-overlap-fill-primary {
  background-color: #1F5C96;
}

/* line 3691, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-category-collapsible .sg-overlap-category-preview .sg-overlap-preview-value {
  font-weight: 600;
  color: #4B5563;
  min-width: 32px;
}

/* line 3700, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-list-collapsed {
  display: none;
}

/* line 3705, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.5rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #FFFFFF;
}

/* line 3714, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-controls .sg-overlap-control-btn {
  font-size: 0.75rem;
  color: #1F5C96;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  transition: all 0.15s ease;
  font-family: inherit;
}

/* line 3725, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-controls .sg-overlap-control-btn:hover {
  background-color: #F4F7FC;
  color: #123B66;
}

/* line 3731, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-controls .sg-overlap-control-separator {
  color: #D1D5DB;
}

/* line 3737, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-total-summary {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 3745, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-total-summary .sg-overlap-total-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
}

/* line 3751, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-total-summary .sg-overlap-total-item .sg-overlap-total-count {
  font-weight: 700;
  color: #1F2933;
}

/* line 3756, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-total-summary .sg-overlap-total-item .sg-overlap-total-label {
  color: #9CA3AF;
}

/* line 3768, app/assets/stylesheets/_styleguide.scss */
.sg-chart-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 3776, app/assets/stylesheets/_styleguide.scss */
.sg-chart-header {
  padding: 1rem 1.25rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 3785, app/assets/stylesheets/_styleguide.scss */
.sg-chart-header-left {
  flex: 1;
  min-width: 0;
}

/* line 3790, app/assets/stylesheets/_styleguide.scss */
.sg-chart-header-right {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 3797, app/assets/stylesheets/_styleguide.scss */
.sg-chart-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
  line-height: 1.3;
}

/* line 3805, app/assets/stylesheets/_styleguide.scss */
.sg-chart-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0.125rem 0 0;
}

/* line 3811, app/assets/stylesheets/_styleguide.scss */
.sg-chart-metric-highlight {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1F2933;
  display: block;
  margin-top: 0.25rem;
  font-variant-numeric: tabular-nums;
}

/* line 3820, app/assets/stylesheets/_styleguide.scss */
.sg-chart-trend {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
}

/* line 3829, app/assets/stylesheets/_styleguide.scss */
.sg-chart-trend i {
  font-size: 0.75rem;
}

/* line 3833, app/assets/stylesheets/_styleguide.scss */
.sg-chart-trend.sg-chart-trend-up {
  color: #1F6B4E;
  background-color: #EDF4F0;
}

/* line 3838, app/assets/stylesheets/_styleguide.scss */
.sg-chart-trend.sg-chart-trend-down {
  color: #9B2331;
  background-color: #F8F0F1;
}

/* line 3845, app/assets/stylesheets/_styleguide.scss */
.sg-chart-type-toggle {
  display: flex;
  background-color: #F3F4F6;
  border-radius: 6px;
  padding: 2px;
}

/* line 3852, app/assets/stylesheets/_styleguide.scss */
.sg-chart-type-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 28px;
  background: transparent;
  border: none;
  border-radius: 4px;
  color: #9CA3AF;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
}

/* line 3866, app/assets/stylesheets/_styleguide.scss */
.sg-chart-type-btn:hover {
  color: #4B5563;
}

/* line 3870, app/assets/stylesheets/_styleguide.scss */
.sg-chart-type-btn.active {
  background-color: #FFFFFF;
  color: #1F5C96;
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 3876, app/assets/stylesheets/_styleguide.scss */
.sg-chart-type-btn i {
  font-size: 0.875rem;
}

/* line 3882, app/assets/stylesheets/_styleguide.scss */
.sg-chart-controls {
  padding: 0.75rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #F3F4F6;
  flex-wrap: wrap;
}

/* line 3892, app/assets/stylesheets/_styleguide.scss */
.sg-chart-controls.sg-chart-controls-right {
  justify-content: flex-end;
}

/* line 3898, app/assets/stylesheets/_styleguide.scss */
.sg-chart-view-toggles {
  display: flex;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 2px;
}

/* line 3906, app/assets/stylesheets/_styleguide.scss */
.sg-chart-view-btn {
  padding: 0.375rem 0.75rem;
  background: transparent;
  border: none;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
  white-space: nowrap;
}

/* line 3919, app/assets/stylesheets/_styleguide.scss */
.sg-chart-view-btn:hover {
  color: #1F2933;
}

/* line 3923, app/assets/stylesheets/_styleguide.scss */
.sg-chart-view-btn.active {
  background-color: #1F5C96;
  color: #FFFFFF;
}

/* line 3930, app/assets/stylesheets/_styleguide.scss */
.sg-chart-date-range {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 3935, app/assets/stylesheets/_styleguide.scss */
.sg-chart-date-range.sg-chart-date-range-inline {
  margin-left: auto;
}

/* line 3940, app/assets/stylesheets/_styleguide.scss */
.sg-chart-year-select {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 3946, app/assets/stylesheets/_styleguide.scss */
.sg-chart-year-label {
  font-size: 0.65rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 3954, app/assets/stylesheets/_styleguide.scss */
.sg-chart-select {
  padding: 0.375rem 2rem 0.375rem 0.625rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  transition: border-color 0.15s ease;
  font-family: inherit;
}

/* line 3970, app/assets/stylesheets/_styleguide.scss */
.sg-chart-select:hover {
  border-color: #D1D5DB;
}

/* line 3974, app/assets/stylesheets/_styleguide.scss */
.sg-chart-select:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 2px rgba(31, 92, 150, 0.1);
}

/* line 3980, app/assets/stylesheets/_styleguide.scss */
.sg-chart-select.sg-chart-select-sm {
  padding: 0.25rem 1.75rem 0.25rem 0.5rem;
  font-size: 0.75rem;
}

/* line 3986, app/assets/stylesheets/_styleguide.scss */
.sg-chart-date-separator {
  color: #B8BFC7;
  font-size: 0.875rem;
  padding: 0 0.125rem;
}

/* line 3993, app/assets/stylesheets/_styleguide.scss */
.sg-chart-body {
  padding: 1rem 1.25rem 1.25rem;
  height: 320px;
  position: relative;
}

/* line 3998, app/assets/stylesheets/_styleguide.scss */
.sg-chart-body canvas {
  width: 100% !important;
  height: 100% !important;
}

/* line 4003, app/assets/stylesheets/_styleguide.scss */
.sg-chart-body.sg-chart-body-sm {
  height: 180px;
  padding: 0.75rem 1rem 1rem;
}

/* line 4010, app/assets/stylesheets/_styleguide.scss */
.sg-chart-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #F3F4F6;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 4018, app/assets/stylesheets/_styleguide.scss */
.sg-chart-footer .sg-chart-footer-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 4025, app/assets/stylesheets/_styleguide.scss */
.sg-chart-tabs {
  display: flex;
  border-bottom: 1px solid #E5E7EB;
}

/* line 4030, app/assets/stylesheets/_styleguide.scss */
.sg-chart-tab {
  flex: 1;
  padding: 1rem 1.25rem;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  text-align: left;
  transition: all 0.15s ease;
  font-family: inherit;
}

/* line 4041, app/assets/stylesheets/_styleguide.scss */
.sg-chart-tab:hover {
  background-color: #F9FAFB;
}

/* line 4045, app/assets/stylesheets/_styleguide.scss */
.sg-chart-tab.active {
  border-bottom-color: #1F5C96;
  background-color: #F9FAFB;
}

/* line 4049, app/assets/stylesheets/_styleguide.scss */
.sg-chart-tab.active .sg-chart-tab-label {
  color: #1F5C96;
}

/* line 4053, app/assets/stylesheets/_styleguide.scss */
.sg-chart-tab.active .sg-chart-tab-value {
  color: #1F2933;
}

/* line 4059, app/assets/stylesheets/_styleguide.scss */
.sg-chart-tab-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-bottom: 0.25rem;
}

/* line 4069, app/assets/stylesheets/_styleguide.scss */
.sg-chart-tab-value {
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
  color: #4B5563;
  font-variant-numeric: tabular-nums;
}

/* line 4079, app/assets/stylesheets/_styleguide.scss */
.sg-chart-card-compact .sg-chart-header {
  padding: 0.75rem 1rem;
}

/* line 4083, app/assets/stylesheets/_styleguide.scss */
.sg-chart-card-compact .sg-chart-title {
  font-size: 0.875rem;
}

/* line 4087, app/assets/stylesheets/_styleguide.scss */
.sg-chart-card-compact .sg-chart-controls {
  padding: 0.5rem 1rem;
}

/* line 4091, app/assets/stylesheets/_styleguide.scss */
.sg-chart-card-compact .sg-chart-footer {
  padding: 0.5rem 1rem;
}

/* line 4098, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-card-compact .sg-overlap-header {
  padding: 0.75rem 1rem;
}

/* line 4102, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-card-compact .sg-overlap-category-header {
  padding: 0.5rem 1rem;
}

/* line 4106, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-card-compact .sg-overlap-item {
  padding: 0.5rem 1rem;
}

/* line 4110, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-card-compact .sg-overlap-item-info {
  flex: 0 0 120px;
}

/* line 4113, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-card-compact .sg-overlap-item-info .sg-overlap-item-name {
  font-size: 0.75rem;
}

/* line 4118, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-card-compact .sg-overlap-item-metrics {
  gap: 1rem;
}

/* line 4122, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-card-compact .sg-overlap-metric {
  gap: 0.5rem;
}

/* line 4126, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-card-compact .sg-overlap-metric-bar {
  height: 6px;
}

/* line 4130, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-card-compact .sg-overlap-metric-values {
  min-width: 50px;
}

/* line 4133, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-card-compact .sg-overlap-metric-values .sg-overlap-metric-pct {
  font-size: 0.75rem;
}

/* line 4137, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-card-compact .sg-overlap-metric-values .sg-overlap-metric-label {
  font-size: 0.6rem;
}

/* line 4142, app/assets/stylesheets/_styleguide.scss */
.sg-overlap-card-compact .sg-overlap-footer {
  padding: 0.5rem 1rem;
}

/* line 4159, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  padding: 1.25rem;
}

/* line 4167, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-card-compact {
  padding: 1rem;
}

/* line 4171, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 4179, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-title {
  font-weight: 500;
  font-size: 1rem;
  color: #1F2933;
  margin: 0;
}

/* line 4186, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-total,
.sg-party-bar-meta {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 4193, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar {
  display: flex;
  width: 100%;
  height: 12px;
  border-radius: 9999px;
  overflow: hidden;
  background-color: #F3F4F6;
}

/* line 4202, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-xs {
  height: 4px;
}

/* line 4206, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-sm {
  height: 8px;
}

/* line 4210, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-md {
  height: 18px;
}

/* line 4214, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-lg {
  height: 24px;
}

/* line 4219, app/assets/stylesheets/_styleguide.scss */
.sg-party-segment {
  height: 100%;
  position: relative;
  transition: opacity 0.15s ease;
}

/* line 4224, app/assets/stylesheets/_styleguide.scss */
.sg-party-segment:hover {
  opacity: 0.85;
}

/* line 4228, app/assets/stylesheets/_styleguide.scss */
.sg-party-segment.sg-party-dem {
  background-color: #1F5C96;
}

/* line 4232, app/assets/stylesheets/_styleguide.scss */
.sg-party-segment.sg-party-rep {
  background-color: #9B2331;
}

/* line 4236, app/assets/stylesheets/_styleguide.scss */
.sg-party-segment.sg-party-npp {
  background-color: #4B5563;
}

/* line 4240, app/assets/stylesheets/_styleguide.scss */
.sg-party-segment.sg-party-other {
  background-color: #B8BFC7;
}

/* line 4247, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-hoverable .sg-party-segment[data-pct] {
  cursor: pointer;
}

/* line 4250, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-hoverable .sg-party-segment[data-pct]::after {
  content: attr(data-pct);
  position: absolute;
  bottom: calc(100% + 4px);
  left: 50%;
  transform: translateX(-50%);
  padding: 2px 6px;
  font-size: 11px;
  font-weight: 600;
  color: #FFFFFF;
  background-color: #1F2933;
  border-radius: 3px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  z-index: 10;
}

/* line 4268, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-hoverable .sg-party-segment[data-pct]:hover::after {
  opacity: 1;
}

/* line 4276, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-labeled .sg-party-segment-label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.75rem;
  font-weight: 600;
  color: #FFFFFF;
  white-space: nowrap;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* line 4290, app/assets/stylesheets/_styleguide.scss */
.sg-party-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.75rem;
}

/* line 4297, app/assets/stylesheets/_styleguide.scss */
.sg-party-legend-horizontal {
  justify-content: center;
  gap: 1.5rem;
  padding-top: 0.75rem;
  border-top: 1px solid #F3F4F6;
  margin-top: 1rem;
}

/* line 4305, app/assets/stylesheets/_styleguide.scss */
.sg-party-legend-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 4311, app/assets/stylesheets/_styleguide.scss */
.sg-party-dot {
  width: 10px;
  height: 10px;
  border-radius: 9999px;
  flex-shrink: 0;
}

/* line 4317, app/assets/stylesheets/_styleguide.scss */
.sg-party-dot.sg-party-dem {
  background-color: #1F5C96;
}

/* line 4321, app/assets/stylesheets/_styleguide.scss */
.sg-party-dot.sg-party-rep {
  background-color: #9B2331;
}

/* line 4325, app/assets/stylesheets/_styleguide.scss */
.sg-party-dot.sg-party-npp {
  background-color: #4B5563;
}

/* line 4329, app/assets/stylesheets/_styleguide.scss */
.sg-party-dot.sg-party-other {
  background-color: #B8BFC7;
}

/* line 4334, app/assets/stylesheets/_styleguide.scss */
.sg-party-legend-label {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 4339, app/assets/stylesheets/_styleguide.scss */
.sg-party-legend-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  margin-left: 0.25rem;
}

/* line 4347, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-inline {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 4353, app/assets/stylesheets/_styleguide.scss */
.sg-party-inline-legend {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 4359, app/assets/stylesheets/_styleguide.scss */
.sg-party-inline-item {
  font-size: 0.75rem;
  font-weight: 600;
}

/* line 4363, app/assets/stylesheets/_styleguide.scss */
.sg-party-inline-item.sg-party-dem {
  color: #1F5C96;
}

/* line 4367, app/assets/stylesheets/_styleguide.scss */
.sg-party-inline-item.sg-party-rep {
  color: #9B2331;
}

/* line 4371, app/assets/stylesheets/_styleguide.scss */
.sg-party-inline-item.sg-party-npp {
  color: #4B5563;
}

/* line 4375, app/assets/stylesheets/_styleguide.scss */
.sg-party-inline-item.sg-party-other {
  color: #B8BFC7;
}

/* line 4381, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-comparison {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 4386, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-comparison.sg-party-bar-comparison-labeled {
  gap: 0.5rem;
}

/* line 4391, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 4397, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-row-label {
  flex: 0 0 80px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  white-space: nowrap;
}

/* line 4405, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-row .sg-party-bar {
  flex: 1;
}

/* line 4410, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-row-detailed {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

/* line 4415, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-row-detailed .sg-party-bar-row-label {
  flex: 0 0 80px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  white-space: nowrap;
  padding-top: 2px;
}

/* line 4425, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-row-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 4432, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-percentages {
  display: flex;
  gap: 0.75rem;
  padding-left: 0.125rem;
}

/* line 4438, app/assets/stylesheets/_styleguide.scss */
.sg-party-pct {
  font-size: 0.75rem;
  font-weight: 500;
  min-width: 28px;
}

/* line 4443, app/assets/stylesheets/_styleguide.scss */
.sg-party-pct.sg-party-dem {
  color: #1F5C96;
}

/* line 4444, app/assets/stylesheets/_styleguide.scss */
.sg-party-pct.sg-party-rep {
  color: #9B2331;
}

/* line 4445, app/assets/stylesheets/_styleguide.scss */
.sg-party-pct.sg-party-npp {
  color: #4B5563;
}

/* line 4446, app/assets/stylesheets/_styleguide.scss */
.sg-party-pct.sg-party-other {
  color: #9CA3AF;
}

/* line 4450, app/assets/stylesheets/_styleguide.scss */
.sg-party-bar-comparison-detailed .sg-party-bar-row-detailed + .sg-party-bar-row-detailed {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #F3F4F6;
}

/* line 4458, app/assets/stylesheets/_styleguide.scss */
.sg-party-stats {
  display: flex;
  justify-content: space-between;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #F3F4F6;
}

/* line 4466, app/assets/stylesheets/_styleguide.scss */
.sg-party-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.125rem;
}

/* line 4473, app/assets/stylesheets/_styleguide.scss */
.sg-party-stat-value {
  font-size: 1.125rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

/* line 4478, app/assets/stylesheets/_styleguide.scss */
.sg-party-stat-value.sg-party-dem {
  color: #1F5C96;
}

/* line 4482, app/assets/stylesheets/_styleguide.scss */
.sg-party-stat-value.sg-party-rep {
  color: #9B2331;
}

/* line 4486, app/assets/stylesheets/_styleguide.scss */
.sg-party-stat-value.sg-party-npp {
  color: #4B5563;
}

/* line 4490, app/assets/stylesheets/_styleguide.scss */
.sg-party-stat-value.sg-party-other {
  color: #B8BFC7;
}

/* line 4495, app/assets/stylesheets/_styleguide.scss */
.sg-party-stat-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 4507, app/assets/stylesheets/_styleguide.scss */
.sg-candidates-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 4515, app/assets/stylesheets/_styleguide.scss */
.sg-candidates-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 4524, app/assets/stylesheets/_styleguide.scss */
.sg-candidates-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
}

/* line 4531, app/assets/stylesheets/_styleguide.scss */
.sg-candidates-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-top: 0.125rem;
}

/* line 4537, app/assets/stylesheets/_styleguide.scss */
.sg-office-header-right {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 4543, app/assets/stylesheets/_styleguide.scss */
.sg-office-district-link {
  font-size: 0.75rem;
  color: #1F5C96;
  text-decoration: none;
  white-space: nowrap;
}

/* line 4549, app/assets/stylesheets/_styleguide.scss */
.sg-office-district-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 4555, app/assets/stylesheets/_styleguide.scss */
.sg-candidates-count {
  font-size: 0.875rem;
  color: #9CA3AF;
  white-space: nowrap;
}

/* line 4561, app/assets/stylesheets/_styleguide.scss */
.sg-candidates-body {
  padding: 0;
}

/* line 4565, app/assets/stylesheets/_styleguide.scss */
.sg-candidates-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 4570, app/assets/stylesheets/_styleguide.scss */
.sg-candidates-footer .sg-candidates-footer-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 4577, app/assets/stylesheets/_styleguide.scss */
.sg-office {
  border-bottom: 1px solid #E5E7EB;
}

/* line 4580, app/assets/stylesheets/_styleguide.scss */
.sg-office:last-child {
  border-bottom: none;
}

/* line 4585, app/assets/stylesheets/_styleguide.scss */
.sg-office-header {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

/* line 4594, app/assets/stylesheets/_styleguide.scss */
.sg-office-collapsible .sg-office-header {
  cursor: pointer;
  user-select: none;
}

/* line 4598, app/assets/stylesheets/_styleguide.scss */
.sg-office-collapsible .sg-office-header:hover {
  background-color: #F3F4F6;
}

/* line 4603, app/assets/stylesheets/_styleguide.scss */
.sg-office-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 4608, app/assets/stylesheets/_styleguide.scss */
.sg-office-toggle i {
  font-size: 0.875rem;
  color: #9CA3AF;
  transition: transform 0.2s ease;
}

/* line 4615, app/assets/stylesheets/_styleguide.scss */
.sg-office-candidate-count {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-weight: 500;
}

/* line 4621, app/assets/stylesheets/_styleguide.scss */
.sg-office-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 4628, app/assets/stylesheets/_styleguide.scss */
.sg-office-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 4634, app/assets/stylesheets/_styleguide.scss */
.sg-candidates-controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #FFFFFF;
}

/* line 4643, app/assets/stylesheets/_styleguide.scss */
.sg-candidates-control-btn {
  background: none;
  border: none;
  padding: 0;
  font-size: 0.75rem;
  color: #1F5C96;
  cursor: pointer;
}

/* line 4651, app/assets/stylesheets/_styleguide.scss */
.sg-candidates-control-btn:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 4657, app/assets/stylesheets/_styleguide.scss */
.sg-candidates-control-separator {
  color: #D1D5DB;
  font-size: 0.75rem;
}

/* line 4663, app/assets/stylesheets/_styleguide.scss */
.sg-office-candidates-collapsed {
  display: none;
}

/* line 4667, app/assets/stylesheets/_styleguide.scss */
.sg-office-candidates {
  padding: 0;
}

/* line 4672, app/assets/stylesheets/_styleguide.scss */
.sg-candidate {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 4676, app/assets/stylesheets/_styleguide.scss */
.sg-candidate:last-child {
  border-bottom: none;
}

/* line 4681, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 4688, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #1F5C96;
  text-decoration: none;
}

/* line 4694, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-name:hover {
  color: #123B66;
}

/* line 4699, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-status {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
}

/* line 4706, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-incumbent {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 4711, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-website {
  color: #B8BFC7;
  font-size: 0.875rem;
  text-decoration: none;
  margin-left: 0.25rem;
}

/* line 4717, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-website:hover {
  color: #1F5C96;
}

/* line 4723, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-finance {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 0.5rem;
}

/* line 4729, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-finance-empty {
  margin-bottom: 0.5rem;
}

/* line 4733, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-finance-item {
  display: flex;
  flex-direction: column;
  gap: 0.0625rem;
}

/* line 4739, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-finance-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 4746, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-finance-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 4753, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-finance-date {
  font-size: 0.75rem;
  color: #B8BFC7;
  align-self: flex-end;
  margin-left: auto;
  font-style: italic;
}

/* line 4762, app/assets/stylesheets/_styleguide.scss */
.sg-finance-raised {
  color: #127A7A;
}

/* line 4766, app/assets/stylesheets/_styleguide.scss */
.sg-finance-spent {
  color: #C4681A;
}

/* line 4770, app/assets/stylesheets/_styleguide.scss */
.sg-finance-cash {
  color: #1F5C96;
}

/* line 4774, app/assets/stylesheets/_styleguide.scss */
.sg-finance-debt {
  color: #9B2331;
}

/* line 4779, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-sources {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 4786, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-sources-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 4791, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-source-link {
  font-size: 0.75rem;
  color: #1F5C96;
  text-decoration: none;
}

/* line 4796, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-source-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 4804, app/assets/stylesheets/_styleguide.scss */
.sg-candidates-card-compact .sg-candidates-header {
  padding: 0.75rem 1rem;
}

/* line 4808, app/assets/stylesheets/_styleguide.scss */
.sg-candidates-card-compact .sg-office-header {
  padding: 0.5rem 1rem;
}

/* line 4813, app/assets/stylesheets/_styleguide.scss */
.sg-office-candidates-compact {
  padding: 0;
}

/* line 4817, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-row {
  display: flex;
  align-items: center;
  padding: 0.5rem 1rem;
  gap: 1rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 4824, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-row:last-child {
  border-bottom: none;
}

/* line 4828, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-row:hover {
  background-color: #F9FAFB;
}

/* line 4833, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-row-info {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  min-width: 0;
}

/* line 4840, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-row-info .sg-candidate-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 4846, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-row-info .sg-candidate-status {
  font-size: 0.625rem;
  padding: 0.0625rem 0.25rem;
}

/* line 4852, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-row-finance {
  flex: 0 0 auto;
}

/* line 4856, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-row-amount {
  font-size: 0.75rem;
  color: #4B5563;
  font-variant-numeric: tabular-nums;
}

/* line 4862, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-row-sources {
  flex: 0 0 auto;
}

/* line 4865, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-row-sources .sg-candidate-source-link {
  color: #B8BFC7;
  font-size: 0.875rem;
}

/* line 4869, app/assets/stylesheets/_styleguide.scss */
.sg-candidate-row-sources .sg-candidate-source-link:hover {
  color: #1F5C96;
}

/* line 4885, app/assets/stylesheets/_styleguide.scss */
.sg-contest-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 4892, app/assets/stylesheets/_styleguide.scss */
.sg-contest-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 4901, app/assets/stylesheets/_styleguide.scss */
.sg-contest-title-group {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 4907, app/assets/stylesheets/_styleguide.scss */
.sg-contest-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 4914, app/assets/stylesheets/_styleguide.scss */
.sg-contest-jurisdiction {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 4919, app/assets/stylesheets/_styleguide.scss */
.sg-contest-meta {
  text-align: right;
}

/* line 4923, app/assets/stylesheets/_styleguide.scss */
.sg-contest-election-date {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 4928, app/assets/stylesheets/_styleguide.scss */
.sg-contest-body {
  padding: 0;
}

/* line 4932, app/assets/stylesheets/_styleguide.scss */
.sg-contest-candidate {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 4939, app/assets/stylesheets/_styleguide.scss */
.sg-contest-candidate:last-of-type {
  border-bottom: none;
}

/* line 4943, app/assets/stylesheets/_styleguide.scss */
.sg-contest-candidate.winner {
  background-color: rgba(31, 107, 78, 0.04);
}

/* line 4946, app/assets/stylesheets/_styleguide.scss */
.sg-contest-candidate.winner .sg-contest-candidate-name a {
  color: #1F6B4E;
}

/* line 4950, app/assets/stylesheets/_styleguide.scss */
.sg-contest-candidate.winner .sg-contest-vote-fill {
  background-color: #1F6B4E;
}

/* line 4956, app/assets/stylesheets/_styleguide.scss */
.sg-contest-candidate-rank {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 500;
  color: #9CA3AF;
  background-color: #F3F4F6;
  border-radius: 9999px;
}

/* line 4970, app/assets/stylesheets/_styleguide.scss */
.sg-contest-candidate-info {
  flex: 0 0 200px;
  min-width: 0;
}

/* line 4975, app/assets/stylesheets/_styleguide.scss */
.sg-contest-candidate-name {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 4980, app/assets/stylesheets/_styleguide.scss */
.sg-contest-candidate-name a {
  font-weight: 500;
  color: #1F2933;
  text-decoration: none;
}

/* line 4985, app/assets/stylesheets/_styleguide.scss */
.sg-contest-candidate-name a:hover {
  color: #1F5C96;
}

/* line 4991, app/assets/stylesheets/_styleguide.scss */
.sg-winner-badge {
  color: #1F6B4E;
  font-size: 0.875rem;
}

/* line 4996, app/assets/stylesheets/_styleguide.scss */
.sg-contest-candidate-designation {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-top: 0.125rem;
}

/* line 5002, app/assets/stylesheets/_styleguide.scss */
.sg-contest-candidate-results {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 5010, app/assets/stylesheets/_styleguide.scss */
.sg-contest-vote-bar-wrapper {
  width: 100%;
}

/* line 5014, app/assets/stylesheets/_styleguide.scss */
.sg-contest-vote-bar {
  height: 8px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 5021, app/assets/stylesheets/_styleguide.scss */
.sg-contest-vote-fill {
  height: 100%;
  background-color: #B8BFC7;
  border-radius: 9999px;
  transition: width 0.4s ease;
}

/* line 5028, app/assets/stylesheets/_styleguide.scss */
.sg-contest-vote-stats {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 5034, app/assets/stylesheets/_styleguide.scss */
.sg-contest-vote-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
}

/* line 5040, app/assets/stylesheets/_styleguide.scss */
.sg-contest-vote-count {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 5045, app/assets/stylesheets/_styleguide.scss */
.sg-contest-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 5051, app/assets/stylesheets/_styleguide.scss */
.sg-contest-total-votes {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 5055, app/assets/stylesheets/_styleguide.scss */
.sg-contest-total-votes strong {
  color: #1F2933;
}

/* line 5061, app/assets/stylesheets/_styleguide.scss */
.sg-contest-candidates-hidden {
  display: none;
}

/* line 5064, app/assets/stylesheets/_styleguide.scss */
.sg-contest-candidates-hidden.is-visible {
  display: block;
}

/* line 5069, app/assets/stylesheets/_styleguide.scss */
.sg-contest-expand-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  width: 100%;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  background-color: #F9FAFB;
  border: none;
  border-top: 1px solid #E5E7EB;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 5085, app/assets/stylesheets/_styleguide.scss */
.sg-contest-expand-btn i {
  font-size: 0.75rem;
  transition: transform 0.15s ease;
}

/* line 5090, app/assets/stylesheets/_styleguide.scss */
.sg-contest-expand-btn:hover {
  background-color: #F4F7FC;
  color: #123B66;
}

/* line 5095, app/assets/stylesheets/_styleguide.scss */
.sg-contest-expand-btn.is-expanded i {
  transform: rotate(180deg);
}

/* line 5101, app/assets/stylesheets/_styleguide.scss */
.sg-contest-card-inline {
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-top: none;
}

/* line 5107, app/assets/stylesheets/_styleguide.scss */
.sg-contest-card-inline:first-child {
  border-top: 1px solid #E5E7EB;
}

/* line 5111, app/assets/stylesheets/_styleguide.scss */
.sg-contest-card-inline .sg-contest-header {
  padding: 0.75rem 1rem;
}

/* line 5114, app/assets/stylesheets/_styleguide.scss */
.sg-contest-card-inline .sg-contest-header h4 {
  font-size: 1rem;
  margin: 0;
}

/* line 5120, app/assets/stylesheets/_styleguide.scss */
.sg-contest-card-inline .sg-contest-candidate {
  padding: 0.625rem 1rem;
}

/* line 5124, app/assets/stylesheets/_styleguide.scss */
.sg-contest-card-inline .sg-contest-candidate-info {
  flex: 0 0 180px;
}

/* line 5129, app/assets/stylesheets/_styleguide.scss */
.sg-contest-footer-inline {
  padding: 0.5rem 1rem;
  background-color: #F9FAFB;
  border-top: 1px solid #F3F4F6;
}

/* line 5134, app/assets/stylesheets/_styleguide.scss */
.sg-contest-footer-inline .sg-contest-total-votes {
  font-size: 0.75rem;
}

/* line 5140, app/assets/stylesheets/_styleguide.scss */
.sg-contests-list {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 5147, app/assets/stylesheets/_styleguide.scss */
.sg-contests-list-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 5152, app/assets/stylesheets/_styleguide.scss */
.sg-contests-list-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0 0 0.125rem 0;
}

/* line 5159, app/assets/stylesheets/_styleguide.scss */
.sg-contests-list-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 5172, app/assets/stylesheets/_styleguide.scss */
.sg-measure-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 5179, app/assets/stylesheets/_styleguide.scss */
.sg-measure-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 5189, app/assets/stylesheets/_styleguide.scss */
.sg-measure-id-group {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 5195, app/assets/stylesheets/_styleguide.scss */
.sg-measure-letter {
  font-size: 1rem;
  font-weight: 700;
  color: #123B66;
  background-color: #E4EEF8;
  padding: 0.25rem 0.625rem;
  border-radius: 6px;
}

/* line 5204, app/assets/stylesheets/_styleguide.scss */
.sg-measure-outcome {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

/* line 5212, app/assets/stylesheets/_styleguide.scss */
.sg-measure-outcome.sg-measure-passed {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 5217, app/assets/stylesheets/_styleguide.scss */
.sg-measure-outcome.sg-measure-failed {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 5223, app/assets/stylesheets/_styleguide.scss */
.sg-measure-tags {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-wrap: wrap;
}

/* line 5230, app/assets/stylesheets/_styleguide.scss */
.sg-measure-tag {
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #F3F4F6;
  padding: 0.1875rem 0.5rem;
  border-radius: 9999px;
}

/* line 5239, app/assets/stylesheets/_styleguide.scss */
.sg-measure-body {
  padding: 1rem 1.25rem;
}

/* line 5243, app/assets/stylesheets/_styleguide.scss */
.sg-measure-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0 0 0.5rem 0;
}

/* line 5250, app/assets/stylesheets/_styleguide.scss */
.sg-measure-description {
  font-size: 0.875rem;
  color: #4B5563;
  line-height: 1.6;
  margin: 0 0 1rem 0;
}

/* line 5257, app/assets/stylesheets/_styleguide.scss */
.sg-measure-results {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

/* line 5263, app/assets/stylesheets/_styleguide.scss */
.sg-measure-vote-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 5269, app/assets/stylesheets/_styleguide.scss */
.sg-measure-vote-label {
  flex: 0 0 40px;
}

/* line 5273, app/assets/stylesheets/_styleguide.scss */
.sg-measure-vote-choice {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 5279, app/assets/stylesheets/_styleguide.scss */
.sg-measure-vote-bar-wrapper {
  flex: 1;
  min-width: 0;
}

/* line 5284, app/assets/stylesheets/_styleguide.scss */
.sg-measure-vote-bar {
  height: 20px;
  background-color: #F3F4F6;
  border-radius: 6px;
  overflow: hidden;
}

/* line 5291, app/assets/stylesheets/_styleguide.scss */
.sg-measure-vote-fill {
  height: 100%;
  border-radius: 6px;
  transition: width 0.4s ease;
}

/* line 5296, app/assets/stylesheets/_styleguide.scss */
.sg-measure-vote-fill.sg-measure-fill-yes {
  background-color: #127A7A;
}

/* line 5300, app/assets/stylesheets/_styleguide.scss */
.sg-measure-vote-fill.sg-measure-fill-no {
  background-color: #B8BFC7;
}

/* line 5305, app/assets/stylesheets/_styleguide.scss */
.sg-measure-vote-stats {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 140px;
}

/* line 5313, app/assets/stylesheets/_styleguide.scss */
.sg-measure-vote-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  min-width: 45px;
}

/* line 5320, app/assets/stylesheets/_styleguide.scss */
.sg-measure-vote-count {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 5325, app/assets/stylesheets/_styleguide.scss */
.sg-measure-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 5336, app/assets/stylesheets/_styleguide.scss */
.sg-measure-total-votes {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 5340, app/assets/stylesheets/_styleguide.scss */
.sg-measure-total-votes strong {
  color: #1F2933;
}

/* line 5345, app/assets/stylesheets/_styleguide.scss */
.sg-measure-threshold {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 5351, app/assets/stylesheets/_styleguide.scss */
.sg-measure-card-compact {
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-top: none;
}

/* line 5357, app/assets/stylesheets/_styleguide.scss */
.sg-measure-card-compact:first-child {
  border-top: 1px solid #E5E7EB;
}

/* line 5361, app/assets/stylesheets/_styleguide.scss */
.sg-measure-card-compact .sg-measure-header {
  padding: 0.75rem 1rem;
}

/* line 5365, app/assets/stylesheets/_styleguide.scss */
.sg-measure-card-compact .sg-measure-body {
  padding: 0.5rem 1rem 0.75rem;
}

/* line 5369, app/assets/stylesheets/_styleguide.scss */
.sg-measure-card-compact .sg-measure-title {
  font-size: 0.875rem;
  margin-bottom: 0.375rem;
}

/* line 5375, app/assets/stylesheets/_styleguide.scss */
.sg-measure-results-inline {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

/* line 5382, app/assets/stylesheets/_styleguide.scss */
.sg-measure-inline-result {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 5388, app/assets/stylesheets/_styleguide.scss */
.sg-measure-inline-label {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 5393, app/assets/stylesheets/_styleguide.scss */
.sg-measure-inline-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
}

/* line 5398, app/assets/stylesheets/_styleguide.scss */
.sg-measure-inline-pct.sg-text-success {
  color: #1F6B4E;
}

/* line 5403, app/assets/stylesheets/_styleguide.scss */
.sg-measure-inline-count {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 5408, app/assets/stylesheets/_styleguide.scss */
.sg-measure-inline-total {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-left: auto;
}

/* line 5415, app/assets/stylesheets/_styleguide.scss */
.sg-measures-list {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 5422, app/assets/stylesheets/_styleguide.scss */
.sg-measures-list-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 5427, app/assets/stylesheets/_styleguide.scss */
.sg-measures-list-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0 0 0.125rem 0;
}

/* line 5434, app/assets/stylesheets/_styleguide.scss */
.sg-measures-list-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 5447, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 5454, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 5463, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-title-group {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 5469, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 5476, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-scope {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
}

/* line 5484, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-context {
  text-align: right;
}

/* line 5488, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-jurisdiction {
  font-size: 0.875rem;
  color: #1F5C96;
  font-weight: 500;
}

/* line 5494, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-body {
  padding: 0;
}

/* line 5498, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-candidate {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 5505, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-candidate:last-of-type {
  border-bottom: none;
}

/* line 5509, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-candidate.winner {
  background-color: rgba(31, 92, 150, 0.04);
}

/* line 5514, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-candidate-info {
  flex: 0 0 180px;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 5521, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-candidate-name {
  font-weight: 500;
  color: #1F2933;
}

/* line 5525, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-candidate-name a {
  color: inherit;
  text-decoration: none;
}

/* line 5529, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-candidate-name a:hover {
  color: #1F5C96;
}

/* line 5535, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-candidate-results {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 5543, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-vote-bar-wrapper {
  width: 100%;
}

/* line 5547, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-vote-bar {
  height: 8px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 5554, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-vote-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.4s ease;
}

/* line 5559, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-vote-fill.sg-party-dem {
  background-color: #1F5C96;
}

/* line 5563, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-vote-fill.sg-party-rep {
  background-color: #9B2331;
}

/* line 5567, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-vote-fill.sg-party-green {
  background-color: #127A7A;
}

/* line 5571, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-vote-fill.sg-party-libertarian {
  background-color: #C4681A;
}

/* line 5575, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-vote-fill.sg-party-nonpartisan {
  background-color: #4B5563;
}

/* line 5580, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-vote-stats {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 5586, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-vote-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
}

/* line 5592, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-vote-count {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 5597, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 5603, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-total-votes {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 5607, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-total-votes strong {
  color: #1F2933;
}

/* line 5612, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-note {
  padding: 0.625rem 1rem;
  background-color: #EDF3F8;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

/* line 5619, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-note i {
  color: #1D5E96;
  flex-shrink: 0;
  margin-top: 0.125rem;
}

/* line 5625, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-note span {
  font-size: 0.75rem;
  color: #1D5E96;
  line-height: 1.5;
}

/* line 5633, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-card-compact {
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-top: none;
}

/* line 5639, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-card-compact:first-child {
  border-top: 1px solid #E5E7EB;
}

/* line 5643, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-card-compact .sg-statewide-header {
  padding: 0.75rem 1rem;
  align-items: center;
}

/* line 5647, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-card-compact .sg-statewide-header h4 {
  font-size: 1rem;
  margin: 0;
}

/* line 5653, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-card-compact .sg-statewide-candidate {
  padding: 0.5rem 1rem;
}

/* line 5657, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-card-compact .sg-statewide-candidate-info {
  flex: 0 0 160px;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
}

/* line 5665, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-footer-compact {
  padding: 0.5rem 1rem;
  background-color: #F9FAFB;
  border-top: 1px solid #F3F4F6;
}

/* line 5670, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-footer-compact .sg-statewide-total-votes {
  font-size: 0.75rem;
}

/* line 5676, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-list {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 5683, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-list-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 5692, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-list-title-group {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 5698, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-list-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 5705, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-list-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 5710, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-list-context {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  color: #1F5C96;
  font-weight: 500;
}

/* line 5718, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-list-context i {
  font-size: 0.875rem;
}

/* line 5723, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-list-note {
  padding: 0.625rem 1rem;
  background-color: #EDF3F8;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 5731, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-list-note i {
  color: #1D5E96;
  flex-shrink: 0;
  margin-top: 0.125rem;
}

/* line 5737, app/assets/stylesheets/_styleguide.scss */
.sg-statewide-list-note span {
  font-size: 0.75rem;
  color: #1D5E96;
  line-height: 1.5;
}

/* line 5752, app/assets/stylesheets/_styleguide.scss */
.sg-prop-results-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  overflow: hidden;
}

/* line 5759, app/assets/stylesheets/_styleguide.scss */
.sg-prop-results-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 5768, app/assets/stylesheets/_styleguide.scss */
.sg-prop-results-id {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 5774, app/assets/stylesheets/_styleguide.scss */
.sg-prop-number {
  font-size: 0.875rem;
  font-weight: 700;
  color: #123B66;
  background-color: #E4EEF8;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

/* line 5783, app/assets/stylesheets/_styleguide.scss */
.sg-prop-election {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 5788, app/assets/stylesheets/_styleguide.scss */
.sg-prop-outcome {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

/* line 5795, app/assets/stylesheets/_styleguide.scss */
.sg-prop-passed {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 5800, app/assets/stylesheets/_styleguide.scss */
.sg-prop-failed {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 5805, app/assets/stylesheets/_styleguide.scss */
.sg-prop-results-title {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 5810, app/assets/stylesheets/_styleguide.scss */
.sg-prop-name {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0 0 0.25rem 0;
}

/* line 5817, app/assets/stylesheets/_styleguide.scss */
.sg-prop-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
  line-height: 1.4;
}

/* line 5824, app/assets/stylesheets/_styleguide.scss */
.sg-prop-results-body {
  padding: 1.25rem;
}

/* line 5829, app/assets/stylesheets/_styleguide.scss */
.sg-prop-local-results {
  margin-bottom: 1.25rem;
}

/* line 5833, app/assets/stylesheets/_styleguide.scss */
.sg-prop-local-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

/* line 5840, app/assets/stylesheets/_styleguide.scss */
.sg-prop-local-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 5847, app/assets/stylesheets/_styleguide.scss */
.sg-prop-local-votes {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 5853, app/assets/stylesheets/_styleguide.scss */
.sg-prop-vote-bars {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 5859, app/assets/stylesheets/_styleguide.scss */
.sg-prop-vote-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 5865, app/assets/stylesheets/_styleguide.scss */
.sg-prop-vote-label {
  flex: 0 0 100px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 5872, app/assets/stylesheets/_styleguide.scss */
.sg-prop-vote-choice {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  width: 28px;
}

/* line 5879, app/assets/stylesheets/_styleguide.scss */
.sg-prop-vote-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 5886, app/assets/stylesheets/_styleguide.scss */
.sg-prop-vote-bar-wrapper {
  flex: 1;
}

/* line 5890, app/assets/stylesheets/_styleguide.scss */
.sg-prop-vote-bar {
  height: 20px;
  background-color: #F3F4F6;
  border-radius: 4px;
  overflow: hidden;
}

/* line 5897, app/assets/stylesheets/_styleguide.scss */
.sg-prop-vote-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.3s ease;
}

/* line 5903, app/assets/stylesheets/_styleguide.scss */
.sg-prop-fill-yes {
  background-color: #127A7A;
}

/* line 5907, app/assets/stylesheets/_styleguide.scss */
.sg-prop-fill-no {
  background-color: #B8BFC7;
}

/* line 5911, app/assets/stylesheets/_styleguide.scss */
.sg-prop-vote-count {
  flex: 0 0 70px;
  font-size: 0.75rem;
  color: #9CA3AF;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* line 5920, app/assets/stylesheets/_styleguide.scss */
.sg-prop-comparisons {
  padding: 1rem;
  background-color: #F9FAFB;
  border-radius: 4px;
  margin-bottom: 1rem;
}

/* line 5927, app/assets/stylesheets/_styleguide.scss */
.sg-prop-comparisons-title {
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin: 0 0 0.75rem 0;
}

/* line 5936, app/assets/stylesheets/_styleguide.scss */
.sg-prop-comparison-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 5942, app/assets/stylesheets/_styleguide.scss */
.sg-prop-comparison-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 5948, app/assets/stylesheets/_styleguide.scss */
.sg-prop-comparison-geo {
  flex: 1;
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 5954, app/assets/stylesheets/_styleguide.scss */
.sg-prop-comparison-yes {
  font-size: 0.875rem;
  color: #1F2933;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  width: 80px;
  text-align: right;
}

/* line 5963, app/assets/stylesheets/_styleguide.scss */
.sg-prop-comparison-diff {
  font-size: 0.875rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  width: 50px;
  text-align: right;
}

/* line 5971, app/assets/stylesheets/_styleguide.scss */
.sg-prop-diff-positive {
  color: #1F6B4E;
}

/* line 5974, app/assets/stylesheets/_styleguide.scss */
.sg-prop-diff-positive::before {
  content: "+";
}

/* line 5979, app/assets/stylesheets/_styleguide.scss */
.sg-prop-diff-negative {
  color: #9B2331;
}

/* line 5983, app/assets/stylesheets/_styleguide.scss */
.sg-prop-comparison-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 5989, app/assets/stylesheets/_styleguide.scss */
.sg-prop-context {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.75rem;
  background-color: #EDF3F8;
  border-radius: 4px;
  border-left: 3px solid #1F5C96;
}

/* line 5998, app/assets/stylesheets/_styleguide.scss */
.sg-prop-context i {
  color: #1F5C96;
  font-size: 0.875rem;
  margin-top: 0.125rem;
}

/* line 6005, app/assets/stylesheets/_styleguide.scss */
.sg-prop-context-text {
  font-size: 0.875rem;
  color: #4B5563;
  margin: 0;
  line-height: 1.5;
}

/* line 6011, app/assets/stylesheets/_styleguide.scss */
.sg-prop-context-text strong {
  color: #1F2933;
}

/* line 6017, app/assets/stylesheets/_styleguide.scss */
.sg-prop-results-card-compact {
  padding: 1rem;
}

/* line 6021, app/assets/stylesheets/_styleguide.scss */
.sg-prop-compact-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 6028, app/assets/stylesheets/_styleguide.scss */
.sg-prop-compact-id {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 6034, app/assets/stylesheets/_styleguide.scss */
.sg-prop-compact-name {
  font-size: 0.875rem;
  color: #4B5563;
  flex: 1;
}

/* line 6040, app/assets/stylesheets/_styleguide.scss */
.sg-prop-compact-body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 6046, app/assets/stylesheets/_styleguide.scss */
.sg-prop-compact-results {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 6052, app/assets/stylesheets/_styleguide.scss */
.sg-prop-compact-local {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 6058, app/assets/stylesheets/_styleguide.scss */
.sg-prop-compact-comparison {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 6064, app/assets/stylesheets/_styleguide.scss */
.sg-prop-compact-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 6069, app/assets/stylesheets/_styleguide.scss */
.sg-prop-compact-yes {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 6076, app/assets/stylesheets/_styleguide.scss */
.sg-prop-compact-bar {
  height: 6px;
  background-color: #F3F4F6;
  border-radius: 3px;
  overflow: hidden;
}

/* line 6083, app/assets/stylesheets/_styleguide.scss */
.sg-prop-compact-bar-fill {
  height: 100%;
  border-radius: 3px;
}

/* line 6089, app/assets/stylesheets/_styleguide.scss */
.sg-prop-list-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  overflow: hidden;
}

/* line 6096, app/assets/stylesheets/_styleguide.scss */
.sg-prop-list-header {
  padding: 1rem 1.25rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 6102, app/assets/stylesheets/_styleguide.scss */
.sg-prop-list-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 6109, app/assets/stylesheets/_styleguide.scss */
.sg-prop-list-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-top: 0.125rem;
}

/* line 6115, app/assets/stylesheets/_styleguide.scss */
.sg-prop-list-body {
  padding: 0;
}

/* line 6119, app/assets/stylesheets/_styleguide.scss */
.sg-prop-list-item {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 6123, app/assets/stylesheets/_styleguide.scss */
.sg-prop-list-item:last-child {
  border-bottom: none;
}

/* line 6128, app/assets/stylesheets/_styleguide.scss */
.sg-prop-list-item-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

/* line 6135, app/assets/stylesheets/_styleguide.scss */
.sg-prop-list-item-id {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 6141, app/assets/stylesheets/_styleguide.scss */
.sg-prop-list-item-name {
  font-size: 0.875rem;
  color: #4B5563;
  flex: 1;
}

/* line 6147, app/assets/stylesheets/_styleguide.scss */
.sg-prop-list-item-results {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 6153, app/assets/stylesheets/_styleguide.scss */
.sg-prop-list-item-local {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 6160, app/assets/stylesheets/_styleguide.scss */
.sg-prop-list-item-yes {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
  width: 70px;
}

/* line 6168, app/assets/stylesheets/_styleguide.scss */
.sg-prop-list-item-comparison {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 6182, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 6192, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-meta {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  flex: 1;
  min-width: 0;
}

/* line 6200, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-title {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}

/* line 6207, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 6213, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-desc {
  font-size: 0.75rem;
  color: #9CA3AF;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 6223, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-status {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
  flex-shrink: 0;
}

/* line 6231, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-election {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 6236, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-body {
  display: flex;
  align-items: stretch;
  padding: 0.75rem 1rem;
  gap: 1.5rem;
}

/* line 6243, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-local {
  flex: 0 0 280px;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 6250, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-local-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 6256, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-jurisdiction {
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 6262, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-votes {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 6267, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-bars {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 6273, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-bar-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 6279, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-bar-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  width: 24px;
}

/* line 6286, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-bar-track {
  flex: 1;
  height: 12px;
  background-color: #F3F4F6;
  border-radius: 2px;
  overflow: hidden;
}

/* line 6294, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-bar-fill {
  height: 100%;
  border-radius: 2px;
}

/* line 6299, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-bar-pct {
  font-size: 0.75rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
  width: 40px;
  text-align: right;
}

/* line 6308, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-comparisons {
  flex: 0 0 180px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.25rem;
  padding-left: 1rem;
  border-left: 1px solid #E5E7EB;
}

/* line 6318, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-comparison {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 6324, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-geo {
  font-size: 0.75rem;
  color: #9CA3AF;
  flex: 1;
}

/* line 6330, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-geo-yes {
  font-size: 0.75rem;
  color: #4B5563;
  font-variant-numeric: tabular-nums;
  width: 40px;
  text-align: right;
}

/* line 6338, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-context {
  flex: 0 0 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 1rem;
  border-left: 1px solid #E5E7EB;
}

/* line 6347, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-context-text {
  font-size: 0.75rem;
  color: #4B5563;
  text-align: center;
  line-height: 1.4;
}

/* line 6353, app/assets/stylesheets/_styleguide.scss */
.sg-prop-condensed-context-text strong {
  color: #1F2933;
  font-weight: 500;
}

/* line 18, app/assets/stylesheets/_district_map.scss */
.district-map-container {
  padding: 0;
  overflow: hidden;
}

/* line 26, app/assets/stylesheets/_district_map.scss */
.district-map-dropdown-wrapper {
  position: relative;
  z-index: 10;
}

/* line 31, app/assets/stylesheets/_district_map.scss */
.district-map-dropdown-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.625rem 0.75rem;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #323C47;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 46, app/assets/stylesheets/_district_map.scss */
.district-map-dropdown-btn:hover {
  background: #F3F4F6;
  border-color: #D1D5DB;
}

/* line 51, app/assets/stylesheets/_district_map.scss */
.district-map-dropdown-btn svg {
  transition: transform 0.15s ease;
  color: #9CA3AF;
}

/* line 56, app/assets/stylesheets/_district_map.scss */
.district-map-dropdown-wrapper.open .district-map-dropdown-btn {
  border-color: #1F5C96;
  background: #FFFFFF;
}

/* line 60, app/assets/stylesheets/_district_map.scss */
.district-map-dropdown-wrapper.open .district-map-dropdown-btn svg {
  transform: rotate(180deg);
}

/* line 66, app/assets/stylesheets/_district_map.scss */
.district-map-dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  overflow: hidden;
}

/* line 78, app/assets/stylesheets/_district_map.scss */
.district-map-dropdown-wrapper.open .district-map-dropdown-menu {
  display: block;
}

/* line 83, app/assets/stylesheets/_district_map.scss */
.district-map-dropdown-item {
  display: block;
  width: 100%;
  padding: 0.5rem 0.75rem;
  background: none;
  border: none;
  text-align: left;
  font-size: 0.875rem;
  color: #4B5563;
  cursor: pointer;
  transition: background 0.15s ease;
}

/* line 95, app/assets/stylesheets/_district_map.scss */
.district-map-dropdown-item:hover {
  background: #F9FAFB;
}

/* line 99, app/assets/stylesheets/_district_map.scss */
.district-map-dropdown-item.active {
  background: #F4F7FC;
  color: #123B66;
  font-weight: 500;
}

/* line 109, app/assets/stylesheets/_district_map.scss */
.district-map-content {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 0;
  height: 400px;
  min-height: 400px;
}

@media (max-width: 992px) {
  /* line 109, app/assets/stylesheets/_district_map.scss */
  .district-map-content {
    grid-template-columns: 1fr;
    grid-template-rows: 350px auto;
    height: auto;
  }
}

/* line 126, app/assets/stylesheets/_district_map.scss */
.district-map-leaflet {
  width: 100%;
  height: 100%;
  min-height: 400px;
  background-color: #F3F4F6;
}

@media (max-width: 992px) {
  /* line 126, app/assets/stylesheets/_district_map.scss */
  .district-map-leaflet {
    min-height: 350px;
  }
}

/* line 140, app/assets/stylesheets/_district_map.scss */
.district-map-stats {
  padding: 1rem;
  background-color: #FFFFFF;
  border-left: 1px solid #E5E7EB;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  justify-content: center;
  align-self: stretch;
  height: 100%;
}

@media (max-width: 992px) {
  /* line 140, app/assets/stylesheets/_district_map.scss */
  .district-map-stats {
    border-left: none;
    border-top: 1px solid #E5E7EB;
    height: auto;
  }
}

/* line 158, app/assets/stylesheets/_district_map.scss */
.district-map-stats-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 167, app/assets/stylesheets/_district_map.scss */
.district-map-stats-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 174, app/assets/stylesheets/_district_map.scss */
.district-map-stat-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  border-radius: 8px;
  background-color: #F9FAFB;
  transition: background-color 0.15s ease;
}

/* line 183, app/assets/stylesheets/_district_map.scss */
.district-map-stat-item:hover {
  background-color: #F3F4F6;
}

/* line 188, app/assets/stylesheets/_district_map.scss */
.district-map-stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  min-width: 48px;
  text-align: center;
}

/* line 195, app/assets/stylesheets/_district_map.scss */
.district-map-stat-label {
  font-size: 0.875rem;
  color: #4B5563;
  line-height: 1.3;
}

/* line 203, app/assets/stylesheets/_district_map.scss */
.district-map-stat-dem .district-map-stat-value {
  color: #1F5C96;
}

/* line 209, app/assets/stylesheets/_district_map.scss */
.district-map-stat-rep .district-map-stat-value {
  color: #9B2331;
}

/* line 215, app/assets/stylesheets/_district_map.scss */
.district-map-stat-neutral .district-map-stat-value {
  color: #9CA3AF;
}

/* line 223, app/assets/stylesheets/_district_map.scss */
.district-map-legend {
  padding-top: 1rem;
  border-top: 1px solid #F3F4F6;
}

/* line 229, app/assets/stylesheets/_district_map.scss */
.district-map-gradient-legend {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

/* line 235, app/assets/stylesheets/_district_map.scss */
.district-map-gradient-bar {
  height: 12px;
  border-radius: 9999px;
  background: linear-gradient(to right, #9B2331 0%, #F3F4F6 50%, #1F5C96 100%);
}

/* line 246, app/assets/stylesheets/_district_map.scss */
.district-map-gradient-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 254, app/assets/stylesheets/_district_map.scss */
.district-map-party-legend {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

/* line 261, app/assets/stylesheets/_district_map.scss */
.district-map-legend-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 267, app/assets/stylesheets/_district_map.scss */
.district-map-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 9999px;
}

/* line 272, app/assets/stylesheets/_district_map.scss */
.district-map-legend-dot.dem {
  background-color: #1F5C96;
}

/* line 276, app/assets/stylesheets/_district_map.scss */
.district-map-legend-dot.rep {
  background-color: #9B2331;
}

/* line 280, app/assets/stylesheets/_district_map.scss */
.district-map-legend-dot.vacant {
  background-color: #9CA3AF;
}

/* line 285, app/assets/stylesheets/_district_map.scss */
.district-map-legend-label {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 293, app/assets/stylesheets/_district_map.scss */
.district-map-tooltip {
  background: #FFFFFF !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03) !important;
  padding: 0 !important;
  font-size: 0.875rem;
  color: #1F2933;
}

/* line 302, app/assets/stylesheets/_district_map.scss */
.district-map-tooltip::before {
  border-top-color: #E5E7EB !important;
}

/* line 307, app/assets/stylesheets/_district_map.scss */
.district-tooltip-inner {
  padding: 0.75rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 313, app/assets/stylesheets/_district_map.scss */
.district-tooltip-inner strong {
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 0.25rem;
}

/* line 319, app/assets/stylesheets/_district_map.scss */
.district-tooltip-inner span {
  color: #4B5563;
  font-size: 0.75rem;
}

/* line 326, app/assets/stylesheets/_district_map.scss */
.leaflet-tooltip-top.district-map-tooltip::before,
.leaflet-tooltip-bottom.district-map-tooltip::before,
.leaflet-tooltip-left.district-map-tooltip::before,
.leaflet-tooltip-right.district-map-tooltip::before {
  border-color: transparent !important;
}

/* line 336, app/assets/stylesheets/_district_map.scss */
.district-map-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 400px;
  color: #9CA3AF;
  font-size: 0.875rem;
}

/* line 13, app/assets/stylesheets/_navigation.scss */
.sidebar {
  background-color: #F9FAFB;
  padding: 1rem;
  min-height: 100vh;
}

/* line 19, app/assets/stylesheets/_navigation.scss */
.sidebar.sidebar-inline {
  min-height: auto;
  padding-bottom: 0;
}

/* line 24, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-brand {
  display: block;
  margin-bottom: 1.5rem;
  text-decoration: none;
}

/* line 30, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-logo {
  height: 40px;
  width: auto;
}

/* line 35, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-section {
  margin-bottom: 1.25rem;
}

/* line 39, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #9CA3AF;
  margin-bottom: 0.5rem;
  padding-left: 0.75rem;
}

/* line 49, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-section-title {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #9CA3AF;
  padding-left: 0.75rem;
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
}

/* line 59, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-section-title:first-child {
  margin-top: 0;
}

/* line 64, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 70, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-link {
  color: #4B5563;
  font-size: 0.875rem;
  text-decoration: none;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 81, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-link i {
  color: #9CA3AF;
  width: 16px;
  text-align: center;
}

/* line 87, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-link:hover {
  color: #123B66;
  background-color: #FFFFFF;
}

/* line 91, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-link:hover i {
  color: #1F5C96;
}

/* line 96, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-link:active {
  background-color: #F3F4F6;
  transform: scale(0.97);
}

/* line 101, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-link.active {
  color: #123B66;
  background-color: #FFFFFF;
  font-weight: 500;
}

/* line 106, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-link.active i {
  color: #1F5C96;
}

/* line 113, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-toggle {
  width: 100%;
  background: none;
  border: none;
  color: #4B5563;
  font-size: 0.875rem;
  text-decoration: none;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  text-align: left;
}

/* line 129, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-toggle i.sidebar-icon {
  color: #9CA3AF;
  width: 16px;
  text-align: center;
}

/* line 135, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-toggle .sidebar-chevron {
  margin-left: auto;
  color: #B8BFC7;
  font-size: 0.75rem;
  transition: transform 0.15s ease;
}

/* line 142, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-toggle:hover {
  color: #123B66;
  background-color: #FFFFFF;
}

/* line 146, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-toggle:hover i.sidebar-icon {
  color: #1F5C96;
}

/* line 151, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-toggle:active {
  background-color: #F3F4F6;
  transform: scale(0.97);
}

/* line 156, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-toggle[aria-expanded="true"] {
  color: #123B66;
  background-color: #FFFFFF;
}

/* line 160, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-toggle[aria-expanded="true"] i.sidebar-icon {
  color: #1F5C96;
}

/* line 164, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-toggle[aria-expanded="true"] .sidebar-chevron {
  transform: rotate(180deg);
}

/* line 171, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-submenu {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding-left: 1.5rem;
  margin-top: 0.25rem;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.2s ease-out;
}

/* line 181, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-submenu.show {
  max-height: 500px;
}

/* line 185, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-submenu .sidebar-link {
  font-size: 0.75rem;
  padding: 0.375rem 0.75rem;
  color: #4B5563;
}

/* line 190, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-submenu .sidebar-link:hover {
  color: #1F5C96;
}

/* line 194, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-submenu .sidebar-link:active {
  background-color: #F3F4F6;
  transform: scale(0.97);
}

/* line 199, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-submenu .sidebar-link.active {
  color: #123B66;
  font-weight: 500;
}

/* line 207, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-expandable {
  display: flex;
  flex-direction: column;
}

/* line 213, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-pulse {
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: #1F6B4E;
  border-radius: 50%;
  margin-left: 0.5rem;
  position: relative;
}

/* line 222, app/assets/stylesheets/_navigation.scss */
.sidebar .sidebar-pulse::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-color: #1F6B4E;
  border-radius: 50%;
  animation: sidebar-live-ripple 3s ease-out infinite;
}

@keyframes sidebar-live-ripple {
  0% {
    width: 100%;
    height: 100%;
    opacity: 0.6;
  }
  100% {
    width: 250%;
    height: 250%;
    opacity: 0;
  }
}

/* line 254, app/assets/stylesheets/_navigation.scss */
.topnav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0.875rem 1.5rem;
  background-color: #F9FAFB;
  gap: 1rem;
}

@media (min-width: 1200px) {
  /* line 254, app/assets/stylesheets/_navigation.scss */
  .topnav {
    padding-right: 3rem;
  }
}

/* line 268, app/assets/stylesheets/_navigation.scss */
.topnav-brand {
  flex-shrink: 0;
}

/* line 272, app/assets/stylesheets/_navigation.scss */
.topnav-logo {
  font-size: 1.125rem;
  font-weight: 700;
  color: #123B66;
  letter-spacing: -0.25px;
}

/* line 279, app/assets/stylesheets/_navigation.scss */
.topnav-links {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 285, app/assets/stylesheets/_navigation.scss */
.topnav-link {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  text-decoration: none;
  padding: 0.5rem 0.875rem;
  border-radius: 6px;
  transition: all 0.15s ease;
}

/* line 294, app/assets/stylesheets/_navigation.scss */
.topnav-link:hover {
  color: #123B66;
  background-color: #F4F7FC;
}

/* line 299, app/assets/stylesheets/_navigation.scss */
.topnav-link:active {
  background-color: #E4EEF8;
  transform: scale(0.98);
}

/* line 304, app/assets/stylesheets/_navigation.scss */
.topnav-link.active {
  color: #123B66;
  background-color: #E4EEF8;
  font-weight: 500;
}

/* line 311, app/assets/stylesheets/_navigation.scss */
.topnav-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}

/* line 319, app/assets/stylesheets/_navigation.scss */
.topnav-search {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  transition: all 0.15s ease;
  cursor: pointer;
}

/* line 330, app/assets/stylesheets/_navigation.scss */
.topnav-search i {
  color: #9CA3AF;
  font-size: 0.875rem;
}

/* line 335, app/assets/stylesheets/_navigation.scss */
.topnav-search:focus-within {
  border-color: #3A7AB8;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.1);
}

/* line 341, app/assets/stylesheets/_navigation.scss */
.topnav-search-input {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 347, app/assets/stylesheets/_navigation.scss */
.topnav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
  white-space: nowrap;
}

/* line 360, app/assets/stylesheets/_navigation.scss */
.topnav-btn-secondary {
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
}

/* line 365, app/assets/stylesheets/_navigation.scss */
.topnav-btn-secondary:hover {
  color: #1F2933;
  background-color: #F9FAFB;
  border-color: #B8BFC7;
}

/* line 371, app/assets/stylesheets/_navigation.scss */
.topnav-btn-secondary:active {
  background-color: #F3F4F6;
  transform: scale(0.98);
}

/* line 377, app/assets/stylesheets/_navigation.scss */
.topnav-btn-primary {
  color: #FFFFFF;
  background-color: #1F5C96;
  border: 1px solid #1F5C96;
}

/* line 382, app/assets/stylesheets/_navigation.scss */
.topnav-btn-primary:hover {
  color: #FFFFFF;
  background-color: #123B66;
  border-color: #123B66;
}

/* line 388, app/assets/stylesheets/_navigation.scss */
.topnav-btn-primary:active {
  color: #FFFFFF;
  background-color: #0e2e50;
  transform: scale(0.98);
}

/* line 399, app/assets/stylesheets/_navigation.scss */
.topnav-user-dropdown {
  position: relative;
}

/* line 403, app/assets/stylesheets/_navigation.scss */
.topnav-user-trigger {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 414, app/assets/stylesheets/_navigation.scss */
.topnav-user-trigger:hover {
  background-color: #F9FAFB;
  border-color: #D1D5DB;
}

/* line 419, app/assets/stylesheets/_navigation.scss */
.topnav-user-trigger i {
  color: #9CA3AF;
  font-size: 0.75rem;
  transition: transform 0.15s ease;
}

/* line 426, app/assets/stylesheets/_navigation.scss */
.topnav-user-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 432, app/assets/stylesheets/_navigation.scss */
.topnav-user-menu {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  min-width: 220px;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  z-index: 100;
  overflow: hidden;
  display: none;
}

/* line 445, app/assets/stylesheets/_navigation.scss */
.topnav-user-menu.show, .topnav-user-menu.is-open {
  display: block;
}

/* line 451, app/assets/stylesheets/_navigation.scss */
.topnav-user-menu-header {
  padding: 0.875rem 1rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 457, app/assets/stylesheets/_navigation.scss */
.topnav-user-menu-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 463, app/assets/stylesheets/_navigation.scss */
.topnav-user-menu-email {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.125rem;
}

/* line 469, app/assets/stylesheets/_navigation.scss */
.topnav-user-menu-divider {
  height: 1px;
  background-color: #E5E7EB;
  margin: 0.5rem 0;
}

/* line 475, app/assets/stylesheets/_navigation.scss */
.topnav-user-menu-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  color: #4B5563;
  text-decoration: none;
  transition: all 0.15s ease;
  cursor: pointer;
}

/* line 486, app/assets/stylesheets/_navigation.scss */
.topnav-user-menu-item i {
  color: #9CA3AF;
  width: 16px;
  text-align: center;
}

/* line 492, app/assets/stylesheets/_navigation.scss */
.topnav-user-menu-item:hover {
  background-color: #F9FAFB;
  color: #1F2933;
}

/* line 496, app/assets/stylesheets/_navigation.scss */
.topnav-user-menu-item:hover i {
  color: #4B5563;
}

/* line 501, app/assets/stylesheets/_navigation.scss */
.topnav-user-menu-item:active {
  background-color: #F3F4F6;
  transform: scale(0.98);
}

/* line 506, app/assets/stylesheets/_navigation.scss */
.topnav-user-menu-item.topnav-user-menu-item-danger {
  color: #9B2331;
}

/* line 509, app/assets/stylesheets/_navigation.scss */
.topnav-user-menu-item.topnav-user-menu-item-danger i {
  color: #9B2331;
}

/* line 513, app/assets/stylesheets/_navigation.scss */
.topnav-user-menu-item.topnav-user-menu-item-danger:hover {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 518, app/assets/stylesheets/_navigation.scss */
.topnav-user-menu-item.topnav-user-menu-item-danger:active {
  background-color: #f0dfe1;
  transform: scale(0.98);
}

@media (max-width: 1199px) {
  /* line 530, app/assets/stylesheets/_navigation.scss */
  .topnav {
    flex-wrap: wrap;
    padding: 0.75rem 1rem;
  }
  /* line 535, app/assets/stylesheets/_navigation.scss */
  .topnav-links {
    order: 3;
    width: 100%;
    justify-content: flex-start;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid #E5E7EB;
  }
}

@media (max-width: 768px) {
  /* line 546, app/assets/stylesheets/_navigation.scss */
  .topnav:not(.topnav-marketing) .topnav-search {
    display: none;
  }
  /* line 550, app/assets/stylesheets/_navigation.scss */
  .topnav-links {
    flex-wrap: wrap;
  }
}

/* line 559, app/assets/stylesheets/_navigation.scss */
.topnav-marketing {
  position: sticky;
  top: 0;
  z-index: 1030;
  background-color: #FFFFFF;
}

/* line 565, app/assets/stylesheets/_navigation.scss */
.topnav-marketing .topnav-brand {
  margin-right: auto;
}

/* line 568, app/assets/stylesheets/_navigation.scss */
.topnav-marketing .topnav-brand a {
  text-decoration: none;
}

@media (max-width: 1199px) {
  /* line 575, app/assets/stylesheets/_navigation.scss */
  .topnav-marketing .topnav-links {
    display: none;
  }
  /* line 581, app/assets/stylesheets/_navigation.scss */
  .topnav-marketing .topnav-actions .topnav-btn,
.topnav-marketing .topnav-actions .topnav-user-dropdown {
    display: none;
  }
  /* line 587, app/assets/stylesheets/_navigation.scss */
  .topnav-marketing .topnav-search {
    display: flex;
  }
  /* line 590, app/assets/stylesheets/_navigation.scss */
  .topnav-marketing .topnav-search .topnav-search-input {
    display: none;
  }
}

/* line 598, app/assets/stylesheets/_navigation.scss */
.topnav-dropdown {
  position: relative;
}

/* line 602, app/assets/stylesheets/_navigation.scss */
.topnav-dropdown-toggle {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 610, app/assets/stylesheets/_navigation.scss */
.topnav-dropdown-toggle i {
  font-size: 0.625rem;
  transition: transform 0.15s ease;
}

/* line 615, app/assets/stylesheets/_navigation.scss */
.topnav-dropdown-toggle[aria-expanded="true"] i {
  transform: rotate(180deg);
}

/* line 620, app/assets/stylesheets/_navigation.scss */
.topnav-dropdown-menu {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  min-width: 320px;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  z-index: 100;
  overflow: hidden;
  display: none;
}

/* line 633, app/assets/stylesheets/_navigation.scss */
.topnav-dropdown-menu.show, .topnav-dropdown-menu.is-open {
  display: block;
}

/* line 639, app/assets/stylesheets/_navigation.scss */
.topnav-dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  color: #4B5563;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 649, app/assets/stylesheets/_navigation.scss */
.topnav-dropdown-item i {
  color: #1F5C96;
  width: 18px;
  text-align: center;
}

/* line 655, app/assets/stylesheets/_navigation.scss */
.topnav-dropdown-item:hover {
  background-color: #F9FAFB;
  color: #1F2933;
}

/* line 660, app/assets/stylesheets/_navigation.scss */
.topnav-dropdown-item:active {
  background-color: #F3F4F6;
  transform: scale(0.98);
}

/* line 667, app/assets/stylesheets/_navigation.scss */
.topnav-mobile-toggle {
  display: none;
  background: none;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  color: #4B5563;
  font-size: 1.5rem;
}

@media (max-width: 1199px) {
  /* line 667, app/assets/stylesheets/_navigation.scss */
  .topnav-mobile-toggle {
    display: block;
  }
}

/* line 680, app/assets/stylesheets/_navigation.scss */
.topnav-mobile-toggle:hover {
  color: #123B66;
}

/* line 686, app/assets/stylesheets/_navigation.scss */
.topnav-mobile-menu {
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  padding: 1rem;
}

/* line 692, app/assets/stylesheets/_navigation.scss */
.topnav-mobile-links {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 1rem;
}

/* line 699, app/assets/stylesheets/_navigation.scss */
.topnav-mobile-link {
  display: block;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.15s ease;
}

/* line 709, app/assets/stylesheets/_navigation.scss */
.topnav-mobile-link:hover {
  color: #123B66;
  background-color: #FFFFFF;
}

/* line 714, app/assets/stylesheets/_navigation.scss */
.topnav-mobile-link:active {
  background-color: #F3F4F6;
  transform: scale(0.98);
}

/* line 720, app/assets/stylesheets/_navigation.scss */
.topnav-mobile-actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-top: 1rem;
  border-top: 1px solid #E5E7EB;
}

/* line 19, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-results {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 26, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-results-header {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  background-color: #FFFFFF;
}

/* line 37, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-results-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 44, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-results-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-left: 0.5rem;
}

/* line 54, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-selectors {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 61, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-selector-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 67, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-selector-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
}

/* line 75, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-selector-select {
  padding: 0.375rem 1.75rem 0.375rem 0.625rem;
  font-size: 0.875rem;
  color: #1F2933;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234B5563' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 89, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-selector-select:hover {
  border-color: #B8BFC7;
}

/* line 93, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-selector-select:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.1);
}

/* line 104, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-content {
  position: relative;
  min-height: 550px;
}

/* line 113, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-map-section {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
}

/* line 123, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-map-container {
  flex: 1;
  background-color: #F3F4F6;
  position: relative;
  overflow: hidden;
}

/* line 130, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-map {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 138, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-map.sg-map-placeholder {
  background: linear-gradient(135deg, #F3F4F6 0%, #E5E7EB 100%);
}

/* line 141, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-map.sg-map-placeholder::after {
  content: 'Precinct Map';
  font-size: 1.125rem;
  color: #B8BFC7;
  font-weight: 500;
}

/* line 151, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-map-controls {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  z-index: 10;
}

/* line 161, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-map-control-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  color: #4B5563;
  cursor: pointer;
  transition: all 0.15s ease;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 175, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-map-control-btn:hover {
  background-color: #F9FAFB;
  color: #1F2933;
}

/* line 180, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-map-control-btn:active {
  background-color: #F3F4F6;
}

/* line 186, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-map-legend {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 1rem;
  background-color: rgba(255, 255, 255, 0.95);
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  z-index: 10;
}

/* line 202, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-legend-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 208, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-legend-gradient {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 214, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-legend-bar {
  width: 60px;
  height: 10px;
  border-radius: 2px;
}

/* line 219, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-legend-bar.sg-legend-candidate-a {
  background: linear-gradient(to right, rgba(31, 92, 150, 0.2), rgba(31, 92, 150, 0.5), #1F5C96);
}

/* line 223, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-legend-bar.sg-legend-candidate-b {
  background: linear-gradient(to left, rgba(155, 35, 49, 0.2), rgba(155, 35, 49, 0.5), #9B2331);
}

/* line 227, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-legend-bar.sg-legend-yes {
  background: linear-gradient(to right, rgba(18, 122, 122, 0.2), rgba(18, 122, 122, 0.5), #127A7A);
}

/* line 231, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-legend-bar.sg-legend-no {
  background: linear-gradient(to left, rgba(156, 163, 175, 0.2), rgba(156, 163, 175, 0.5), #9CA3AF);
}

/* line 236, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-legend-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
}

/* line 242, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-legend-label-strong {
  font-size: 0.75rem;
  font-weight: 500;
}

/* line 246, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-legend-label-strong.sg-label-dem {
  color: #1F5C96;
}

/* line 250, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-legend-label-strong.sg-label-rep {
  color: #9B2331;
}

/* line 254, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-legend-label-strong.sg-label-yes {
  color: #127A7A;
}

/* line 258, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-legend-label-strong.sg-label-no {
  color: #4B5563;
}

/* line 267, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-summary-panel {
  position: absolute;
  top: 1rem;
  left: 1rem;
  width: 320px;
  max-height: calc(100% - 2rem);
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  overflow: hidden;
  z-index: 20;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

@media (max-width: 768px) {
  /* line 267, app/assets/stylesheets/_sg_precinct_results.scss */
  .sg-precinct-summary-panel {
    width: calc(100% - 2rem);
    max-width: 320px;
  }
}

/* line 289, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-summary-panel.is-collapsed {
  transform: translateX(-100%);
  opacity: 0;
  pointer-events: none;
}

/* line 296, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 305, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 312, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 317, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: none;
  border: none;
  border-radius: 4px;
  color: #9CA3AF;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 330, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-close:hover {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 337, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-stats {
  display: flex;
  gap: 1.5rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #F3F4F6;
  background-color: #FFFFFF;
}

/* line 345, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-stat {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 351, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-stat-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 357, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-stat-label {
  font-size: 0.6875rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 365, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-candidates {
  flex: 1;
  overflow-y: auto;
  max-height: 300px;
}

/* line 371, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-candidate {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 378, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-candidate:last-child {
  border-bottom: none;
}

/* line 382, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-candidate.sg-panel-winner {
  background-color: rgba(31, 107, 78, 0.04);
}

/* line 387, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-rank {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  background-color: #F3F4F6;
  border-radius: 9999px;
}

/* line 401, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-candidate-info {
  flex: 1;
  min-width: 0;
}

/* line 406, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-candidate-name {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 415, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-party {
  font-size: 0.6875rem;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
}

/* line 420, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-party.sg-party-dem {
  background-color: rgba(31, 92, 150, 0.1);
  color: #1F5C96;
}

/* line 425, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-party.sg-party-rep {
  background-color: rgba(155, 35, 49, 0.1);
  color: #9B2331;
}

/* line 430, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-party.sg-party-nonpartisan {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 436, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-winner-icon {
  color: #1F6B4E;
  font-size: 0.75rem;
  margin-left: 0.25rem;
}

/* line 442, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-bar {
  margin-top: 0.25rem;
  height: 4px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 450, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-bar-fill {
  height: 100%;
  border-radius: 9999px;
}

/* line 454, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-bar-fill.sg-bar-dem {
  background-color: #1F5C96;
}

/* line 458, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-bar-fill.sg-bar-rep {
  background-color: #9B2331;
}

/* line 462, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-bar-fill.sg-bar-nonpartisan {
  background-color: #4B5563;
}

/* line 466, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-bar-fill.sg-bar-yes {
  background-color: #127A7A;
}

/* line 470, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-bar-fill.sg-bar-no {
  background-color: #B8BFC7;
}

/* line 475, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-results {
  flex: 0 0 auto;
  text-align: right;
}

/* line 480, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-pct {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
}

/* line 486, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-votes {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 492, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-outcome {
  padding: 0.625rem 1rem;
  background-color: #EDF4F0;
  border-top: 1px solid #E5E7EB;
}

/* line 498, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-outcome-text {
  font-size: 0.75rem;
  color: #1F6B4E;
}

/* line 502, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-outcome-text strong {
  font-weight: 500;
}

/* line 509, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-measure-outcome.sg-outcome-passed {
  background-color: #EDF4F0;
}

/* line 512, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-measure-outcome.sg-outcome-passed .sg-precinct-panel-outcome-text {
  color: #1F6B4E;
}

/* line 517, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-measure-outcome.sg-outcome-failed {
  background-color: #F8F0F1;
}

/* line 520, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-measure-outcome.sg-outcome-failed .sg-precinct-panel-outcome-text {
  color: #9B2331;
}

/* line 527, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-measure-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 534, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-measure-option:last-child {
  border-bottom: none;
}

/* line 538, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-measure-option.sg-option-winner {
  background-color: rgba(31, 107, 78, 0.04);
}

/* line 543, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-option-label {
  flex: 0 0 36px;
  font-size: 1rem;
  font-weight: 700;
}

/* line 548, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-option-label.sg-label-yes {
  color: #127A7A;
}

/* line 552, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-option-label.sg-label-no {
  color: #6B7280;
}

/* line 557, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-option-bar-wrapper {
  flex: 1;
  min-width: 0;
}

/* line 562, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-option-bar {
  height: 20px;
  background-color: #F3F4F6;
  border-radius: 4px;
  overflow: hidden;
}

/* line 569, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-option-bar-fill {
  height: 100%;
  border-radius: 4px;
}

/* line 573, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-option-bar-fill.sg-fill-yes {
  background-color: #127A7A;
}

/* line 577, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-option-bar-fill.sg-fill-no {
  background-color: #B8BFC7;
}

/* line 582, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-panel-option-pct {
  flex: 0 0 50px;
  text-align: right;
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 594, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-show-panel-btn {
  position: absolute;
  top: 1rem;
  left: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.875rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  color: #4B5563;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
  z-index: 10;
  opacity: 0;
  pointer-events: none;
}

/* line 615, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-show-panel-btn:hover {
  background-color: #F9FAFB;
  color: #1F2933;
}

/* line 621, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-show-panel-btn.is-visible {
  opacity: 1;
  pointer-events: auto;
}

/* line 631, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-tooltip {
  position: absolute;
  padding: 0.625rem 0.875rem;
  background-color: #1F2933;
  color: #FFFFFF;
  border-radius: 6px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  font-size: 0.875rem;
  z-index: 1000;
  pointer-events: none;
  max-width: 240px;
}

/* line 644, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-tooltip-name {
  font-weight: 500;
  margin-bottom: 0.375rem;
}

/* line 649, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-tooltip-results {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 655, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-tooltip-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

/* line 661, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-tooltip-candidate {
  color: #D1D5DB;
}

/* line 665, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-tooltip-value {
  font-weight: 500;
}

/* line 673, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 687, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-toggle:hover {
  background-color: #F4F7FC;
  border-color: #A3C4E0;
}

/* line 692, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-toggle.is-active {
  background-color: #E4EEF8;
  border-color: #4C7FB5;
  color: #123B66;
}

/* line 699, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-view {
  display: none;
  flex-direction: column;
  height: 100%;
}

/* line 704, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-view.is-visible {
  display: flex;
}

/* line 709, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-header {
  display: flex;
  align-items: center;
  padding: 0.625rem 1rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
}

/* line 722, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-col-name {
  flex: 1;
}

/* line 726, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-col-votes {
  flex: 0 0 80px;
  text-align: right;
}

/* line 731, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-col-leader {
  flex: 0 0 120px;
  text-align: right;
}

/* line 736, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-col-margin {
  flex: 0 0 80px;
  text-align: right;
}

/* line 741, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-body {
  flex: 1;
  overflow-y: auto;
}

/* line 746, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-row {
  display: flex;
  align-items: center;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid #F3F4F6;
  font-size: 0.875rem;
  transition: background-color 0.15s ease;
}

/* line 754, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-row:hover {
  background-color: #F9FAFB;
}

/* line 758, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-row:last-child {
  border-bottom: none;
}

/* line 763, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-name {
  flex: 1;
  font-weight: 500;
  color: #1F2933;
}

/* line 769, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-votes {
  flex: 0 0 80px;
  text-align: right;
  color: #4B5563;
}

/* line 775, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-leader {
  flex: 0 0 120px;
  text-align: right;
  font-weight: 500;
}

/* line 780, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-leader.sg-leader-dem {
  color: #1F5C96;
}

/* line 784, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-leader.sg-leader-rep {
  color: #9B2331;
}

/* line 788, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-leader.sg-leader-yes {
  color: #127A7A;
}

/* line 792, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-leader.sg-leader-no {
  color: #4B5563;
}

/* line 797, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-list-margin {
  flex: 0 0 80px;
  text-align: right;
  color: #9CA3AF;
}

/* line 808, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-results-compact .sg-precinct-content {
  min-height: 400px;
}

/* line 812, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-results-compact .sg-precinct-summary-panel {
  width: 280px;
}

/* line 816, app/assets/stylesheets/_sg_precinct_results.scss */
.sg-precinct-results-compact .sg-precinct-panel-candidates {
  max-height: 200px;
}

/* line 14, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-compare {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 21, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-compare-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #FFFFFF;
}

/* line 27, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-compare-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 34, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-compare-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
}

/* line 44, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-controls {
  padding: 1.25rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 50, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-controls-row {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}

/* line 57, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-controls-row:last-child {
  margin-bottom: 0;
}

/* line 62, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-control-group {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  min-width: 140px;
}

/* line 69, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-control-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
}

/* line 77, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-control-select {
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: #1F2933;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234B5563' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 91, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-control-select:hover {
  border-color: #B8BFC7;
}

/* line 95, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-control-select:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.1);
}

/* line 102, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-control-input {
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: #1F2933;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  width: 100px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 112, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-control-input:hover {
  border-color: #B8BFC7;
}

/* line 116, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-control-input:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.1);
}

/* line 122, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-control-input::placeholder {
  color: #B8BFC7;
}

/* line 128, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-contests {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1rem;
  align-items: stretch;
}

@media (max-width: 992px) {
  /* line 128, app/assets/stylesheets/_precinct_compare_styleguide.scss */
  .sg-compare-contests {
    grid-template-columns: 1fr;
  }
}

/* line 139, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-contest-panel {
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1rem;
}

/* line 146, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-contest-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 155, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-contest-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #FFFFFF;
  background-color: #1F5C96;
  border-radius: 9999px;
}

/* line 167, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-contest-badge.sg-contest-b {
  background-color: #127A7A;
}

/* line 172, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-contest-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 178, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-contest-selectors {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 184, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-vs-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.5rem;
}

@media (max-width: 992px) {
  /* line 184, app/assets/stylesheets/_precinct_compare_styleguide.scss */
  .sg-compare-vs-divider {
    padding: 0.5rem 0;
  }
}

/* line 195, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-vs-text {
  font-size: 0.875rem;
  font-weight: 700;
  color: #B8BFC7;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 207, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-summary {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1.5rem;
  padding: 1.5rem;
  background-color: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
}

@media (max-width: 768px) {
  /* line 207, app/assets/stylesheets/_precinct_compare_styleguide.scss */
  .sg-compare-summary {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* line 221, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-summary-panel {
  padding: 1rem 1.25rem;
  background-color: #F9FAFB;
  border-radius: 8px;
  border: 1px solid #E5E7EB;
}

/* line 228, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-summary-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

/* line 235, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-summary-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #FFFFFF;
  background-color: #1F5C96;
  border-radius: 9999px;
}

/* line 247, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-summary-badge.sg-summary-b {
  background-color: #127A7A;
}

/* line 252, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-summary-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 261, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-summary-contest {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-bottom: 1rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 270, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-summary-stats {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

/* line 276, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-summary-stat {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

/* line 282, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-summary-stat-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 287, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-summary-stat-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
}

/* line 292, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-summary-stat-value.sg-value-highlight {
  color: #1F5C96;
}

/* line 296, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-summary-stat-value.sg-value-highlight-b {
  color: #127A7A;
}

/* line 302, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-difference-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.5rem;
  background-color: #F3F4F6;
  border-radius: 8px;
  min-width: 160px;
}

@media (max-width: 768px) {
  /* line 302, app/assets/stylesheets/_precinct_compare_styleguide.scss */
  .sg-compare-difference-panel {
    flex-direction: row;
    justify-content: space-around;
    padding: 1rem;
  }
}

/* line 319, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-difference-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
  margin-bottom: 0.375rem;
}

@media (max-width: 768px) {
  /* line 319, app/assets/stylesheets/_precinct_compare_styleguide.scss */
  .sg-compare-difference-label {
    margin-bottom: 0;
    margin-right: 0.75rem;
  }
}

/* line 333, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-difference-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 338, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-difference-value.sg-diff-positive {
  color: #1F5C96;
}

/* line 342, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-difference-value.sg-diff-negative {
  color: #127A7A;
}

/* line 347, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-difference-desc {
  font-size: 0.75rem;
  color: #9CA3AF;
  text-align: center;
  margin-top: 0.25rem;
}

@media (max-width: 768px) {
  /* line 347, app/assets/stylesheets/_precinct_compare_styleguide.scss */
  .sg-compare-difference-desc {
    margin-top: 0;
    margin-left: 0.75rem;
  }
}

/* line 363, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-container {
  overflow-x: auto;
}

/* line 367, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

/* line 373, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-header {
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 378, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
  white-space: nowrap;
}

/* line 388, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table th.sg-col-center {
  text-align: center;
}

/* line 392, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table th.sg-col-right {
  text-align: right;
}

/* line 397, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-header-contest {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 403, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  font-size: 0.625rem;
  font-weight: 700;
  color: #FFFFFF;
  background-color: #1F5C96;
  border-radius: 9999px;
}

/* line 415, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-badge.sg-badge-b {
  background-color: #127A7A;
}

/* line 420, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table tbody tr {
  border-bottom: 1px solid #F3F4F6;
  transition: background-color 0.15s ease;
}

/* line 424, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table tbody tr:hover {
  background-color: #F9FAFB;
}

/* line 428, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table tbody tr:last-child {
  border-bottom: none;
}

/* line 433, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table td {
  padding: 0.625rem 1rem;
  color: #1F2933;
}

/* line 437, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table td.sg-col-center {
  text-align: center;
}

/* line 441, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table td.sg-col-right {
  text-align: right;
}

/* line 446, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-precinct {
  font-weight: 500;
}

/* line 450, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-pct {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* line 454, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-pct.sg-pct-a {
  color: #1F5C96;
}

/* line 458, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-pct.sg-pct-b {
  color: #127A7A;
}

/* line 463, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-diff {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* line 467, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-diff.sg-diff-positive {
  color: #1F5C96;
}

/* line 471, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-diff.sg-diff-negative {
  color: #127A7A;
}

/* line 475, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-diff.sg-diff-neutral {
  color: #9CA3AF;
}

/* line 480, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-ballots {
  color: #6B7280;
  font-variant-numeric: tabular-nums;
}

/* line 486, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-bar-cell {
  width: 140px;
  padding-right: 0.5rem;
}

/* line 491, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-bar {
  display: flex;
  height: 8px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 499, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-bar-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
}

/* line 504, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-bar-fill.sg-bar-a {
  background-color: #1F5C96;
}

/* line 508, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-bar-fill.sg-bar-b {
  background-color: #127A7A;
}

/* line 515, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table tbody tr.sg-row-highlight-a {
  background-color: rgba(31, 92, 150, 0.04);
}

/* line 519, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table tbody tr.sg-row-highlight-b {
  background-color: rgba(18, 122, 122, 0.04);
}

/* line 528, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 539, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-count {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 544, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table-pagination {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 550, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-page-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  color: #4B5563;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 563, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-page-btn:hover:not(:disabled) {
  background-color: #F9FAFB;
  border-color: #D1D5DB;
}

/* line 568, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-page-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* line 573, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-page-btn.is-active {
  background-color: #1F5C96;
  border-color: #1F5C96;
  color: #FFFFFF;
}

/* line 584, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 1.5rem;
  text-align: center;
}

/* line 593, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-empty-icon {
  font-size: 2.5rem;
  color: #D1D5DB;
  margin-bottom: 1rem;
}

/* line 599, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-empty-title {
  font-size: 1rem;
  font-weight: 500;
  color: #4B5563;
  margin-bottom: 0.375rem;
}

/* line 606, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-empty-desc {
  font-size: 0.875rem;
  color: #9CA3AF;
  max-width: 320px;
}

/* line 616, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-correlation {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 625, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-correlation-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
}

/* line 633, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-correlation-bar {
  flex: 1;
  height: 8px;
  background: linear-gradient(to right, #9B2331, #D1D5DB, #1F6B4E);
  border-radius: 9999px;
  position: relative;
  max-width: 200px;
}

/* line 642, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-correlation-marker {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background-color: #1F2933;
  border: 2px solid #FFFFFF;
  border-radius: 9999px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 654, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-correlation-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  min-width: 50px;
}

/* line 661, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-correlation-desc {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 671, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-compare-compact .sg-compare-controls {
  padding: 1rem;
}

/* line 675, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-compare-compact .sg-compare-summary {
  padding: 1rem;
  gap: 1rem;
}

/* line 680, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-compare-compact .sg-compare-table th,
.sg-precinct-compare-compact .sg-compare-table td {
  padding: 0.5rem 0.75rem;
}

/* line 690, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(31, 41, 51, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1050;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  padding: 1rem;
}

/* line 706, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal.is-open {
  opacity: 1;
  visibility: visible;
}

/* line 712, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-content {
  background-color: #FFFFFF;
  border-radius: 12px;
  box-shadow: 0 20px 25px rgba(31, 41, 51, 0.08), 0 10px 10px rgba(31, 41, 51, 0.03);
  width: 100%;
  max-width: 900px;
  max-height: calc(100vh - 2rem);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: scale(0.95) translateY(10px);
  transition: transform 0.2s ease;
}

/* line 725, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.is-open .sg-precinct-modal-content {
  transform: scale(1) translateY(0);
}

/* line 730, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #FFFFFF;
}

/* line 739, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 746, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: #9CA3AF;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 759, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-close:hover {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 764, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-close i {
  font-size: 1.25rem;
}

/* line 769, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-body {
  flex: 1;
  overflow-y: auto;
  padding: 1.25rem;
}

/* line 776, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

@media (max-width: 768px) {
  /* line 776, app/assets/stylesheets/_precinct_compare_styleguide.scss */
  .sg-precinct-modal-grid {
    grid-template-columns: 1fr;
  }
}

/* line 786, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-section {
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 793, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background-color: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
}

/* line 802, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-section-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 810, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-toggle {
  display: flex;
  gap: 0.25rem;
  background-color: #F3F4F6;
  border-radius: 6px;
  padding: 2px;
}

/* line 818, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-toggle-btn {
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  background: transparent;
  border: none;
  border-radius: calc(6px - 2px);
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 829, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-toggle-btn:hover:not(.is-active) {
  color: #4B5563;
}

/* line 833, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-toggle-btn.is-active {
  background-color: #FFFFFF;
  color: #1F2933;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 840, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-section-content {
  padding: 1rem;
}

/* line 845, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-party-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 851, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-party-item {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

/* line 857, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-party-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

/* line 863, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-party-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #323C47;
}

/* line 869, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-party-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 876, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-party-bar-track {
  height: 8px;
  background-color: #E5E7EB;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 883, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-party-bar-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
}

/* line 888, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-party-bar-fill.sg-bar-dem {
  background-color: #1F5C96;
}

/* line 892, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-party-bar-fill.sg-bar-rep {
  background-color: #9B2331;
}

/* line 896, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-party-bar-fill.sg-bar-npp {
  background-color: #9CA3AF;
}

/* line 900, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-party-bar-fill.sg-bar-other {
  background-color: #C4681A;
}

/* line 904, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-party-bar-fill.sg-bar-green {
  background-color: #1F6B4E;
}

/* line 908, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-party-bar-fill.sg-bar-lib {
  background-color: #8A6A06;
}

/* line 914, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-ethnic-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 920, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-ethnic-item {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

/* line 926, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-ethnic-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

/* line 932, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-ethnic-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #323C47;
}

/* line 938, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-ethnic-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 945, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-ethnic-bar-track {
  height: 8px;
  background-color: #E5E7EB;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 952, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-ethnic-bar-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
  background-color: #127A7A;
}

/* line 958, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-ethnic-bar-fill.sg-eth-1 {
  background-color: #127A7A;
}

/* line 962, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-ethnic-bar-fill.sg-eth-2 {
  background-color: #3A7AB8;
}

/* line 966, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-ethnic-bar-fill.sg-eth-3 {
  background-color: #1F5C96;
}

/* line 970, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-ethnic-bar-fill.sg-eth-4 {
  background-color: #C4681A;
}

/* line 974, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-ethnic-bar-fill.sg-eth-5 {
  background-color: #9CA3AF;
}

/* line 980, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-map {
  grid-column: 1 / -1;
}

/* line 984, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-map-container {
  position: relative;
  height: 280px;
  background-color: #F3F4F6;
  border-radius: 6px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 995, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-map-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  color: #B8BFC7;
}

/* line 1002, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-map-placeholder i {
  font-size: 2.5rem;
}

/* line 1006, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-map-placeholder span {
  font-size: 0.875rem;
}

/* line 1012, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-comparison {
  margin-top: 1.25rem;
  padding: 1rem;
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
}

/* line 1020, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-comparison-title {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
  margin-bottom: 0.75rem;
}

/* line 1029, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-comparison-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1rem;
  align-items: center;
}

@media (max-width: 576px) {
  /* line 1029, app/assets/stylesheets/_precinct_compare_styleguide.scss */
  .sg-precinct-modal-comparison-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
}

/* line 1041, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-comparison-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1047, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-comparison-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #FFFFFF;
  background-color: #1F5C96;
  border-radius: 9999px;
}

/* line 1059, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-comparison-badge.sg-badge-b {
  background-color: #127A7A;
}

/* line 1064, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-comparison-label {
  font-size: 0.75rem;
  color: #6B7280;
}

/* line 1069, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-comparison-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
  margin-left: auto;
}

/* line 1075, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-comparison-value.sg-value-a {
  color: #1F5C96;
}

/* line 1079, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-comparison-value.sg-value-b {
  color: #127A7A;
}

/* line 1084, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-precinct-modal-comparison-vs {
  font-size: 0.75rem;
  font-weight: 500;
  color: #B8BFC7;
  text-transform: uppercase;
  text-align: center;
}

@media (max-width: 576px) {
  /* line 1084, app/assets/stylesheets/_precinct_compare_styleguide.scss */
  .sg-precinct-modal-comparison-vs {
    padding: 0.25rem 0;
    border-top: 1px dashed #E5E7EB;
    border-bottom: 1px dashed #E5E7EB;
  }
}

/* line 1099, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table tbody tr {
  cursor: pointer;
}

/* line 1102, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table tbody tr:hover {
  background-color: #F3F4F6;
}

/* line 1106, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table tbody tr.sg-row-highlight-a:hover {
  background-color: rgba(31, 92, 150, 0.08);
}

/* line 1110, app/assets/stylesheets/_precinct_compare_styleguide.scss */
.sg-compare-table tbody tr.sg-row-highlight-b:hover {
  background-color: rgba(18, 122, 122, 0.08);
}

/* line 14, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 21, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #FFFFFF;
}

/* line 27, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 37, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-title-icon {
  color: #9CA3AF;
  font-size: 0.875rem;
}

/* line 42, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-subtitle {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
}

/* line 49, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-summary {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #F3F4F6;
}

/* line 58, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-summary-item {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 64, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-summary-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 71, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-summary-value {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 77, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-body {
  padding: 1rem 1.25rem;
}

/* line 82, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-footer {
  padding: 0.875rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 88, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-footer-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.375rem 0;
}

/* line 94, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-footer-row:not(:last-child) {
  border-bottom: 1px dashed #E5E7EB;
}

/* line 99, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-footer-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 105, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-footer-value {
  font-size: 0.875rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 113, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-notes {
  padding: 0.75rem 1.25rem;
  background-color: #EDF3F8;
  border-top: 1px solid #E5E7EB;
  font-size: 0.75rem;
  color: #1D5E96;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

/* line 123, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-notes i {
  margin-top: 0.125rem;
}

/* line 133, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-distribution-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 139, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-distribution-item {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

/* line 145, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-distribution-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 151, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-distribution-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #323C47;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 160, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-distribution-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 170, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-distribution-bar-track {
  height: 8px;
  background-color: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 177, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-distribution-bar-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.3s ease;
  background-color: #1F5C96;
}

/* line 185, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-indicator {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.375rem;
  font-size: 0.625rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border-radius: 4px;
}

/* line 195, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-indicator.sg-indicator-high {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 200, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-indicator.sg-indicator-low {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 205, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-indicator.sg-indicator-avg {
  background-color: #F3F4F6;
  color: #6B7280;
}

/* line 213, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-distribution-bar-fill.sg-bar-primary {
  background-color: #1F5C96;
}

/* line 214, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-distribution-bar-fill.sg-bar-primary-light {
  background-color: #4C7FB5;
}

/* line 215, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-distribution-bar-fill.sg-bar-teal {
  background-color: #127A7A;
}

/* line 216, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-distribution-bar-fill.sg-bar-orange {
  background-color: #C4681A;
}

/* line 217, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-distribution-bar-fill.sg-bar-success {
  background-color: #1F6B4E;
}

/* line 218, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-distribution-bar-fill.sg-bar-warning {
  background-color: #8A6A06;
}

/* line 219, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-distribution-bar-fill.sg-bar-danger {
  background-color: #9B2331;
}

/* line 220, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-distribution-bar-fill.sg-bar-neutral {
  background-color: #9CA3AF;
}

/* line 228, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segmented-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 234, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segment-group {
  border-bottom: 1px solid #F3F4F6;
}

/* line 237, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segment-group:last-child {
  border-bottom: none;
}

/* line 242, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segment-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 0;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

/* line 250, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segment-header:hover {
  background-color: #F9FAFB;
  margin: 0 -1.25rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

/* line 258, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segment-header.is-expanded .sg-census-segment-toggle i {
  transform: rotate(180deg);
}

/* line 264, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segment-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 273, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segment-icon {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #E4EEF8;
  color: #1F5C96;
  border-radius: 4px;
  font-size: 0.6875rem;
}

/* line 285, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segment-value {
  font-size: 0.875rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 292, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segment-toggle {
  color: #B8BFC7;
  margin-left: 0.5rem;
}

/* line 296, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segment-toggle i {
  transition: transform 0.15s ease;
}

/* line 301, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segment-children {
  padding: 0 0 0.75rem 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 308, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segment-child {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.375rem 0;
  border-left: 2px solid #E5E7EB;
  padding-left: 0.75rem;
}

/* line 317, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segment-child-label {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 322, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segment-child-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #323C47;
  font-variant-numeric: tabular-nums;
}

/* line 330, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segment-footnote {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
}

/* line 338, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-segment-footnote i {
  font-size: 0.625rem;
}

/* line 348, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-dual-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 354, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-dual-item {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 1rem;
  align-items: center;
  padding: 0.75rem 0;
  border-bottom: 1px solid #F3F4F6;
}

/* line 362, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-dual-item:last-child {
  border-bottom: none;
}

/* line 367, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-dual-label {
  font-size: 0.875rem;
  color: #323C47;
}

/* line 372, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-dual-primary {
  font-size: 0.875rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
  min-width: 50px;
  text-align: right;
}

/* line 381, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-dual-secondary {
  font-size: 0.75rem;
  color: #FFFFFF;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-weight: 500;
  min-width: 80px;
  text-align: center;
}

/* line 390, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-dual-secondary.sg-level-severe {
  background-color: #9B2331;
}

/* line 394, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-dual-secondary.sg-level-moderate {
  background-color: #8A6A06;
}

/* line 398, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-dual-secondary.sg-level-low {
  background-color: #1F6B4E;
}

/* line 402, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-dual-secondary.sg-level-none {
  background-color: #9CA3AF;
}

/* line 408, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-dual-threshold {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background-color: #F9FAFB;
  border-radius: 4px;
  margin-top: 0.5rem;
  font-size: 0.75rem;
  color: #6B7280;
}

/* line 420, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-dual-threshold i {
  color: #9CA3AF;
}

/* line 430, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-totals-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 439, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-totals-item {
  flex: 1;
  min-width: 100px;
  padding: 0.625rem 0.75rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  text-align: center;
}

/* line 449, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-totals-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-bottom: 0.25rem;
}

/* line 455, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-totals-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 467, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-text-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 473, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-text-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0.75rem 0;
  border-bottom: 1px solid #F3F4F6;
}

/* line 480, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-text-item:last-child {
  border-bottom: none;
}

/* line 484, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-text-item.sg-text-item-nested {
  padding-left: 1.25rem;
  border-left: 2px solid #E5E7EB;
  margin-left: 0.5rem;
}

/* line 490, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-text-item.sg-text-item-nested-deep {
  padding-left: 2.5rem;
  border-left: 2px solid #F3F4F6;
  margin-left: 1rem;
}

/* line 497, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-text-content {
  flex: 1;
  min-width: 0;
}

/* line 502, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-text-label {
  font-size: 0.875rem;
  color: #323C47;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

/* line 510, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-text-definition-icon {
  color: #B8BFC7;
  font-size: 0.75rem;
  margin-top: 0.125rem;
  cursor: help;
}

/* line 517, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-text-description {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
  line-height: 1.4;
}

/* line 524, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-text-values {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.125rem;
  margin-left: 1rem;
}

/* line 532, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-text-primary-value {
  font-size: 0.875rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 539, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-text-confidence {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-variant-numeric: tabular-nums;
}

/* line 550, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 556, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1rem;
  background-color: #F9FAFB;
  border-radius: 6px;
}

/* line 566, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-summary-item {
  text-align: center;
  flex: 1;
}

/* line 571, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-summary-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 576, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-summary-value.sg-value-primary {
  color: #1F5C96;
}

/* line 580, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-summary-value.sg-value-secondary {
  color: #6B7280;
}

/* line 585, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-summary-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
}

/* line 591, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-divider {
  width: 1px;
  height: 40px;
  background-color: #D1D5DB;
}

/* line 598, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-stacked {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 604, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-stacked-bar {
  display: flex;
  height: 24px;
  border-radius: 6px;
  overflow: hidden;
}

/* line 611, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-stacked-segment {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
  color: #FFFFFF;
  transition: flex 0.2s ease;
}

/* line 620, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-stacked-segment.sg-segment-primary {
  background-color: #1F5C96;
}

/* line 624, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-stacked-segment.sg-segment-secondary {
  background-color: #B8BFC7;
}

/* line 628, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-stacked-segment.sg-segment-tertiary {
  background-color: #D1D5DB;
  color: #4B5563;
}

/* line 634, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

/* line 641, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-legend-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: #4B5563;
}

/* line 649, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 9999px;
}

/* line 654, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-legend-dot.sg-dot-primary {
  background-color: #1F5C96;
}

/* line 658, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-legend-dot.sg-dot-secondary {
  background-color: #B8BFC7;
}

/* line 662, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-comparison-legend-dot.sg-dot-tertiary {
  background-color: #D1D5DB;
}

/* line 672, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-range-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 678, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-range-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 684, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-range-label {
  font-size: 0.875rem;
  color: #4B5563;
  min-width: 120px;
  font-variant-numeric: tabular-nums;
}

/* line 691, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-range-bar-container {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 698, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-range-bar-track {
  flex: 1;
  height: 16px;
  background-color: #F3F4F6;
  border-radius: 4px;
  overflow: hidden;
  position: relative;
}

/* line 707, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-range-bar-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.3s ease;
}

/* line 713, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-range-bar-fill.sg-range-gradient {
  background: linear-gradient(90deg, #4C7FB5, #1F5C96);
}

/* line 718, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-range-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
  min-width: 45px;
  text-align: right;
}

/* line 728, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-range-scale {
  display: flex;
  justify-content: space-between;
  padding: 0.5rem 0;
  margin-top: 0.5rem;
  border-top: 1px solid #F3F4F6;
}

/* line 736, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-range-scale-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 740, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-range-scale-label:first-child {
  color: #4C7FB5;
}

/* line 744, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-range-scale-label:last-child {
  color: #123B66;
}

/* line 754, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-tree {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 760, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-branch {
  border-bottom: 1px solid #F3F4F6;
}

/* line 763, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-branch:last-child {
  border-bottom: none;
}

/* line 768, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-parent {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 0;
  font-weight: 500;
}

/* line 776, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-parent-label {
  font-size: 0.875rem;
  color: #1F2933;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 784, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-parent-icon {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #E4EEF8;
  color: #1F5C96;
  border-radius: 6px;
  font-size: 0.75rem;
}

/* line 796, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-parent-value {
  font-size: 0.875rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 803, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-children {
  padding-left: 2rem;
  padding-bottom: 0.5rem;
}

/* line 808, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-child {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  padding-left: 0.75rem;
  border-left: 2px solid #E5E7EB;
  position: relative;
}

/* line 817, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-child::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 0.5rem;
  height: 2px;
  background-color: #E5E7EB;
}

/* line 828, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-child-label {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 833, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-child-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #323C47;
  font-variant-numeric: tabular-nums;
}

/* line 841, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-grandchildren {
  padding-left: 1.5rem;
  margin-top: 0.25rem;
}

/* line 846, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-grandchild {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.375rem 0;
  padding-left: 0.75rem;
  border-left: 2px solid #F3F4F6;
}

/* line 854, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-grandchild::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 0.375rem;
  height: 2px;
  background-color: #F3F4F6;
}

/* line 865, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-grandchild-label {
  font-size: 0.75rem;
  color: #6B7280;
}

/* line 870, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-household-grandchild-value {
  font-size: 0.75rem;
  font-weight: 600;
  color: #4B5563;
  font-variant-numeric: tabular-nums;
}

/* line 882, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-map-card {
  display: grid;
  grid-template-columns: 1fr 200px;
  gap: 0;
}

@media (max-width: 768px) {
  /* line 882, app/assets/stylesheets/_sg_census_cards.scss */
  .sg-census-map-card {
    grid-template-columns: 1fr;
  }
}

/* line 892, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-map-metrics {
  padding: 1rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 899, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-map-metric {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  border-bottom: 1px solid #F3F4F6;
}

/* line 906, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-map-metric:last-child {
  border-bottom: none;
}

/* line 911, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-map-metric-label {
  font-size: 0.875rem;
  color: #4B5563;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 919, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-map-metric-icon {
  color: #B8BFC7;
  font-size: 0.75rem;
}

/* line 924, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-map-metric-value {
  font-size: 0.875rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 931, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-map-container {
  background-color: #F3F4F6;
  border-left: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 180px;
}

@media (max-width: 768px) {
  /* line 931, app/assets/stylesheets/_sg_census_cards.scss */
  .sg-census-map-container {
    border-left: none;
    border-top: 1px solid #E5E7EB;
  }
}

/* line 945, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-map-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  color: #B8BFC7;
}

/* line 952, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-map-placeholder i {
  font-size: 2rem;
}

/* line 956, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-map-placeholder span {
  font-size: 0.75rem;
}

/* line 966, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-compact .sg-census-card-header {
  padding: 0.75rem 1rem;
}

/* line 970, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-compact .sg-census-card-body {
  padding: 0.75rem 1rem;
}

/* line 974, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-compact .sg-census-distribution-item {
  gap: 0.25rem;
}

/* line 978, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-compact .sg-census-distribution-bar-track {
  height: 6px;
}

/* line 988, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-dark-header .sg-census-card-header {
  background-color: #0B2742;
  border-bottom-color: #123B66;
}

/* line 993, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-dark-header .sg-census-card-title {
  color: #FFFFFF;
}

/* line 997, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-dark-header .sg-census-card-title-icon {
  color: #4C7FB5;
}

/* line 1001, app/assets/stylesheets/_sg_census_cards.scss */
.sg-census-card-dark-header .sg-census-card-subtitle {
  color: #A3C4E0;
}

/* line 16, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 27, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-identity {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  gap: 1.5rem;
  border-bottom: 1px solid #E5E7EB;
}

@media (max-width: 768px) {
  /* line 27, app/assets/stylesheets/_sg_headers.scss */
  .sg-compact-header-identity {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}

/* line 42, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-left {
  flex: 1;
  min-width: 0;
}

/* line 47, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-bottom: 0.125rem;
}

/* line 55, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-breadcrumb a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 59, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-breadcrumb a:hover {
  text-decoration: underline;
}

/* line 64, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-breadcrumb i {
  font-size: 0.625rem;
  color: #B8BFC7;
}

/* line 70, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-overlap {
  color: #4B5563;
  font-weight: 500;
}

/* line 75, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0;
  line-height: 1.2;
}

@media (max-width: 768px) {
  /* line 75, app/assets/stylesheets/_sg_headers.scss */
  .sg-compact-header-name {
    font-size: 1.125rem;
  }
}

/* line 87, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.25rem;
}

/* line 95, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-official {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 100, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-official-label {
  color: #9CA3AF;
}

/* line 104, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-contact {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: 0.25rem;
}

/* line 111, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-contact-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  color: #1F5C96;
  background-color: #F4F7FC;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 123, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-contact-link:hover {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 128, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-contact-link i {
  font-size: 0.75rem;
}

/* line 133, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-officials-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  color: #1F5C96;
  text-decoration: none;
}

/* line 141, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-officials-link:hover {
  text-decoration: underline;
  color: #123B66;
}

/* line 146, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-officials-link i {
  font-size: 0.875rem;
}

/* line 151, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-right {
  display: flex;
  gap: 1.5rem;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  /* line 151, app/assets/stylesheets/_sg_headers.scss */
  .sg-compact-header-right {
    gap: 1rem;
  }
}

/* line 161, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-stat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0;
}

@media (max-width: 768px) {
  /* line 161, app/assets/stylesheets/_sg_headers.scss */
  .sg-compact-header-stat {
    align-items: flex-start;
  }
}

/* line 172, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-stat-value {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

/* line 180, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-stat-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  line-height: 1.2;
}

/* line 190, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-header-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1.25rem;
  background-color: #F9FAFB;
  gap: 1rem;
  min-height: 44px;
}

@media (max-width: 992px) {
  /* line 190, app/assets/stylesheets/_sg_headers.scss */
  .sg-compact-header-nav {
    flex-direction: column;
    align-items: stretch;
    padding: 0.5rem 1rem;
    gap: 0.5rem;
  }
}

/* line 207, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-nav-sections {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

@media (max-width: 992px) {
  /* line 207, app/assets/stylesheets/_sg_headers.scss */
  .sg-compact-nav-sections {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  /* line 218, app/assets/stylesheets/_sg_headers.scss */
  .sg-compact-nav-sections::-webkit-scrollbar {
    display: none;
  }
}

/* line 224, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-nav-link {
  padding: 0.625rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  text-decoration: none;
  border-radius: 4px;
  white-space: nowrap;
  transition: all 0.15s ease;
}

/* line 234, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-nav-link:hover {
  color: #1F2933;
  background-color: #F3F4F6;
}

/* line 239, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-nav-link.active {
  color: #123B66;
  background-color: #FFFFFF;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

/* line 247, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-nav-districts-wrapper {
  position: relative;
  flex: 1;
  min-width: 0;
  max-width: 50%;
}

/* line 254, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-nav-districts-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 2rem;
  background: linear-gradient(to right, transparent, #F9FAFB);
  pointer-events: none;
}

@media (max-width: 992px) {
  /* line 247, app/assets/stylesheets/_sg_headers.scss */
  .sg-compact-nav-districts-wrapper {
    max-width: 100%;
  }
}

/* line 270, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-nav-districts {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-right: 1.5rem;
}

/* line 280, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-nav-districts::-webkit-scrollbar {
  display: none;
}

@media (max-width: 992px) {
  /* line 270, app/assets/stylesheets/_sg_headers.scss */
  .sg-compact-nav-districts {
    padding-bottom: 0.25rem;
  }
}

/* line 289, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-district-chip {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 9999px;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.15s ease;
}

/* line 301, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-district-chip:hover {
  border-color: #D1D5DB;
  color: #4B5563;
}

/* line 306, app/assets/stylesheets/_sg_headers.scss */
.sg-compact-district-chip.active {
  background-color: #1F5C96;
  border-color: #1F5C96;
  color: #FFFFFF;
}

/* line 317, app/assets/stylesheets/_sg_headers.scss */
.sg-header-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
}

/* line 326, app/assets/stylesheets/_sg_headers.scss */
.sg-header-breadcrumb-item {
  display: flex;
  align-items: center;
  color: #9CA3AF;
}

/* line 331, app/assets/stylesheets/_sg_headers.scss */
.sg-header-breadcrumb-item a {
  color: #1F5C96;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 336, app/assets/stylesheets/_sg_headers.scss */
.sg-header-breadcrumb-item a:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 343, app/assets/stylesheets/_sg_headers.scss */
.sg-header-breadcrumb-separator {
  color: #B8BFC7;
  margin: 0 0.125rem;
}

/* line 348, app/assets/stylesheets/_sg_headers.scss */
.sg-header-breadcrumb-current {
  color: #4B5563;
  font-weight: 500;
}

/* line 357, app/assets/stylesheets/_sg_headers.scss */
.sg-header-overlap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 367, app/assets/stylesheets/_sg_headers.scss */
.sg-header-overlap-label {
  color: #9CA3AF;
}

/* line 371, app/assets/stylesheets/_sg_headers.scss */
.sg-header-overlap-primary {
  color: #4B5563;
  font-weight: 500;
}

/* line 376, app/assets/stylesheets/_sg_headers.scss */
.sg-header-overlap-more {
  color: #9CA3AF;
}

/* line 380, app/assets/stylesheets/_sg_headers.scss */
.sg-header-overlap-toggle {
  color: #1F5C96;
  background: none;
  border: none;
  padding: 0;
  font-size: 0.875rem;
  cursor: pointer;
  text-decoration: none;
}

/* line 389, app/assets/stylesheets/_sg_headers.scss */
.sg-header-overlap-toggle:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 395, app/assets/stylesheets/_sg_headers.scss */
.sg-header-overlap-list {
  display: none;
  flex-basis: 100%;
  margin-top: 0.5rem;
  padding: 0.75rem;
  background-color: #F9FAFB;
  border-radius: 6px;
  border: 1px solid #E5E7EB;
}

/* line 404, app/assets/stylesheets/_sg_headers.scss */
.sg-header-overlap-list.is-expanded {
  display: block;
}

/* line 409, app/assets/stylesheets/_sg_headers.scss */
.sg-header-overlap-list-title {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-bottom: 0.5rem;
}

/* line 418, app/assets/stylesheets/_sg_headers.scss */
.sg-header-overlap-list-items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

/* line 424, app/assets/stylesheets/_sg_headers.scss */
.sg-header-overlap-list-item {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 428, app/assets/stylesheets/_sg_headers.scss */
.sg-header-overlap-list-item a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 432, app/assets/stylesheets/_sg_headers.scss */
.sg-header-overlap-list-item a:hover {
  text-decoration: underline;
}

/* line 437, app/assets/stylesheets/_sg_headers.scss */
.sg-header-overlap-list-item:not(:last-child)::after {
  content: ",";
  color: #B8BFC7;
}

/* line 447, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-header {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 454, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-header-inner {
  padding: 1.5rem;
}

@media (max-width: 768px) {
  /* line 454, app/assets/stylesheets/_sg_headers.scss */
  .sg-jurisdiction-header-inner {
    padding: 1rem;
  }
}

/* line 462, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-header-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5rem;
}

@media (max-width: 768px) {
  /* line 462, app/assets/stylesheets/_sg_headers.scss */
  .sg-jurisdiction-header-content {
    flex-direction: column;
    gap: 1rem;
  }
}

/* line 474, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-header-main {
  flex: 1;
  min-width: 0;
}

/* line 479, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-header-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 1rem 0;
  line-height: 1.2;
}

@media (max-width: 768px) {
  /* line 479, app/assets/stylesheets/_sg_headers.scss */
  .sg-jurisdiction-header-name {
    font-size: 1.25rem;
  }
}

/* line 492, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-official {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  background-color: #F9FAFB;
  border-radius: 6px;
  border: 1px solid #E5E7EB;
}

/* line 502, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-official-info {
  flex: 1;
  min-width: 0;
}

/* line 507, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-official-title {
  font-size: 0.75rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 514, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-official-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 521, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-official-contact {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.25rem;
}

/* line 528, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-official-link {
  font-size: 0.75rem;
  color: #1F5C96;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 536, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-official-link:hover {
  text-decoration: underline;
  color: #123B66;
}

/* line 541, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-official-link i {
  font-size: 0.625rem;
}

/* line 547, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-header-stats {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1rem;
  background-color: #F9FAFB;
  border-radius: 6px;
  border: 1px solid #E5E7EB;
  min-width: 180px;
}

@media (max-width: 768px) {
  /* line 547, app/assets/stylesheets/_sg_headers.scss */
  .sg-jurisdiction-header-stats {
    flex-direction: row;
    flex-wrap: wrap;
    min-width: 100%;
  }
}

/* line 564, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-header-stat {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

@media (max-width: 768px) {
  /* line 564, app/assets/stylesheets/_sg_headers.scss */
  .sg-jurisdiction-header-stat {
    flex: 1;
    min-width: 100px;
  }
}

/* line 575, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-header-stat-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 580, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-header-stat-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 588, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-offices-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.375rem;
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 597, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-offices-label {
  color: #9CA3AF;
}

/* line 601, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-offices-list {
  color: #4B5563;
}

/* line 606, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-officials-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: #1F5C96;
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 619, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-officials-link:hover {
  background-color: #F4F7FC;
  border-color: #A3C4E0;
  color: #123B66;
}

/* line 625, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-officials-link i:first-child {
  font-size: 1rem;
}

/* line 629, app/assets/stylesheets/_sg_headers.scss */
.sg-jurisdiction-officials-link i:last-child {
  font-size: 0.75rem;
}

/* line 638, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 645, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-inner {
  padding: 1.5rem;
}

@media (max-width: 768px) {
  /* line 645, app/assets/stylesheets/_sg_headers.scss */
  .sg-person-header-inner {
    padding: 1rem;
  }
}

/* line 653, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-content {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
}

@media (max-width: 576px) {
  /* line 653, app/assets/stylesheets/_sg_headers.scss */
  .sg-person-header-content {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

/* line 666, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-photo {
  flex-shrink: 0;
}

/* line 670, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-photo-frame {
  width: 120px;
  height: 120px;
  border-radius: 8px;
  overflow: hidden;
  background-color: #F3F4F6;
  border: 3px solid #E5E7EB;
}

@media (max-width: 768px) {
  /* line 670, app/assets/stylesheets/_sg_headers.scss */
  .sg-person-header-photo-frame {
    width: 100px;
    height: 100px;
  }
}

/* line 683, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-photo-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 690, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-photo-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #E5E7EB;
  color: #9CA3AF;
}

/* line 700, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-photo-placeholder i {
  font-size: 2.5rem;
}

/* line 706, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-main {
  flex: 1;
  min-width: 0;
}

@media (max-width: 576px) {
  /* line 706, app/assets/stylesheets/_sg_headers.scss */
  .sg-person-header-main {
    width: 100%;
  }
}

/* line 715, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-name-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 0.375rem;
}

@media (max-width: 576px) {
  /* line 715, app/assets/stylesheets/_sg_headers.scss */
  .sg-person-header-name-row {
    justify-content: center;
  }
}

/* line 727, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0;
  line-height: 1.2;
}

@media (max-width: 768px) {
  /* line 727, app/assets/stylesheets/_sg_headers.scss */
  .sg-person-header-name {
    font-size: 1.25rem;
  }
}

/* line 739, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-party {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 4px;
}

/* line 747, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-party.sg-party-democrat {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 752, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-party.sg-party-republican {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 757, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-party.sg-party-independent {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 762, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-party.sg-party-nonpartisan {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 767, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-party.sg-party-other {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 773, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-office {
  font-size: 1rem;
  color: #4B5563;
  margin-bottom: 0.25rem;
}

@media (max-width: 576px) {
  /* line 773, app/assets/stylesheets/_sg_headers.scss */
  .sg-person-header-office {
    text-align: center;
  }
}

/* line 783, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-jurisdiction {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-bottom: 1rem;
}

/* line 788, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-jurisdiction a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 792, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-jurisdiction a:hover {
  text-decoration: underline;
}

@media (max-width: 576px) {
  /* line 783, app/assets/stylesheets/_sg_headers.scss */
  .sg-person-header-jurisdiction {
    text-align: center;
  }
}

/* line 803, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-races {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

@media (max-width: 576px) {
  /* line 803, app/assets/stylesheets/_sg_headers.scss */
  .sg-person-header-races {
    justify-content: center;
  }
}

/* line 814, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-race {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.625rem;
  background-color: #E2F5F5;
  color: #127A7A;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 4px;
}

/* line 827, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

@media (max-width: 576px) {
  /* line 827, app/assets/stylesheets/_sg_headers.scss */
  .sg-person-header-metrics {
    justify-content: center;
  }
}

/* line 837, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-metric {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding: 0.625rem 0.875rem;
  background-color: #F9FAFB;
  border-radius: 6px;
  border: 1px solid #E5E7EB;
  min-width: 100px;
}

/* line 848, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-metric-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 853, app/assets/stylesheets/_sg_headers.scss */
.sg-person-header-metric-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 864, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 871, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-inner {
  padding: 1.5rem;
}

@media (max-width: 768px) {
  /* line 871, app/assets/stylesheets/_sg_headers.scss */
  .sg-election-header-inner {
    padding: 1rem;
  }
}

/* line 879, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5rem;
}

@media (max-width: 768px) {
  /* line 879, app/assets/stylesheets/_sg_headers.scss */
  .sg-election-header-content {
    flex-direction: column;
    gap: 1rem;
  }
}

/* line 891, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-main {
  flex: 1;
  min-width: 0;
}

/* line 896, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 904, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-type {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border-radius: 4px;
}

/* line 914, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-type.sg-type-general {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 919, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-type.sg-type-primary {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 924, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-type.sg-type-special {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 929, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-type.sg-type-runoff {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 935, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-date {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 940, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.75rem 0;
  line-height: 1.2;
}

@media (max-width: 768px) {
  /* line 940, app/assets/stylesheets/_sg_headers.scss */
  .sg-election-header-name {
    font-size: 1.25rem;
  }
}

/* line 953, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-incumbent {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background-color: #F9FAFB;
  border-radius: 6px;
  border: 1px solid #E5E7EB;
}

/* line 963, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-incumbent-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 968, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-incumbent-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 975, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-nav {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

@media (max-width: 768px) {
  /* line 975, app/assets/stylesheets/_sg_headers.scss */
  .sg-election-header-nav {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

/* line 986, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-nav-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

@media (max-width: 768px) {
  /* line 986, app/assets/stylesheets/_sg_headers.scss */
  .sg-election-header-nav-label {
    width: 100%;
  }
}

/* line 997, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-nav-links {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

@media (max-width: 768px) {
  /* line 997, app/assets/stylesheets/_sg_headers.scss */
  .sg-election-header-nav-links {
    flex-direction: row;
    gap: 0.5rem;
  }
}

/* line 1008, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-nav-link {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: #4B5563;
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 1021, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-nav-link:hover {
  background-color: #F3F4F6;
  border-color: #D1D5DB;
  color: #1F2933;
}

/* line 1027, app/assets/stylesheets/_sg_headers.scss */
.sg-election-header-nav-link.is-active {
  background-color: #E4EEF8;
  border-color: #4C7FB5;
  color: #123B66;
  font-weight: 500;
}

/* line 1039, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-header {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 1045, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-header.sg-committee-terminated {
  background: #F9FAFB;
  border-color: #D1D5DB;
}

/* line 1051, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-header-inner {
  padding: 1.25rem 1.5rem;
}

@media (max-width: 768px) {
  /* line 1051, app/assets/stylesheets/_sg_headers.scss */
  .sg-committee-header-inner {
    padding: 1rem;
  }
}

/* line 1059, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-header-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 1068, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-header-type-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1074, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border-radius: 4px;
}

/* line 1084, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-type-badge.sg-committee-type-candidate {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 1089, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-type-badge.sg-committee-type-pac {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 1094, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-type-badge.sg-committee-type-measure {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 1100, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-status {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 4px;
}

/* line 1108, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-status.sg-status-active {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 1113, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-status.sg-status-terminated {
  background-color: #E5E7EB;
  color: #4B5563;
}

/* line 1119, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-header-ids {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 1128, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-id {
  font-family: monospace;
  color: #4B5563;
}

/* line 1133, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-id-separator {
  color: #B8BFC7;
}

/* line 1137, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-filed {
  color: #9CA3AF;
}

/* line 1141, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-terminated-date {
  color: #9CA3AF;
}

/* line 1145, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-header-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.75rem 0;
  line-height: 1.3;
}

@media (max-width: 768px) {
  /* line 1145, app/assets/stylesheets/_sg_headers.scss */
  .sg-committee-header-name {
    font-size: 1.125rem;
  }
}

/* line 1156, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-terminated .sg-committee-header-name {
  color: #4B5563;
}

/* line 1161, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-header-context {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
}

/* line 1170, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-candidate,
.sg-committee-office {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 1177, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-context-label {
  color: #9CA3AF;
}

/* line 1181, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-candidate-name,
.sg-committee-office-name,
.sg-committee-measure-name {
  color: #1F5C96;
  text-decoration: none;
  font-weight: 500;
}

/* line 1188, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-candidate-name:hover,
.sg-committee-office-name:hover,
.sg-committee-measure-name:hover {
  text-decoration: underline;
  color: #123B66;
}

/* line 1194, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-candidate-name-plain,
.sg-committee-office-name-plain,
.sg-committee-measure-name-plain {
  color: #1F2933;
  font-weight: 500;
}

/* line 1201, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-candidate-party {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 4px;
}

/* line 1211, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-candidate-party.sg-party-democrat {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 1216, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-candidate-party.sg-party-republican {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 1222, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-position-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 4px;
}

/* line 1230, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-position-badge.sg-position-support {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 1235, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-position-badge.sg-position-oppose {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 1241, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-header-elections {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 1248, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-elections-label {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1253, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-elections-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

/* line 1259, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-election-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.625rem;
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 1270, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-election-link:hover {
  background-color: #F3F4F6;
  border-color: #D1D5DB;
}

/* line 1276, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-election-date {
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 1282, app/assets/stylesheets/_sg_headers.scss */
.sg-committee-election-type {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 14, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-overview {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 21, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-overview-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 32, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-overview-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 39, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-time-selector {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 45, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-time-label {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 50, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-time-chips {
  display: flex;
  gap: 0.25rem;
}

/* line 55, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-time-chip {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 66, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-time-chip:hover {
  border-color: #D1D5DB;
  background-color: #F9FAFB;
}

/* line 71, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-time-chip.active {
  background-color: #1F5C96;
  border-color: #1F5C96;
  color: #FFFFFF;
}

/* line 78, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-time-select {
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  cursor: pointer;
}

/* line 87, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-time-select:focus {
  outline: none;
  border-color: #1F5C96;
}

/* line 94, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background-color: #E5E7EB;
}

@media (max-width: 992px) {
  /* line 94, app/assets/stylesheets/_sg_campaign_finance.scss */
  .sg-financial-cards {
    grid-template-columns: 1fr;
  }
}

/* line 105, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-card {
  padding: 1.25rem;
  background-color: #FFFFFF;
}

@media (max-width: 992px) {
  /* line 105, app/assets/stylesheets/_sg_campaign_finance.scss */
  .sg-financial-card {
    border-bottom: 1px solid #E5E7EB;
  }
  /* line 112, app/assets/stylesheets/_sg_campaign_finance.scss */
  .sg-financial-card:last-child {
    border-bottom: none;
  }
}

/* line 118, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-card-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 125, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 6px;
  font-size: 0.875rem;
}

/* line 134, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-raised .sg-financial-card-icon {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 139, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-spent .sg-financial-card-icon {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 144, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-position .sg-financial-card-icon {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 150, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-card-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 156, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-year-badge {
  margin-left: auto;
  padding: 0.125rem 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #123B66;
  background-color: #E4EEF8;
  border-radius: 4px;
}

/* line 166, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-card-amount {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 0.75rem;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 768px) {
  /* line 166, app/assets/stylesheets/_sg_campaign_finance.scss */
  .sg-financial-card-amount {
    font-size: 1.25rem;
  }
}

/* line 178, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-card-details {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding-top: 0.75rem;
  border-top: 1px solid #F3F4F6;
}

/* line 186, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-detail-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 192, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-detail-label {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 197, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-detail-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 203, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-detail-value.sg-has-debt {
  color: #9B2331;
}

/* line 207, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-detail-value.sg-no-debt {
  color: #B8BFC7;
  font-weight: 400;
}

/* line 213, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-card-footer {
  margin-top: 0.75rem;
  padding-top: 0.5rem;
}

/* line 218, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-period {
  font-size: 0.75rem;
  color: #B8BFC7;
}

/* line 228, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-compact .sg-financial-overview-header {
  padding: 0.75rem 1rem;
}

/* line 232, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-compact .sg-financial-overview-title {
  font-size: 0.875rem;
}

/* line 237, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-compact-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background-color: #E5E7EB;
}

@media (max-width: 576px) {
  /* line 237, app/assets/stylesheets/_sg_campaign_finance.scss */
  .sg-financial-compact-grid {
    grid-template-columns: 1fr;
  }
}

/* line 248, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-compact-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.875rem 1rem;
  background-color: #FFFFFF;
}

/* line 256, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-compact-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 261, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-compact-amount {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 267, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-compact-amount.sg-has-debt {
  color: #9B2331;
}

/* line 271, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-raised .sg-financial-compact-amount {
  color: #1F6B4E;
}

/* line 275, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-spent .sg-financial-compact-amount {
  color: #C4681A;
}

/* line 280, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-financial-compact-footer {
  padding: 0.5rem 1rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 291, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filings-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 298, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filings-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 309, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filings-card-title-group {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 315, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filings-card-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 322, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filings-card-badge {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #F3F4F6;
  border-radius: 4px;
}

/* line 331, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filings-view-all {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  transition: color 0.15s ease;
}

/* line 341, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filings-view-all:hover {
  color: #123B66;
}

/* line 345, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filings-view-all i {
  font-size: 0.75rem;
}

/* line 350, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filings-list {
  display: flex;
  flex-direction: column;
}

/* line 355, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 364, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-item:last-child {
  border-bottom: none;
}

/* line 368, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-item:hover {
  background-color: #F9FAFB;
}

/* line 373, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-info {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

/* line 379, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-period {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 385, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-period-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 390, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-period-dates {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 396, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 402, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-date {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 407, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-type {
  font-size: 0.75rem;
  font-weight: 500;
  color: #123B66;
  background-color: #F4F7FC;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
}

/* line 416, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-actions {
  display: flex;
  gap: 0.5rem;
}

/* line 421, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-action-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 432, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-action-btn.sg-filing-view {
  color: #123B66;
  background-color: #F4F7FC;
  border: 1px solid #E4EEF8;
}

/* line 437, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-action-btn.sg-filing-view:hover {
  background-color: #E4EEF8;
  border-color: #A3C4E0;
}

/* line 443, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-action-btn.sg-filing-download {
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
}

/* line 448, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-action-btn.sg-filing-download:hover {
  background-color: #F9FAFB;
  border-color: #D1D5DB;
}

/* line 455, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filings-card-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 461, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filings-footer-note {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 468, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filings-compact .sg-filings-card-header {
  padding: 0.75rem 1rem;
}

/* line 472, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filings-compact .sg-filings-card-title {
  font-size: 0.875rem;
}

/* line 477, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-item-compact {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #F3F4F6;
  text-decoration: none;
  color: inherit;
  transition: background-color 0.15s ease;
}

/* line 487, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-item-compact:last-child {
  border-bottom: none;
}

/* line 491, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-item-compact:hover {
  background-color: #F9FAFB;
}

/* line 495, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-item-compact i {
  color: #B8BFC7;
  font-size: 0.875rem;
}

/* line 501, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-compact-info {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 507, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-compact-period {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 513, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filing-compact-date {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 518, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filings-compact-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 532, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filings-compact-footer:hover {
  color: #123B66;
}

/* line 536, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-filings-compact-footer i {
  font-size: 0.75rem;
}

/* line 546, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 553, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 564, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-card-title-group {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 570, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-card-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 577, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-card-badge {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #C4681A;
  background-color: #FDF0E3;
  border-radius: 4px;
}

/* line 586, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-total {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 592, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-total-label {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 597, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-total-amount {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F6B4E;
  font-variant-numeric: tabular-nums;
}

/* line 604, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-notice {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background-color: #F4F7FC;
  border-bottom: 1px solid #E5E7EB;
  font-size: 0.75rem;
  color: #123B66;
}

/* line 614, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-notice i {
  font-size: 0.875rem;
}

/* line 619, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-list {
  display: flex;
  flex-direction: column;
}

/* line 624, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contribution-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 633, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contribution-item:last-child {
  border-bottom: none;
}

/* line 637, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contribution-item:hover {
  background-color: #F9FAFB;
}

/* line 642, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contribution-info {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 648, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contribution-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
}

/* line 654, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contribution-name:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 660, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contribution-date {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 665, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contribution-amount {
  font-size: 1rem;
  font-weight: 700;
  color: #1F6B4E;
  font-variant-numeric: tabular-nums;
}

/* line 672, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-card-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 678, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-view-all {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 688, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-view-all:hover {
  color: #123B66;
}

/* line 692, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-view-all i {
  font-size: 0.75rem;
}

/* line 698, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 2.5rem 1.25rem;
  text-align: center;
}

/* line 707, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-empty i {
  font-size: 1.875rem;
  color: #D1D5DB;
}

/* line 712, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-empty p {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
  max-width: 280px;
}

/* line 722, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-compact .sg-contributions-card-header {
  padding: 0.75rem 1rem;
}

/* line 726, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-compact .sg-contributions-card-title {
  font-size: 0.875rem;
}

/* line 731, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-total-compact {
  font-size: 1rem;
  font-weight: 700;
  color: #1F6B4E;
  font-variant-numeric: tabular-nums;
}

/* line 738, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contribution-item-compact {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 745, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contribution-item-compact:last-child {
  border-bottom: none;
}

/* line 750, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contribution-name-compact {
  font-size: 0.875rem;
  color: #4B5563;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 200px;
}

/* line 759, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contribution-amount-compact {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F6B4E;
  font-variant-numeric: tabular-nums;
}

/* line 766, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-compact-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 780, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-compact-footer:hover {
  color: #123B66;
}

/* line 784, app/assets/stylesheets/_sg_campaign_finance.scss */
.sg-contributions-compact-footer i {
  font-size: 0.75rem;
}

/* line 14, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-page {
  background-color: #f8fafc;
  min-height: 100vh;
}

/* line 19, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-header {
  background: linear-gradient(135deg, #0B2742 0%, #123B66 100%);
  color: #FFFFFF;
  padding: 2.5rem 0;
  margin-bottom: 0;
}

/* line 25, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-header h1 {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 0.375rem;
  letter-spacing: -0.025em;
}

/* line 32, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-header p {
  font-size: 0.875rem;
  opacity: 0.85;
  margin-bottom: 0;
  max-width: 600px;
}

/* line 39, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-header .sg-back-link {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.875rem;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-bottom: 1rem;
  transition: color 0.15s ease;
}

/* line 49, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-header .sg-back-link:hover {
  color: #FFFFFF;
}

/* line 59, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-filters {
  background: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
  padding: 0.875rem 0;
  position: sticky;
  top: 0;
  z-index: 100;
}

/* line 68, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-filter-pills {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  padding-bottom: 2px;
}

/* line 74, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-filter-pills::-webkit-scrollbar {
  height: 0;
}

/* line 79, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  background: #F3F4F6;
  border: 2px solid transparent;
  border-radius: 100px;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
}

/* line 94, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-filter-pill i {
  font-size: 0.875rem;
  opacity: 0.7;
}

/* line 99, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-filter-pill:hover {
  background: #E5E7EB;
  color: #323C47;
}

/* line 104, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-filter-pill.active {
  background: #123B66;
  color: #FFFFFF;
  border-color: #123B66;
}

/* line 109, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-filter-pill.active i {
  opacity: 1;
}

/* line 119, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-timeline {
  padding: 2rem 0 4rem;
}

/* line 123, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-timeline-section {
  margin-bottom: 2.5rem;
}

/* line 126, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-timeline-section:last-child {
  margin-bottom: 0;
}

/* line 131, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-timeline-date {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9CA3AF;
  margin-bottom: 1rem;
  padding-left: 0.25rem;
}

/* line 141, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-timeline-items {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 151, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-item {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 1.25rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
  position: relative;
  overflow: hidden;
}

/* line 160, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-item:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  transform: translateY(-1px);
}

/* line 167, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: #D1D5DB;
}

/* line 177, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-item--contribution::before {
  background: #127A7A;
}

/* line 178, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-item--candidate::before {
  background: #8b5cf6;
}

/* line 179, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-item--major-donor::before {
  background: #f59e0b;
}

/* line 180, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-item--f460::before {
  background: #1F5C96;
}

/* line 181, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-item--ie-support::before {
  background: #10b981;
}

/* line 182, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-item--ie-oppose::before {
  background: #ef4444;
}

/* line 188, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

/* line 195, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-type-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.25rem 0.625rem;
  border-radius: 4px;
}

/* line 206, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-type-badge i {
  font-size: 0.75rem;
}

/* line 211, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-type-badge--contribution {
  background: rgba(18, 122, 122, 0.12);
  color: #127A7A;
}

/* line 216, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-type-badge--candidate {
  background: rgba(139, 92, 246, 0.12);
  color: #7c3aed;
}

/* line 221, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-type-badge--major-donor {
  background: rgba(245, 158, 11, 0.12);
  color: #d97706;
}

/* line 226, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-type-badge--f460 {
  background: rgba(31, 92, 150, 0.12);
  color: #123B66;
}

/* line 231, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-type-badge--ie {
  background: rgba(156, 163, 175, 0.12);
  color: #6B7280;
}

/* line 236, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-timestamp {
  font-size: 0.75rem;
  color: #B8BFC7;
}

/* line 245, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-amount {
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.025em;
  margin-bottom: 0.25rem;
}

/* line 253, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-amount--teal {
  color: #0d9488;
}

/* line 254, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-amount--green {
  color: #059669;
}

/* line 255, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-amount--red {
  color: #dc2626;
}

/* line 256, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-amount--amber {
  color: #d97706;
}

/* line 257, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-amount--neutral {
  color: #323C47;
}

/* line 259, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-amount-label {
  font-size: 0.6875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.875rem;
}

/* line 267, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-amount-label--received {
  color: #0d9488;
}

/* line 268, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-amount-label--gave {
  color: #9CA3AF;
}

/* line 269, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-amount-label--support {
  color: #059669;
}

/* line 270, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-amount-label--oppose {
  color: #dc2626;
}

/* line 271, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-amount-label--donated {
  color: #d97706;
}

/* line 277, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-entity-primary {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 0.125rem;
  line-height: 1.3;
}

/* line 284, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-entity-primary a {
  color: inherit;
  text-decoration: none;
}

/* line 288, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-entity-primary a:hover {
  color: #1F5C96;
}

/* line 294, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-entity-secondary {
  font-size: 0.875rem;
  color: #9CA3AF;
  line-height: 1.4;
}

/* line 299, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-entity-secondary a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 303, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-entity-secondary a:hover {
  text-decoration: underline;
}

/* line 308, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-entity-secondary strong {
  color: #4B5563;
  font-weight: 500;
}

/* line 314, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-entity-meta {
  font-size: 0.75rem;
  color: #B8BFC7;
  margin-top: 0.25rem;
}

/* line 324, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-action-indicator {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  font-weight: 700;
  padding: 0.375rem 0.75rem;
  border-radius: 6px;
  margin-bottom: 0.625rem;
}

/* line 335, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-action-indicator--support {
  background: rgba(16, 185, 129, 0.1);
  color: #059669;
}

/* line 339, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-action-indicator--support i {
  color: #10b981;
}

/* line 342, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-action-indicator--oppose {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
}

/* line 346, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-action-indicator--oppose i {
  color: #ef4444;
}

/* line 353, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-candidate-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 0.25rem;
  letter-spacing: -0.01em;
}

/* line 360, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-candidate-name a {
  color: inherit;
  text-decoration: none;
}

/* line 364, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-candidate-name a:hover {
  color: #1F5C96;
}

/* line 370, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-candidate-office {
  font-size: 0.875rem;
  color: #6B7280;
  margin-bottom: 0.5rem;
}

/* line 376, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-party-tag {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

/* line 386, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-party-tag--dem {
  background: rgba(37, 99, 235, 0.1);
  color: #1d4ed8;
}

/* line 391, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-party-tag--rep {
  background: rgba(220, 38, 38, 0.1);
  color: #b91c1c;
}

/* line 396, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-party-tag--npf {
  background: #F3F4F6;
  color: #6B7280;
}

/* line 405, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-financial-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  margin: 0.75rem 0;
}

/* line 415, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-financial-cell {
  background: #FFFFFF;
  padding: 0.75rem 0.5rem;
  text-align: center;
}

/* line 421, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-financial-value {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.25rem;
}

/* line 428, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-financial-value--raised {
  color: #059669;
}

/* line 429, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-financial-value--spent {
  color: #dc2626;
}

/* line 430, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-financial-value--debt {
  color: #d97706;
}

/* line 431, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-financial-value--cash {
  color: #4B5563;
}

/* line 433, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-financial-label {
  font-size: 0.625rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #B8BFC7;
}

/* line 445, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-feed-item-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1rem;
  padding-top: 0.875rem;
  border-top: 1px solid #F3F4F6;
}

/* line 454, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-item-actions {
  display: flex;
  gap: 0.375rem;
}

/* line 459, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  background: transparent;
  border: 1px solid #E5E7EB;
  padding: 0.375rem 0.75rem;
  border-radius: 6px;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 474, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-action-btn i {
  font-size: 0.8125rem;
}

/* line 478, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-action-btn:hover {
  background: #F9FAFB;
  border-color: #D1D5DB;
  color: #4B5563;
}

/* line 485, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-amendment-badge {
  font-size: 0.625rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #9CA3AF;
  background: #F3F4F6;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

/* line 500, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-target {
  margin-bottom: 0.5rem;
}

/* line 504, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-target-name {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 0.125rem;
}

/* line 510, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-target-name a {
  color: inherit;
  text-decoration: none;
}

/* line 514, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-target-name a:hover {
  color: #1F5C96;
}

/* line 520, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-target-context {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 529, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-category-info {
  background: #FFFFFF;
  border-left: 3px solid #3A7AB8;
  border-radius: 0 8px 8px 0;
  padding: 1rem 1.25rem;
  margin-bottom: 1.5rem;
}

/* line 536, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-category-info p {
  font-size: 0.875rem;
  color: #6B7280;
  margin: 0;
  line-height: 1.6;
}

/* line 548, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-impl-notes {
  background: linear-gradient(135deg, #E4EEF8 0%, #F3F4F6 100%);
  border-radius: 12px;
  padding: 1.5rem 2rem;
  margin-top: 3rem;
}

/* line 554, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-impl-notes h3 {
  font-size: 1rem;
  font-weight: 700;
  color: #123B66;
  margin-bottom: 1rem;
}

/* line 561, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-impl-notes ul {
  margin: 0;
  padding-left: 1.25rem;
}

/* line 565, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-impl-notes ul li {
  font-size: 0.875rem;
  color: #6B7280;
  margin-bottom: 0.5rem;
  line-height: 1.5;
}

/* line 571, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-impl-notes ul li:last-child {
  margin-bottom: 0;
}

/* line 575, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-impl-notes ul li code {
  background: #FFFFFF;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
  font-size: 0.8125rem;
  color: #123B66;
}

/* line 590, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-external-link-card {
  background: linear-gradient(135deg, #E4EEF8 0%, #FFFFFF 100%);
  border: 2px solid #A3C4E0;
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  text-decoration: none;
  transition: all 0.15s ease;
  max-width: 400px;
}

/* line 603, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-external-link-card:hover {
  border-color: #3A7AB8;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

/* line 609, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-external-link-card .sg-external-link-content {
  flex: 1;
}

/* line 612, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-external-link-card .sg-external-link-content h4 {
  font-size: 1rem;
  font-weight: 500;
  color: #123B66;
  margin-bottom: 0.125rem;
}

/* line 619, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-external-link-card .sg-external-link-content p {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-bottom: 0;
}

/* line 626, app/assets/stylesheets/_sg_activity_feed.scss */
.sg-external-link-card .sg-external-link-icon {
  font-size: 1.25rem;
  color: #3A7AB8;
}

@media (max-width: 640px) {
  /* line 637, app/assets/stylesheets/_sg_activity_feed.scss */
  .sg-feed-header {
    padding: 1.5rem 0;
  }
  /* line 640, app/assets/stylesheets/_sg_activity_feed.scss */
  .sg-feed-header h1 {
    font-size: 1.375rem;
  }
  /* line 645, app/assets/stylesheets/_sg_activity_feed.scss */
  .sg-financial-strip {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 649, app/assets/stylesheets/_sg_activity_feed.scss */
  .sg-amount {
    font-size: 1.625rem;
  }
  /* line 653, app/assets/stylesheets/_sg_activity_feed.scss */
  .sg-feed-item {
    padding: 1rem;
  }
  /* line 657, app/assets/stylesheets/_sg_activity_feed.scss */
  .sg-feed-item-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
}

/* line 10, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-intro {
  font-size: 0.875rem;
  color: #4B5563;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}

/* line 16, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-intro p {
  margin: 0;
}

/* line 21, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-list {
  margin: 0;
  padding-left: 1.25rem;
  font-size: 0.875rem;
  color: #4B5563;
  line-height: 1.8;
}

/* line 28, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-list li {
  margin-bottom: 0.5rem;
}

/* line 31, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-list li:last-child {
  margin-bottom: 0;
}

/* line 35, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-list li strong {
  color: #1F2933;
}

/* line 39, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-list li code {
  background-color: #F3F4F6;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
  font-size: 0.75rem;
  color: #123B66;
}

/* line 49, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-rules {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 55, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-rule {
  padding: 1rem;
  border-radius: 6px;
  border: 1px solid;
}

/* line 60, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-rule .sg-instructions-rule-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
  margin-bottom: 0.375rem;
}

/* line 67, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-rule .sg-instructions-rule-header i {
  font-size: 1rem;
}

/* line 71, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-rule .sg-instructions-rule-header code {
  background-color: rgba(0, 0, 0, 0.05);
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
  font-size: 0.75rem;
}

/* line 79, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-rule p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.5;
}

/* line 86, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-rule-danger {
  background-color: #F8F0F1;
  border-color: rgba(155, 35, 49, 0.2);
}

/* line 90, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-rule-danger .sg-instructions-rule-header {
  color: #9B2331;
}

/* line 94, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-rule-danger p {
  color: #4B5563;
}

/* line 99, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-rule-success {
  background-color: #EDF4F0;
  border-color: rgba(31, 107, 78, 0.2);
}

/* line 103, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-rule-success .sg-instructions-rule-header {
  color: #1F6B4E;
}

/* line 107, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-rule-success p {
  color: #4B5563;
}

/* line 112, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-rule-info {
  background-color: #EDF3F8;
  border-color: rgba(29, 94, 150, 0.2);
}

/* line 116, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-rule-info .sg-instructions-rule-header {
  color: #1D5E96;
}

/* line 120, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-rule-info p {
  color: #4B5563;
}

/* line 125, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-paths {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 131, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-path {
  padding: 1rem;
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
}

/* line 137, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-path .sg-instructions-path-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

/* line 143, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-path .sg-instructions-path-header code {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 150, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-path p {
  margin: 0 0 0.5rem;
  font-size: 0.875rem;
  color: #4B5563;
  line-height: 1.5;
}

/* line 156, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-path p strong {
  color: #1F2933;
}

/* line 161, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-path .sg-instructions-example {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 165, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-path .sg-instructions-example strong {
  color: #6B7280;
}

/* line 169, app/assets/stylesheets/_sg_instructions.scss */
.sg-instructions .sg-instructions-path .sg-instructions-example code {
  background-color: #F3F4F6;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
  color: #123B66;
}

/* line 11, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-electoral-history {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* line 20, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 29, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  gap: 1rem;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

/* line 38, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card-header:hover {
  background-color: #F9FAFB;
}

/* line 43, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card-header.expanded {
  border-bottom: 1px solid #E5E7EB;
}

/* line 46, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card-header.expanded .sg-history-toggle-icon {
  transform: rotate(180deg);
}

/* line 52, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card-left {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
  min-width: 0;
}

/* line 60, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card-info {
  flex: 1;
  min-width: 0;
}

/* line 65, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-office {
  font-weight: 500;
  font-size: 1rem;
  color: #1F2933;
  margin: 0;
  line-height: 1.3;
}

/* line 73, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
  flex-wrap: wrap;
}

/* line 81, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-date {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 87, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-election-type-badge {
  font-size: 0.65rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 0.125rem 0.5rem;
  border-radius: 4px;
}

/* line 95, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-election-type-badge.sg-type-primary {
  background-color: #EDF3F8;
  color: #1D5E96;
}

/* line 100, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-election-type-badge.sg-type-general {
  background-color: #E5E7EB;
  color: #4B5563;
}

/* line 105, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-election-type-badge.sg-type-special {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 110, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-election-type-badge.sg-type-runoff {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 117, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-outcome-badge {
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 126, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-outcome-badge .bi {
  font-size: 0.75rem;
}

/* line 130, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-outcome-badge.sg-outcome-won {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 135, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-outcome-badge.sg-outcome-advanced {
  background-color: #EDF3F8;
  color: #1D5E96;
}

/* line 140, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-outcome-badge.sg-outcome-lost {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 147, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 154, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-toggle-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  color: #9CA3AF;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 167, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-toggle-btn:hover {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 173, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-toggle-icon {
  font-size: 1rem;
  transition: transform 0.2s ease;
}

/* line 182, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card-body {
  display: none;
}

/* line 185, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card-body.expanded {
  display: block;
}

/* line 191, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-subject {
  position: relative;
}

/* line 194, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-subject::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background-color: #1F5C96;
}

/* line 204, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-subject .sg-candidate-name {
  font-weight: 700;
}

/* line 211, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card .sg-candidate-info {
  flex: 0 0 220px;
}

/* line 215, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card .sg-candidate-name {
  flex-wrap: nowrap;
  white-space: nowrap;
}

/* line 220, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card .sg-candidate-meta {
  flex-wrap: nowrap;
  white-space: nowrap;
}

/* line 225, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card .sg-candidate-row {
  padding-left: 1.5rem;
}

/* line 230, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card .sg-history-subject .sg-candidate-row, .sg-history-card .sg-history-subject.sg-candidate-row {
  padding-left: calc(1.5rem - 3px);
}

/* line 237, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card .sg-election-results-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
}

/* line 243, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card .sg-election-results-turnout {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 247, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-history-card .sg-election-results-turnout strong {
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 255, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-result-indicator {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
  margin-left: 0.5rem;
}

/* line 264, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-result-indicator.sg-indicator-winner {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 269, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-result-indicator.sg-indicator-advanced {
  background-color: #EDF3F8;
  color: #1D5E96;
}

@media (max-width: 768px) {
  /* line 279, app/assets/stylesheets/_sg_electoral_history.scss */
  .sg-history-card-header {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
  /* line 285, app/assets/stylesheets/_sg_electoral_history.scss */
  .sg-history-card-left {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 291, app/assets/stylesheets/_sg_electoral_history.scss */
  .sg-history-actions {
    justify-content: flex-end;
  }
  /* line 296, app/assets/stylesheets/_sg_electoral_history.scss */
  .sg-history-card .sg-candidate-info {
    flex: 0 0 160px;
  }
  /* line 300, app/assets/stylesheets/_sg_electoral_history.scss */
  .sg-history-card .sg-candidate-name,
.sg-history-card .sg-candidate-meta {
    white-space: normal;
    flex-wrap: wrap;
  }
}

/* line 313, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-electoral-history-filters .sg-segmented-control {
  flex-wrap: wrap;
}

/* line 324, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-electoral-history-in-card .sg-history-card {
  background: #F9FAFB;
  border-color: #E5E7EB;
  box-shadow: none;
}

/* line 329, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-electoral-history-in-card .sg-history-card:hover {
  background: #F3F4F6;
}

/* line 335, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-electoral-history-in-card .sg-history-card-header:hover {
  background-color: #F3F4F6;
}

/* line 339, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-electoral-history-in-card .sg-history-card-header.expanded {
  border-bottom-color: #E5E7EB;
}

/* line 344, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-electoral-history-in-card .sg-history-card-body {
  background: #FFFFFF;
}

/* line 349, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-electoral-history-in-card .sg-candidate-row:hover {
  background-color: #F9FAFB;
}

/* line 353, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-electoral-history-in-card .sg-candidate-row.winner {
  background-color: #EDF4F0;
}

/* line 356, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-electoral-history-in-card .sg-candidate-row.winner:hover {
  background-color: #e7f0eb;
}

/* line 362, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-electoral-history-in-card .sg-election-results-footer {
  background-color: #F9FAFB;
  border-top-color: #E5E7EB;
}

/* line 368, app/assets/stylesheets/_sg_electoral_history.scss */
.sg-electoral-history-in-card .sg-history-toggle-btn:hover {
  background-color: #F3F4F6;
}

/* line 11, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-list {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 19, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 27, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-list-header h3 {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 35, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-count {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 43, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  gap: 1rem;
  border-bottom: 1px solid #F3F4F6;
  transition: background-color 0.15s ease;
}

/* line 52, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-row:last-child {
  border-bottom: none;
}

/* line 56, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-row:hover {
  background-color: #F9FAFB;
}

/* line 61, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-info {
  flex: 1;
  min-width: 0;
}

/* line 66, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #1F2933;
  margin: 0 0 0.25rem 0;
  line-height: 1.3;
}

/* line 73, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-name a {
  color: inherit;
  text-decoration: none;
}

/* line 77, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-name a:hover {
  color: #1F5C96;
}

/* line 83, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 90, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-election {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 98, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-status {
  font-size: 0.65rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
}

/* line 106, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-status.sg-status-active {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 111, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-status.sg-status-terminated {
  background-color: #F3F4F6;
  color: #9CA3AF;
}

/* line 120, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-stats {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-shrink: 0;
}

/* line 127, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-cash {
  text-align: right;
  min-width: 100px;
}

/* line 132, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-cash-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  display: block;
  margin-bottom: 0.125rem;
}

/* line 139, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-cash-amount {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 145, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-cash-amount.sg-cash-zero {
  color: #B8BFC7;
}

/* line 150, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-link {
  color: #1F5C96;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
}

/* line 157, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 167, app/assets/stylesheets/_sg_committees.scss */
.sg-election-committee-row .sg-committee-info {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
}

/* line 174, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-election-info {
  flex: 0 0 140px;
  width: 140px;
}

/* line 179, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-year {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 186, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-office {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin: 0;
  line-height: 1.4;
}

/* line 193, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-details {
  flex: 1;
  min-width: 0;
}

/* line 201, app/assets/stylesheets/_sg_committees.scss */
.sg-committee-empty {
  padding: 2rem 1.25rem;
  text-align: center;
  color: #9CA3AF;
  font-size: 0.875rem;
}

@media (max-width: 768px) {
  /* line 212, app/assets/stylesheets/_sg_committees.scss */
  .sg-committee-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
  /* line 218, app/assets/stylesheets/_sg_committees.scss */
  .sg-committee-stats {
    justify-content: space-between;
  }
  /* line 222, app/assets/stylesheets/_sg_committees.scss */
  .sg-committee-cash {
    text-align: left;
  }
  /* line 227, app/assets/stylesheets/_sg_committees.scss */
  .sg-election-committee-row .sg-committee-info {
    flex-direction: column;
    gap: 0.5rem;
  }
}

/* line 14, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-page {
  background-color: #FFFFFF;
  min-height: 100vh;
}

/* line 19, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-header {
  background: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
  padding: 2rem 0 1.5rem;
}

/* line 24, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-header h1 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 0.25rem;
  letter-spacing: -0.01em;
}

/* line 32, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-header .sg-blog-header-sub {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

/* line 38, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-header .sg-blog-back-link {
  color: #9CA3AF;
  text-decoration: none;
  font-size: 0.875rem;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-bottom: 1rem;
  transition: color 0.15s ease;
}

/* line 48, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-header .sg-blog-back-link:hover {
  color: #323C47;
}

/* line 58, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-filter-row {
  background: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
  padding: 0.75rem 0;
  position: sticky;
  top: 0;
  z-index: 100;
}

/* line 66, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-filter-row .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 74, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-filter-group {
  display: flex;
  gap: 0.25rem;
}

/* line 79, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-filter {
  padding: 0.375rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #9CA3AF;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 90, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-filter:hover {
  color: #323C47;
  background: #F3F4F6;
}

/* line 95, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-filter.active {
  color: #1F2933;
  background: #F3F4F6;
  font-weight: 500;
}

/* line 102, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-subscribe-cta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 109, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-subscribe-cta i {
  font-size: 1rem;
}

/* line 113, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-subscribe-cta a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 117, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-subscribe-cta a:hover {
  text-decoration: underline;
}

/* line 127, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-list {
  padding: 1rem 0;
}

/* line 131, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-row {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: 0.875rem 0;
  border-bottom: 1px solid #F3F4F6;
  text-decoration: none;
  transition: background 0.15s ease;
}

/* line 141, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-row:hover {
  background: #F9FAFB;
  margin-left: -1rem;
  margin-right: -1rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* line 149, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-row:last-child {
  border-bottom: none;
}

/* line 154, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-row-category {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0.25rem 0.5rem;
  border-radius: 3px;
  text-align: center;
  white-space: nowrap;
}

/* line 165, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-row-category--elections {
  background: rgba(31, 92, 150, 0.1);
  color: #123B66;
}

/* line 170, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-row-category--money {
  background: rgba(18, 122, 122, 0.1);
  color: #127A7A;
}

/* line 175, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-row-category--data {
  background: rgba(245, 158, 11, 0.1);
  color: #b45309;
}

/* line 180, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-row-category--product {
  background: rgba(139, 92, 246, 0.1);
  color: #6d28d9;
}

/* line 185, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-row-title {
  font-size: 1rem;
  font-weight: 500;
  color: #323C47;
  line-height: 1.4;
}

/* line 192, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-row-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.75rem;
  color: #B8BFC7;
  white-space: nowrap;
}

/* line 201, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-row-date {
  min-width: 50px;
}

/* line 205, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-row-read {
  color: #D1D5DB;
}

/* line 213, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 0 3rem;
  border-top: 1px solid #F3F4F6;
  margin-top: 0.5rem;
}

/* line 222, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-pager-info {
  font-size: 0.875rem;
  color: #B8BFC7;
}

/* line 227, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-pager-nav {
  display: flex;
  gap: 0.5rem;
}

/* line 232, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-pager-btn {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  color: #6B7280;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 246, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-pager-btn:hover:not(:disabled) {
  background: #F3F4F6;
  border-color: #D1D5DB;
}

/* line 251, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-pager-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* line 261, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article {
  max-width: 720px;
  padding: 2rem 0 3rem;
}

/* line 270, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-header {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 276, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

/* line 282, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-nav .sg-blog-back-link {
  color: #9CA3AF;
  text-decoration: none;
  font-size: 0.875rem;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  transition: color 0.15s ease;
}

/* line 291, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-nav .sg-blog-back-link:hover {
  color: #323C47;
}

/* line 297, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-category {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0.25rem 0.625rem;
  border-radius: 3px;
}

/* line 306, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-category--elections {
  background: rgba(31, 92, 150, 0.1);
  color: #123B66;
}

/* line 311, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-category--money {
  background: rgba(18, 122, 122, 0.1);
  color: #127A7A;
}

/* line 316, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-category--data {
  background: rgba(245, 158, 11, 0.1);
  color: #b45309;
}

/* line 321, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-category--product {
  background: rgba(139, 92, 246, 0.1);
  color: #6d28d9;
}

/* line 326, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-title {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #1F2933;
  margin: 0 0 1rem;
}

/* line 335, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-meta {
  font-size: 0.875rem;
  color: #9CA3AF;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 344, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-meta-sep {
  color: #D1D5DB;
}

/* line 356, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-lede {
  font-size: 1.25rem;
  font-weight: 500;
  color: #4B5563;
  line-height: 1.6;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 367, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-body p {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #4B5563;
  margin-bottom: 1.5rem;
}

/* line 374, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-body h2 {
  font-size: 1.375rem;
  font-weight: 700;
  color: #1F2933;
  margin: 2.5rem 0 1rem;
  letter-spacing: -0.01em;
}

/* line 382, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-body h3 {
  font-size: 1.125rem;
  font-weight: 500;
  color: #323C47;
  margin: 2rem 0 0.875rem;
}

/* line 389, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-body ul, .sg-blog-article-body ol {
  margin-bottom: 1.5rem;
  padding-left: 0;
  list-style: none;
}

/* line 394, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-body ul li, .sg-blog-article-body ol li {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #4B5563;
  margin-bottom: 0.625rem;
  padding-left: 1.5rem;
  position: relative;
}

/* line 402, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-body ul li::before, .sg-blog-article-body ol li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.75rem;
  width: 6px;
  height: 6px;
  background: #D1D5DB;
  border-radius: 50%;
}

/* line 413, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-body ul li strong, .sg-blog-article-body ol li strong {
  color: #1F2933;
  font-weight: 500;
}

/* line 420, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-body a {
  color: #1F5C96;
  text-decoration: underline;
  text-decoration-color: rgba(31, 92, 150, 0.3);
  text-underline-offset: 2px;
}

/* line 426, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-body a:hover {
  text-decoration-color: #1F5C96;
}

/* line 436, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-figure {
  margin: 2.5rem 0;
}

/* line 439, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-figure figcaption {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-top: 0.75rem;
  line-height: 1.5;
}

/* line 447, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-figure--wide {
  margin-left: -2rem;
  margin-right: -2rem;
}

@media (max-width: 768px) {
  /* line 447, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-figure--wide {
    margin-left: -1rem;
    margin-right: -1rem;
  }
}

/* line 457, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-chart-placeholder {
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 2rem;
}

/* line 464, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-chart-mock {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 470, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-chart-bar {
  height: 2.5rem;
  border-radius: 4px;
  display: flex;
  align-items: center;
  padding: 0 1rem;
}

/* line 477, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-chart-bar span {
  font-size: 0.875rem;
  font-weight: 600;
  color: #FFFFFF;
}

/* line 485, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

/* line 490, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-table th, .sg-blog-table td {
  padding: 0.75rem 1rem;
  text-align: left;
  border-bottom: 1px solid #E5E7EB;
}

/* line 496, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-table th {
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  background: #F9FAFB;
}

/* line 505, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-table td {
  color: #4B5563;
}

/* line 509, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-table tbody tr:hover {
  background: #F9FAFB;
}

/* line 514, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-table-positive {
  color: #059669;
  font-weight: 600;
}

/* line 519, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-table-negative {
  color: #dc2626;
  font-weight: 600;
}

/* line 525, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-callout {
  background: #1F2933;
  border-radius: 8px;
  padding: 2rem;
  margin: 2.5rem 0;
  text-align: center;
}

/* line 533, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-callout-stat {
  font-size: 3rem;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1;
  margin-bottom: 0.5rem;
  letter-spacing: -0.02em;
}

/* line 542, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-callout-label {
  font-size: 0.875rem;
  color: #B8BFC7;
}

/* line 551, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-footer {
  border-top: 1px solid #E5E7EB;
  padding-top: 1.5rem;
  margin-top: 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 562, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-share {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 567, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-share > span {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 572, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-share a {
  color: #B8BFC7;
  font-size: 1.125rem;
  transition: color 0.15s ease;
}

/* line 577, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-share a:hover {
  color: #4B5563;
}

/* line 583, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-subscribe {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 590, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-subscribe i {
  font-size: 1rem;
}

/* line 594, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-subscribe a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 598, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-article-subscribe a:hover {
  text-decoration: underline;
}

/* line 608, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-more {
  background: #F9FAFB;
  padding: 3rem 0;
  border-top: 1px solid #E5E7EB;
}

/* line 614, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-more-title {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 1.25rem;
}

/* line 621, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-more-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 627, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-more-item {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: 0.875rem 0;
  border-bottom: 1px solid #E5E7EB;
  text-decoration: none;
  transition: background 0.15s ease;
}

/* line 637, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-more-item:hover {
  background: #F3F4F6;
  margin-left: -1rem;
  margin-right: -1rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* line 645, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-more-item:last-child {
  border-bottom: none;
}

/* line 650, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-more-item-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #323C47;
  line-height: 1.4;
}

/* line 657, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-more-item-date {
  font-size: 0.75rem;
  color: #B8BFC7;
}

/* line 662, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-more-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
}

/* line 672, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-more-link:hover {
  text-decoration: underline;
}

/* line 676, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-more-link i {
  font-size: 0.875rem;
}

/* line 685, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-impl-notes {
  background: linear-gradient(135deg, #E4EEF8 0%, #F3F4F6 100%);
  border-radius: 12px;
  padding: 1.5rem 2rem;
  margin: 3rem 0;
}

/* line 691, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-impl-notes h3 {
  font-size: 1rem;
  font-weight: 700;
  color: #123B66;
  margin-bottom: 1rem;
}

/* line 698, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-impl-notes ul {
  margin: 0;
  padding-left: 1.25rem;
  list-style: disc;
}

/* line 703, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-impl-notes ul li {
  font-size: 0.875rem;
  color: #6B7280;
  margin-bottom: 0.5rem;
  line-height: 1.5;
}

/* line 709, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-impl-notes ul li::before {
  display: none;
}

/* line 713, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-impl-notes ul li:last-child {
  margin-bottom: 0;
}

/* line 717, app/assets/stylesheets/_sg_blog.scss */
.sg-blog-impl-notes ul li code {
  background: #FFFFFF;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
  font-size: 0.8125rem;
  color: #123B66;
}

@media (max-width: 768px) {
  /* line 733, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-filter-row .container {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  /* line 739, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-filter-group {
    overflow-x: auto;
    width: 100%;
    padding-bottom: 0.25rem;
  }
  /* line 745, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-row {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  /* line 750, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-row-category {
    justify-self: start;
  }
  /* line 754, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-row-meta {
    justify-self: start;
  }
  /* line 758, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-article-title {
    font-size: 1.75rem;
  }
  /* line 762, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-lede {
    font-size: 1.125rem;
  }
  /* line 766, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-callout-stat {
    font-size: 2.25rem;
  }
  /* line 770, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-more-item {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  /* line 775, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-more-item-date {
    justify-self: start;
  }
}

@media (max-width: 480px) {
  /* line 781, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-header {
    padding: 1.5rem 0 1rem;
  }
  /* line 784, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-header h1 {
    font-size: 1.25rem;
  }
  /* line 789, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-article-header {
    padding: 1.5rem 0 2rem;
  }
  /* line 793, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-article-title {
    font-size: 1.5rem;
  }
  /* line 797, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-article-body {
    padding: 2rem 0;
  }
  /* line 800, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-article-body p, .sg-blog-article-body li {
    font-size: 1rem;
  }
  /* line 805, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-table {
    font-size: 0.75rem;
  }
  /* line 808, app/assets/stylesheets/_sg_blog.scss */
  .sg-blog-table th, .sg-blog-table td {
    padding: 0.5rem 0.625rem;
  }
}

/* line 13, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.25rem 1.5rem;
  overflow: hidden;
}

/* line 21, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-row {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

/* line 28, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #E4EEF8;
  border-radius: 6px;
  flex-shrink: 0;
}

/* line 38, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-icon i {
  font-size: 1rem;
  color: #123B66;
}

/* line 44, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-text {
  flex: 1 1 250px;
  min-width: 0;
}

/* line 49, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-heading {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0 0 0.25rem 0;
}

/* line 56, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-description {
  font-size: 0.75rem;
  color: #9CA3AF;
  line-height: 1.5;
  margin: 0;
}

/* line 63, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 70, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-buttons {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 76, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-secondary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding-left: 0.75rem;
  border-left: 1px solid #E5E7EB;
}

/* line 84, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
  border: 1px solid transparent;
  white-space: nowrap;
}

/* line 97, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-btn i {
  font-size: 0.875rem;
}

/* line 103, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-btn-campaigns {
  background-color: #1F5C96;
  color: #FFFFFF;
  border-color: #1F5C96;
}

/* line 108, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-btn-campaigns:hover {
  background-color: #123B66;
  border-color: #123B66;
  color: #FFFFFF;
}

/* line 115, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-btn-government {
  background-color: #1F6B4E;
  color: #FFFFFF;
  border-color: #1F6B4E;
}

/* line 120, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-btn-government:hover {
  background-color: #164b37;
  border-color: #164b37;
  color: #FFFFFF;
}

/* line 127, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-btn-professionals {
  background-color: #4B5563;
  color: #FFFFFF;
  border-color: #4B5563;
}

/* line 132, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-btn-professionals:hover {
  background-color: #1F2933;
  border-color: #1F2933;
  color: #FFFFFF;
}

/* line 139, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-btn-primary {
  background-color: #1F5C96;
  color: #FFFFFF;
  border-color: #1F5C96;
}

/* line 144, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-btn-primary:hover {
  background-color: #123B66;
  border-color: #123B66;
  color: #FFFFFF;
}

/* line 151, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-explore-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
  white-space: nowrap;
}

/* line 166, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-explore-btn i {
  color: #9CA3AF;
  font-size: 0.875rem;
}

/* line 171, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-explore-btn:hover {
  background-color: #F9FAFB;
  border-color: #B8BFC7;
  color: #1F2933;
}

/* line 178, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  transition: color 0.15s ease;
  white-space: nowrap;
}

/* line 189, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-link i {
  font-size: 0.625rem;
  transition: transform 0.15s ease;
}

/* line 194, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-link:hover {
  color: #123B66;
}

/* line 197, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-link:hover i {
  transform: translateX(2px);
}

/* line 208, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-tinted {
  background: #E4EEF8;
  border: 1px solid #A3C4E0;
  border-left: 3px solid #1F5C96;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 214, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-tinted .sg-subscription-prompt-description {
  color: #4B5563;
}

/* line 218, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-tinted .sg-subscription-prompt-secondary {
  border-left-color: #A3C4E0;
}

/* line 222, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-tinted .sg-subscription-explore-btn {
  background-color: #FFFFFF;
  border-color: #A3C4E0;
}

/* line 226, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-tinted .sg-subscription-explore-btn:hover {
  background-color: #F9FAFB;
  border-color: #4C7FB5;
}

/* line 237, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-compact {
  padding: 1.5rem;
  max-width: 100%;
}

/* line 241, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-compact .sg-subscription-prompt-icon {
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 1rem;
}

/* line 246, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-compact .sg-subscription-prompt-icon i {
  font-size: 1.125rem;
}

/* line 251, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-compact .sg-subscription-prompt-heading {
  font-size: 1.125rem;
  margin-bottom: 0.5rem;
}

/* line 256, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-compact .sg-subscription-prompt-description {
  font-size: 0.875rem;
  margin-bottom: 1.25rem;
}

/* line 261, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-prompt-compact .sg-subscription-prompt-buttons {
  margin-bottom: 1rem;
}

/* line 270, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background-color: #F4F7FC;
  border: 1px solid #E4EEF8;
  border-radius: 8px;
}

/* line 282, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-banner-content {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}

/* line 288, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-banner-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  background-color: #E4EEF8;
  border-radius: 6px;
  flex-shrink: 0;
}

/* line 298, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-banner-icon i {
  font-size: 1rem;
  color: #123B66;
}

/* line 304, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-banner-text {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 310, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-banner-heading {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 316, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-banner-description {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 321, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-banner-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 327, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-banner-btn-primary {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #FFFFFF;
  background-color: #1F5C96;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 339, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-banner-btn-primary:hover {
  background-color: #123B66;
  color: #FFFFFF;
}

/* line 345, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-banner-btn-secondary {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #123B66;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 358, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-banner-btn-secondary:hover {
  background-color: #F9FAFB;
  border-color: #D1D5DB;
}

/* line 365, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-banner-tinted {
  background-color: #E4EEF8;
  border: 1px solid #A3C4E0;
  border-left: 3px solid #1F5C96;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 371, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-banner-tinted .sg-subscription-banner-description {
  color: #4B5563;
}

/* line 375, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-banner-tinted .sg-subscription-banner-btn-secondary {
  background-color: #FFFFFF;
  border-color: #A3C4E0;
}

/* line 379, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-banner-tinted .sg-subscription-banner-btn-secondary:hover {
  background-color: #F9FAFB;
  border-color: #4C7FB5;
}

/* line 390, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-overlay-demo {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  min-height: 280px;
}

/* line 397, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-overlay-bg {
  position: absolute;
  inset: 0;
  background-color: #F3F4F6;
  filter: blur(2px);
}

/* line 404, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-overlay-fake-content {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 411, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-fake-row {
  height: 2.5rem;
  background: linear-gradient(90deg, #E5E7EB 0%, #F3F4F6 50%, #E5E7EB 100%);
  border-radius: 4px;
}

/* line 417, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(4px);
}

/* line 427, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-overlay-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.5rem 2rem;
  text-align: center;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  max-width: 360px;
}

/* line 436, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-overlay-card .sg-subscription-prompt-icon {
  margin-bottom: 1rem;
}

/* line 440, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-overlay-card .sg-subscription-prompt-heading {
  font-size: 1.125rem;
  margin-bottom: 0.5rem;
}

/* line 445, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-overlay-card .sg-subscription-prompt-description {
  margin-bottom: 1rem;
}

/* line 449, app/assets/stylesheets/_sg_subscription_prompt.scss */
.sg-subscription-overlay-card .sg-subscription-prompt-buttons {
  margin-bottom: 0;
}

@media (max-width: 992px) {
  /* line 459, app/assets/stylesheets/_sg_subscription_prompt.scss */
  .sg-subscription-prompt-secondary {
    border-left: none;
    padding-left: 0;
  }
  /* line 464, app/assets/stylesheets/_sg_subscription_prompt.scss */
  .sg-subscription-prompt-actions {
    width: 100%;
    justify-content: flex-start;
    margin-top: 0.5rem;
  }
}

@media (max-width: 768px) {
  /* line 472, app/assets/stylesheets/_sg_subscription_prompt.scss */
  .sg-subscription-prompt-row {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
  }
  /* line 479, app/assets/stylesheets/_sg_subscription_prompt.scss */
  .sg-subscription-prompt-text {
    flex: none;
    width: 100%;
  }
  /* line 484, app/assets/stylesheets/_sg_subscription_prompt.scss */
  .sg-subscription-prompt-actions {
    justify-content: center;
  }
  /* line 488, app/assets/stylesheets/_sg_subscription_prompt.scss */
  .sg-subscription-prompt-buttons {
    justify-content: center;
  }
  /* line 492, app/assets/stylesheets/_sg_subscription_prompt.scss */
  .sg-subscription-prompt-secondary {
    justify-content: center;
  }
}

@media (max-width: 576px) {
  /* line 498, app/assets/stylesheets/_sg_subscription_prompt.scss */
  .sg-subscription-prompt-actions {
    flex-direction: column;
    gap: 1rem;
  }
  /* line 503, app/assets/stylesheets/_sg_subscription_prompt.scss */
  .sg-subscription-prompt-buttons {
    flex-direction: column;
    width: 100%;
  }
  /* line 507, app/assets/stylesheets/_sg_subscription_prompt.scss */
  .sg-subscription-prompt-buttons .sg-subscription-btn {
    width: 100%;
    justify-content: center;
  }
  /* line 513, app/assets/stylesheets/_sg_subscription_prompt.scss */
  .sg-subscription-prompt-secondary {
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
  }
  /* line 519, app/assets/stylesheets/_sg_subscription_prompt.scss */
  .sg-subscription-explore-btn {
    width: 100%;
    justify-content: center;
  }
  /* line 524, app/assets/stylesheets/_sg_subscription_prompt.scss */
  .sg-subscription-banner {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
  /* line 530, app/assets/stylesheets/_sg_subscription_prompt.scss */
  .sg-subscription-banner-content {
    flex-direction: column;
    text-align: center;
  }
  /* line 535, app/assets/stylesheets/_sg_subscription_prompt.scss */
  .sg-subscription-banner-actions {
    flex-direction: column;
    width: 100%;
  }
  /* line 539, app/assets/stylesheets/_sg_subscription_prompt.scss */
  .sg-subscription-banner-actions a {
    width: 100%;
    justify-content: center;
  }
}

/* line 14, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-feed {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 21, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 32, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-title-group {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 38, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-title {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 45, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-badge {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #C4681A;
  background-color: #FDF0E3;
  border-radius: 4px;
}

/* line 54, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-view-all {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  transition: color 0.15s ease;
}

/* line 64, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-view-all:hover {
  color: #123B66;
}

/* line 68, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-view-all i {
  font-size: 0.75rem;
}

/* line 73, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-list {
  display: flex;
  flex-direction: column;
}

/* line 78, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-item {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
  transition: background-color 0.15s ease;
}

/* line 83, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-item:last-child {
  border-bottom: none;
}

/* line 87, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-item:hover {
  background-color: #F9FAFB;
}

/* line 92, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-main {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 98, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-flow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.5;
}

/* line 107, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-contributor-group {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  flex-wrap: wrap;
}

/* line 114, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-entity {
  font-weight: 500;
  color: #1F2933;
}

/* line 118, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-entity.sg-late-contrib-contributor {
  color: #1F2933;
}

/* line 122, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-entity.sg-late-contrib-recipient {
  color: #1F5C96;
}

/* line 127, app/assets/stylesheets/_sg_late_contributions.scss */
a.sg-late-contrib-entity {
  text-decoration: none;
}

/* line 130, app/assets/stylesheets/_sg_late_contributions.scss */
a.sg-late-contrib-entity:hover {
  text-decoration: underline;
}

/* line 134, app/assets/stylesheets/_sg_late_contributions.scss */
a.sg-late-contrib-entity.sg-late-contrib-contributor:hover {
  color: #123B66;
}

/* line 139, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-action {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: #9CA3AF;
}

/* line 146, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-gave {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 151, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-amount {
  font-weight: 700;
  color: #1F6B4E;
  font-variant-numeric: tabular-nums;
}

/* line 157, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 164, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-date {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 170, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-type {
  display: inline-block;
  padding: 0.125rem 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 4px;
}

/* line 177, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-type.sg-late-contrib-type-committee {
  color: #123B66;
  background-color: #E4EEF8;
}

/* line 182, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-type.sg-late-contrib-type-individual {
  color: #127A7A;
  background-color: #E2F5F5;
}

/* line 187, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-type.sg-late-contrib-type-business {
  color: #C4681A;
  background-color: #FDF0E3;
}

/* line 192, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-type.sg-late-contrib-type-self {
  color: #4B5563;
  background-color: #F3F4F6;
}

/* line 203, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table-wrapper {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 210, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 219, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-count {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 224, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

/* line 229, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table thead {
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 233, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table thead th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-weight: 500;
  font-size: 0.75rem;
  color: #4B5563;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* line 242, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table thead th:first-child {
  padding-left: 1.25rem;
}

/* line 246, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table thead th:last-child {
  padding-right: 1.25rem;
}

/* line 253, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table tbody tr {
  border-bottom: 1px solid #F3F4F6;
  transition: background-color 0.15s ease;
}

/* line 257, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table tbody tr:last-child {
  border-bottom: none;
}

/* line 261, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table tbody tr:hover {
  background-color: #F9FAFB;
}

/* line 266, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table tbody td {
  padding: 0.875rem 1rem;
  color: #1F2933;
  vertical-align: middle;
}

/* line 271, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table tbody td:first-child {
  padding-left: 1.25rem;
}

/* line 275, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table tbody td:last-child {
  padding-right: 1.25rem;
}

/* line 282, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table-link {
  color: #1F5C96;
  text-decoration: none;
  font-weight: 500;
}

/* line 287, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 293, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table-amount {
  font-weight: 700;
  color: #1F6B4E;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* line 300, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-table-date {
  color: #9CA3AF;
  white-space: nowrap;
}

/* line 310, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 317, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 326, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-card-date {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 331, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-card-body {
  padding: 1rem;
}

/* line 335, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-card-row {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 341, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-card-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* line 349, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-card-value {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  font-size: 0.875rem;
  color: #1F2933;
}

/* line 356, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-card-value a {
  color: #1F5C96;
  text-decoration: none;
  font-weight: 500;
}

/* line 361, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-card-value a:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 368, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-card-divider {
  height: 1px;
  background-color: #F3F4F6;
  margin: 0.875rem 0;
}

/* line 374, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-card-amount-row {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

/* line 380, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-card-amount {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1F6B4E;
  font-variant-numeric: tabular-nums;
}

/* line 392, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-compact {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 399, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-compact-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 408, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-compact-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 415, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-compact-count {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.5rem;
  padding: 0 0.375rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #FFFFFF;
  background-color: #1F5C96;
  border-radius: 9999px;
}

/* line 429, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-compact-list {
  display: flex;
  flex-direction: column;
}

/* line 434, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-compact-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid #F3F4F6;
  text-decoration: none;
  color: inherit;
  transition: background-color 0.15s ease;
}

/* line 444, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-compact-item:last-child {
  border-bottom: none;
}

/* line 448, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-compact-item:hover {
  background-color: #F9FAFB;
}

/* line 453, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-compact-info {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
  flex: 1;
}

/* line 461, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-compact-contributor {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 470, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-compact-recipient {
  font-size: 0.75rem;
  color: #9CA3AF;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 478, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-compact-amount {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F6B4E;
  font-variant-numeric: tabular-nums;
  margin-left: 0.75rem;
  flex-shrink: 0;
}

/* line 487, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-compact-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.75rem 1rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 501, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-compact-footer:hover {
  color: #123B66;
}

/* line 505, app/assets/stylesheets/_sg_late_contributions.scss */
.sg-late-contrib-compact-footer i {
  font-size: 0.75rem;
}

/* line 12, app/assets/stylesheets/_electoral_history.scss */
.eh-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

/* line 18, app/assets/stylesheets/_electoral_history.scss */
.eh-header h3 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 25, app/assets/stylesheets/_electoral_history.scss */
.eh-header small {
  color: #9CA3AF;
  font-size: 0.875rem;
}

/* line 34, app/assets/stylesheets/_electoral_history.scss */
.eh-filters {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 39, app/assets/stylesheets/_electoral_history.scss */
.eh-filters .bb-segmented-control {
  flex-wrap: wrap;
}

/* line 47, app/assets/stylesheets/_electoral_history.scss */
.eh-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 56, app/assets/stylesheets/_electoral_history.scss */
.eh-history-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 63, app/assets/stylesheets/_electoral_history.scss */
.eh-history-card[hidden] {
  display: none;
}

/* line 69, app/assets/stylesheets/_electoral_history.scss */
.eh-history-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  gap: 1rem;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

/* line 78, app/assets/stylesheets/_electoral_history.scss */
.eh-history-card-header:hover {
  background-color: #F9FAFB;
}

/* line 83, app/assets/stylesheets/_electoral_history.scss */
.eh-history-card-header.expanded {
  border-bottom: 1px solid #E5E7EB;
}

/* line 86, app/assets/stylesheets/_electoral_history.scss */
.eh-history-card-header.expanded .eh-history-toggle-icon {
  transform: rotate(180deg);
}

/* line 92, app/assets/stylesheets/_electoral_history.scss */
.eh-history-card-left {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
  min-width: 0;
}

/* line 101, app/assets/stylesheets/_electoral_history.scss */
.eh-outcome-badge-wrapper {
  flex: 0 0 100px;
  width: 100px;
  display: flex;
  justify-content: flex-start;
}

/* line 108, app/assets/stylesheets/_electoral_history.scss */
.eh-history-card-info {
  flex: 1;
  min-width: 0;
}

/* line 113, app/assets/stylesheets/_electoral_history.scss */
.eh-history-office {
  font-weight: 500;
  font-size: 0.875rem;
  color: #1F2933;
  margin: 0;
  line-height: 1.3;
}

/* line 121, app/assets/stylesheets/_electoral_history.scss */
.eh-history-jurisdiction {
  display: block;
  font-size: 0.75rem;
  color: #6B7280;
  margin-bottom: 0.25rem;
}

/* line 128, app/assets/stylesheets/_electoral_history.scss */
.eh-history-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
  flex-wrap: wrap;
}

/* line 136, app/assets/stylesheets/_electoral_history.scss */
.eh-history-date {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 144, app/assets/stylesheets/_electoral_history.scss */
.eh-election-type-badge {
  font-size: 0.65rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 0.125rem 0.5rem;
  border-radius: 4px;
}

/* line 152, app/assets/stylesheets/_electoral_history.scss */
.eh-election-type-badge.eh-type-primary {
  background-color: #EDF3F8;
  color: #1D5E96;
}

/* line 157, app/assets/stylesheets/_electoral_history.scss */
.eh-election-type-badge.eh-type-general {
  background-color: #E5E7EB;
  color: #4B5563;
}

/* line 162, app/assets/stylesheets/_electoral_history.scss */
.eh-election-type-badge.eh-type-special {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 167, app/assets/stylesheets/_electoral_history.scss */
.eh-election-type-badge.eh-type-runoff {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 176, app/assets/stylesheets/_electoral_history.scss */
.eh-outcome-badge {
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
}

/* line 186, app/assets/stylesheets/_electoral_history.scss */
.eh-outcome-badge .bi {
  font-size: 0.75rem;
}

/* line 190, app/assets/stylesheets/_electoral_history.scss */
.eh-outcome-badge.eh-outcome-won {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 195, app/assets/stylesheets/_electoral_history.scss */
.eh-outcome-badge.eh-outcome-advanced {
  background-color: #EDF3F8;
  color: #1D5E96;
}

/* line 200, app/assets/stylesheets/_electoral_history.scss */
.eh-outcome-badge.eh-outcome-lost {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 209, app/assets/stylesheets/_electoral_history.scss */
.eh-history-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 216, app/assets/stylesheets/_electoral_history.scss */
.eh-history-toggle-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  color: #9CA3AF;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 229, app/assets/stylesheets/_electoral_history.scss */
.eh-history-toggle-btn:hover {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 235, app/assets/stylesheets/_electoral_history.scss */
.eh-history-toggle-icon {
  font-size: 1rem;
  transition: transform 0.2s ease;
}

/* line 243, app/assets/stylesheets/_electoral_history.scss */
.eh-history-card-body {
  display: none;
}

/* line 246, app/assets/stylesheets/_electoral_history.scss */
.eh-history-card-body.expanded {
  display: block;
}

/* line 254, app/assets/stylesheets/_electoral_history.scss */
.eh-candidate-row {
  display: flex;
  align-items: center;
  padding: 0.75rem 1.25rem;
  gap: 1rem;
  border-bottom: 1px solid #F3F4F6;
  transition: background-color 0.15s ease;
}

/* line 262, app/assets/stylesheets/_electoral_history.scss */
.eh-candidate-row:last-child {
  border-bottom: none;
}

/* line 266, app/assets/stylesheets/_electoral_history.scss */
.eh-candidate-row:hover {
  background-color: #F9FAFB;
}

/* line 270, app/assets/stylesheets/_electoral_history.scss */
.eh-candidate-row.winner {
  background-color: #EDF4F0;
}

/* line 273, app/assets/stylesheets/_electoral_history.scss */
.eh-candidate-row.winner:hover {
  background-color: #e4eee8;
}

/* line 280, app/assets/stylesheets/_electoral_history.scss */
.eh-history-subject {
  position: relative;
  padding-left: calc(1.25rem + 3px);
}

/* line 284, app/assets/stylesheets/_electoral_history.scss */
.eh-history-subject::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background-color: #1F5C96;
}

/* line 294, app/assets/stylesheets/_electoral_history.scss */
.eh-history-subject .eh-candidate-name a {
  font-weight: 700;
}

/* line 299, app/assets/stylesheets/_electoral_history.scss */
.eh-candidate-info {
  flex: 0 0 200px;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-wrap: nowrap;
}

/* line 308, app/assets/stylesheets/_electoral_history.scss */
.eh-candidate-name {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-weight: 500;
  font-size: 0.875rem;
  color: #1F2933;
  flex-wrap: nowrap;
  white-space: nowrap;
}

/* line 318, app/assets/stylesheets/_electoral_history.scss */
.eh-candidate-name a {
  color: #1F2933;
  text-decoration: none;
}

/* line 322, app/assets/stylesheets/_electoral_history.scss */
.eh-candidate-name a:hover {
  color: #1F5C96;
}

/* line 328, app/assets/stylesheets/_electoral_history.scss */
.eh-winner-icon {
  color: #1F6B4E;
  font-size: 0.875rem;
}

/* line 333, app/assets/stylesheets/_electoral_history.scss */
.eh-advanced-icon {
  color: #1F5C96;
  font-size: 0.875rem;
}

/* line 338, app/assets/stylesheets/_electoral_history.scss */
.eh-incumbent-marker {
  color: #9CA3AF;
  font-size: 0.75rem;
}

/* line 343, app/assets/stylesheets/_electoral_history.scss */
.eh-candidate-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
  flex-wrap: nowrap;
  white-space: nowrap;
}

/* line 355, app/assets/stylesheets/_electoral_history.scss */
.eh-party-badge {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 363, app/assets/stylesheets/_electoral_history.scss */
.eh-party-badge.eh-party-dem {
  background-color: rgba(31, 92, 150, 0.15);
  color: #1F5C96;
}

/* line 368, app/assets/stylesheets/_electoral_history.scss */
.eh-party-badge.eh-party-rep {
  background-color: rgba(155, 35, 49, 0.15);
  color: #9B2331;
}

/* line 373, app/assets/stylesheets/_electoral_history.scss */
.eh-party-badge.eh-party-nonpartisan, .eh-party-badge.eh-party-npp {
  background-color: #E5E7EB;
  color: #4B5563;
}

/* line 379, app/assets/stylesheets/_electoral_history.scss */
.eh-party-badge.eh-party-green {
  background-color: rgba(34, 139, 34, 0.15);
  color: #228B22;
}

/* line 384, app/assets/stylesheets/_electoral_history.scss */
.eh-party-badge.eh-party-libertarian {
  background-color: rgba(255, 193, 7, 0.15);
  color: #B8860B;
}

/* line 390, app/assets/stylesheets/_electoral_history.scss */
.eh-incumbent-badge {
  font-size: 0.65rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
  background-color: #E5E7EB;
  color: #6B7280;
}

/* line 404, app/assets/stylesheets/_electoral_history.scss */
.eh-candidate-results {
  flex: 1 1 200px;
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 150px;
}

/* line 412, app/assets/stylesheets/_electoral_history.scss */
.eh-vote-count {
  flex: 0 0 80px;
  text-align: right;
  font-size: 0.875rem;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  color: #4B5563;
}

/* line 421, app/assets/stylesheets/_electoral_history.scss */
.eh-vote-bar-wrapper {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

/* line 429, app/assets/stylesheets/_electoral_history.scss */
.eh-vote-bar {
  flex: 1;
  height: 18px;
  background-color: #F3F4F6;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
}

/* line 438, app/assets/stylesheets/_electoral_history.scss */
.eh-vote-bar-fill {
  height: 100%;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 0.5rem;
  transition: width 0.3s ease;
}

/* line 448, app/assets/stylesheets/_electoral_history.scss */
.eh-vote-bar-fill.eh-party-dem {
  background-color: #1F5C96;
}

/* line 452, app/assets/stylesheets/_electoral_history.scss */
.eh-vote-bar-fill.eh-party-rep {
  background-color: #9B2331;
}

/* line 456, app/assets/stylesheets/_electoral_history.scss */
.eh-vote-bar-fill.eh-party-nonpartisan, .eh-vote-bar-fill.eh-party-npp {
  background-color: #9CA3AF;
}

/* line 461, app/assets/stylesheets/_electoral_history.scss */
.eh-vote-bar-fill.eh-party-green {
  background-color: #228B22;
}

/* line 465, app/assets/stylesheets/_electoral_history.scss */
.eh-vote-bar-fill.eh-party-libertarian {
  background-color: #B8860B;
}

/* line 470, app/assets/stylesheets/_electoral_history.scss */
.eh-vote-percentage {
  font-size: 0.75rem;
  font-weight: 600;
  color: #FFFFFF;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* line 477, app/assets/stylesheets/_electoral_history.scss */
.eh-vote-percentage-outside {
  font-size: 0.75rem;
  font-weight: 600;
  color: #4B5563;
  flex-shrink: 0;
}

/* line 487, app/assets/stylesheets/_electoral_history.scss */
.eh-result-indicator {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
  margin-left: 0.5rem;
}

/* line 496, app/assets/stylesheets/_electoral_history.scss */
.eh-result-indicator.eh-indicator-winner {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 501, app/assets/stylesheets/_electoral_history.scss */
.eh-result-indicator.eh-indicator-advanced {
  background-color: #EDF3F8;
  color: #1D5E96;
}

/* line 510, app/assets/stylesheets/_electoral_history.scss */
.eh-election-results-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 520, app/assets/stylesheets/_electoral_history.scss */
.eh-election-results-turnout {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 524, app/assets/stylesheets/_electoral_history.scss */
.eh-election-results-turnout strong {
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 768px) {
  /* line 534, app/assets/stylesheets/_electoral_history.scss */
  .eh-history-card-header {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
  /* line 540, app/assets/stylesheets/_electoral_history.scss */
  .eh-history-card-left {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 547, app/assets/stylesheets/_electoral_history.scss */
  .eh-outcome-badge-wrapper {
    flex: none;
    width: auto;
  }
  /* line 552, app/assets/stylesheets/_electoral_history.scss */
  .eh-history-actions {
    justify-content: space-between;
    width: 100%;
  }
  /* line 557, app/assets/stylesheets/_electoral_history.scss */
  .eh-candidate-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
  /* line 563, app/assets/stylesheets/_electoral_history.scss */
  .eh-candidate-info {
    flex: none;
    width: 100%;
  }
  /* line 568, app/assets/stylesheets/_electoral_history.scss */
  .eh-candidate-name,
.eh-candidate-meta {
    white-space: normal;
    flex-wrap: wrap;
  }
  /* line 574, app/assets/stylesheets/_electoral_history.scss */
  .eh-candidate-results {
    flex: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
  /* line 581, app/assets/stylesheets/_electoral_history.scss */
  .eh-vote-count {
    flex: none;
    text-align: left;
    order: -1;
  }
  /* line 587, app/assets/stylesheets/_electoral_history.scss */
  .eh-vote-bar-wrapper {
    width: 100%;
  }
}

/* line 598, app/assets/stylesheets/_electoral_history.scss */
.eh-in-card .eh-history-card {
  background: #F9FAFB;
  border: none;
  border-radius: 8px;
  box-shadow: none;
}

/* line 606, app/assets/stylesheets/_electoral_history.scss */
.eh-in-card .eh-history-card-header:hover {
  background-color: #F3F4F6;
}

/* line 610, app/assets/stylesheets/_electoral_history.scss */
.eh-in-card .eh-history-card-header.expanded {
  border-bottom: 1px solid #E5E7EB;
}

/* line 616, app/assets/stylesheets/_electoral_history.scss */
.eh-in-card .eh-candidate-row:hover {
  background-color: #F3F4F6;
}

/* line 620, app/assets/stylesheets/_electoral_history.scss */
.eh-in-card .eh-candidate-row.winner {
  background-color: #EDF4F0;
}

/* line 623, app/assets/stylesheets/_electoral_history.scss */
.eh-in-card .eh-candidate-row.winner:hover {
  background-color: #e4eee8;
}

/* line 629, app/assets/stylesheets/_electoral_history.scss */
.eh-in-card .eh-election-results-footer {
  background-color: #F3F4F6;
}

/* line 12, app/assets/stylesheets/_committees.scss */
.cm-committee-list {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 20, app/assets/stylesheets/_committees.scss */
.cm-committee-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  background-color: #F9FAFB;
}

/* line 28, app/assets/stylesheets/_committees.scss */
.cm-committee-list-header h3 {
  font-size: 1rem;
  font-weight: 600;
  color: #1F2933;
  margin: 0;
}

/* line 36, app/assets/stylesheets/_committees.scss */
.cm-committee-count {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 44, app/assets/stylesheets/_committees.scss */
.cm-committee-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  gap: 1rem;
  border-bottom: 1px solid #F3F4F6;
  transition: background-color 0.15s ease;
}

/* line 53, app/assets/stylesheets/_committees.scss */
.cm-committee-row:last-child {
  border-bottom: none;
}

/* line 57, app/assets/stylesheets/_committees.scss */
.cm-committee-row:hover {
  background-color: #F9FAFB;
}

/* line 62, app/assets/stylesheets/_committees.scss */
.cm-committee-info {
  flex: 1;
  min-width: 0;
}

/* line 67, app/assets/stylesheets/_committees.scss */
.cm-committee-name {
  font-weight: 600;
  font-size: 0.875rem;
  color: #1F2933;
  margin: 0 0 0.25rem 0;
  line-height: 1.3;
}

/* line 74, app/assets/stylesheets/_committees.scss */
.cm-committee-name a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 78, app/assets/stylesheets/_committees.scss */
.cm-committee-name a:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 85, app/assets/stylesheets/_committees.scss */
.cm-committee-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 95, app/assets/stylesheets/_committees.scss */
.cm-committee-status {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
}

/* line 103, app/assets/stylesheets/_committees.scss */
.cm-committee-status.cm-status-active {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 108, app/assets/stylesheets/_committees.scss */
.cm-committee-status.cm-status-terminated {
  background-color: #F3F4F6;
  color: #9CA3AF;
}

/* line 117, app/assets/stylesheets/_committees.scss */
.cm-committee-stats {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-shrink: 0;
}

/* line 124, app/assets/stylesheets/_committees.scss */
.cm-committee-cash {
  text-align: right;
  min-width: 100px;
}

/* line 129, app/assets/stylesheets/_committees.scss */
.cm-committee-cash-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  display: block;
  margin-bottom: 0.125rem;
}

/* line 136, app/assets/stylesheets/_committees.scss */
.cm-committee-cash-amount {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 142, app/assets/stylesheets/_committees.scss */
.cm-committee-cash-amount.cm-cash-zero {
  color: #B8BFC7;
}

/* line 147, app/assets/stylesheets/_committees.scss */
.cm-committee-link {
  color: #1F5C96;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
}

/* line 154, app/assets/stylesheets/_committees.scss */
.cm-committee-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 163, app/assets/stylesheets/_committees.scss */
.cm-committee-election-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin: 0 0 0.25rem 0;
  line-height: 1.4;
}

/* line 173, app/assets/stylesheets/_committees.scss */
.cm-committee-empty {
  padding: 2rem 1.25rem;
  text-align: center;
  color: #9CA3AF;
  font-size: 0.875rem;
}

@media (max-width: 768px) {
  /* line 184, app/assets/stylesheets/_committees.scss */
  .cm-committee-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
  /* line 190, app/assets/stylesheets/_committees.scss */
  .cm-committee-stats {
    justify-content: space-between;
  }
  /* line 194, app/assets/stylesheets/_committees.scss */
  .cm-committee-cash {
    text-align: left;
  }
}

/* line 19, app/assets/stylesheets/_utilities.scss */
.text-primary {
  color: #1F5C96 !important;
}

/* line 20, app/assets/stylesheets/_utilities.scss */
.text-primary-dark {
  color: #123B66 !important;
}

/* line 21, app/assets/stylesheets/_utilities.scss */
.text-primary-light {
  color: #4C7FB5 !important;
}

/* line 24, app/assets/stylesheets/_utilities.scss */
.text-body {
  color: #1F2933 !important;
}

/* line 25, app/assets/stylesheets/_utilities.scss */
.text-secondary {
  color: #4B5563 !important;
}

/* line 26, app/assets/stylesheets/_utilities.scss */
.text-muted {
  color: #9CA3AF !important;
}

/* line 27, app/assets/stylesheets/_utilities.scss */
.text-light {
  color: #B8BFC7 !important;
}

/* line 28, app/assets/stylesheets/_utilities.scss */
.text-white {
  color: #FFFFFF !important;
}

/* line 31, app/assets/stylesheets/_utilities.scss */
.text-success {
  color: #1F6B4E !important;
}

/* line 32, app/assets/stylesheets/_utilities.scss */
.text-warning {
  color: #8A6A06 !important;
}

/* line 33, app/assets/stylesheets/_utilities.scss */
.text-danger {
  color: #9B2331 !important;
}

/* line 34, app/assets/stylesheets/_utilities.scss */
.text-info {
  color: #1D5E96 !important;
}

/* line 37, app/assets/stylesheets/_utilities.scss */
.text-teal {
  color: #127A7A !important;
}

/* line 38, app/assets/stylesheets/_utilities.scss */
.text-orange {
  color: #C4681A !important;
}

/* line 45, app/assets/stylesheets/_utilities.scss */
.bg-primary-050 {
  background-color: #F4F7FC !important;
}

/* line 46, app/assets/stylesheets/_utilities.scss */
.bg-primary-100 {
  background-color: #E4EEF8 !important;
}

/* line 47, app/assets/stylesheets/_utilities.scss */
.bg-primary-500 {
  background-color: #1F5C96 !important;
}

/* line 48, app/assets/stylesheets/_utilities.scss */
.bg-primary-700 {
  background-color: #123B66 !important;
}

/* line 49, app/assets/stylesheets/_utilities.scss */
.bg-primary-800 {
  background-color: #0B2742 !important;
}

/* line 52, app/assets/stylesheets/_utilities.scss */
.bg-white {
  background-color: #FFFFFF !important;
}

/* line 53, app/assets/stylesheets/_utilities.scss */
.bg-neutral-000 {
  background-color: #FFFFFF !important;
}

/* line 54, app/assets/stylesheets/_utilities.scss */
.bg-neutral-050 {
  background-color: #F9FAFB !important;
}

/* line 55, app/assets/stylesheets/_utilities.scss */
.bg-neutral-100 {
  background-color: #F3F4F6 !important;
}

/* line 56, app/assets/stylesheets/_utilities.scss */
.bg-neutral-200 {
  background-color: #E5E7EB !important;
}

/* line 59, app/assets/stylesheets/_utilities.scss */
.bg-success-100 {
  background-color: #EDF4F0 !important;
}

/* line 60, app/assets/stylesheets/_utilities.scss */
.bg-warning-100 {
  background-color: #F8F5ED !important;
}

/* line 61, app/assets/stylesheets/_utilities.scss */
.bg-danger-100 {
  background-color: #F8F0F1 !important;
}

/* line 62, app/assets/stylesheets/_utilities.scss */
.bg-info-100 {
  background-color: #EDF3F8 !important;
}

/* line 65, app/assets/stylesheets/_utilities.scss */
.bg-teal-100 {
  background-color: #E2F5F5 !important;
}

/* line 66, app/assets/stylesheets/_utilities.scss */
.bg-orange-100 {
  background-color: #FDF0E3 !important;
}

/* line 72, app/assets/stylesheets/_utilities.scss */
.border-neutral-100 {
  border-color: #F3F4F6 !important;
}

/* line 73, app/assets/stylesheets/_utilities.scss */
.border-neutral-200 {
  border-color: #E5E7EB !important;
}

/* line 74, app/assets/stylesheets/_utilities.scss */
.border-neutral-300 {
  border-color: #D1D5DB !important;
}

/* line 75, app/assets/stylesheets/_utilities.scss */
.border-neutral-400 {
  border-color: #B8BFC7 !important;
}

/* line 77, app/assets/stylesheets/_utilities.scss */
.border-primary-100 {
  border-color: #E4EEF8 !important;
}

/* line 78, app/assets/stylesheets/_utilities.scss */
.border-primary-200 {
  border-color: #A3C4E0 !important;
}

/* line 79, app/assets/stylesheets/_utilities.scss */
.border-primary-300 {
  border-color: #4C7FB5 !important;
}

/* line 80, app/assets/stylesheets/_utilities.scss */
.border-primary-500 {
  border-color: #1F5C96 !important;
}

/* line 82, app/assets/stylesheets/_utilities.scss */
.border-success-700 {
  border-color: #1F6B4E !important;
}

/* line 83, app/assets/stylesheets/_utilities.scss */
.border-warning-700 {
  border-color: #8A6A06 !important;
}

/* line 84, app/assets/stylesheets/_utilities.scss */
.border-danger-700 {
  border-color: #9B2331 !important;
}

/* line 85, app/assets/stylesheets/_utilities.scss */
.border-info-700 {
  border-color: #1D5E96 !important;
}

/* line 91, app/assets/stylesheets/_utilities.scss */
.rounded-sm {
  border-radius: 4px !important;
}

/* line 92, app/assets/stylesheets/_utilities.scss */
.rounded-md {
  border-radius: 6px !important;
}

/* line 93, app/assets/stylesheets/_utilities.scss */
.rounded-lg {
  border-radius: 8px !important;
}

/* line 94, app/assets/stylesheets/_utilities.scss */
.rounded-xl {
  border-radius: 12px !important;
}

/* line 95, app/assets/stylesheets/_utilities.scss */
.rounded-full {
  border-radius: 9999px !important;
}

/* line 101, app/assets/stylesheets/_utilities.scss */
.shadow-xs {
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04) !important;
}

/* line 102, app/assets/stylesheets/_utilities.scss */
.shadow-sm {
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04) !important;
}

/* line 103, app/assets/stylesheets/_utilities.scss */
.shadow-md {
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03) !important;
}

/* line 104, app/assets/stylesheets/_utilities.scss */
.shadow-lg {
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03) !important;
}

/* line 105, app/assets/stylesheets/_utilities.scss */
.shadow-xl {
  box-shadow: 0 20px 25px rgba(31, 41, 51, 0.08), 0 10px 10px rgba(31, 41, 51, 0.03) !important;
}

/* line 106, app/assets/stylesheets/_utilities.scss */
.shadow-none {
  box-shadow: none !important;
}

/* line 112, app/assets/stylesheets/_utilities.scss */
.text-xs {
  font-size: 0.75rem !important;
}

/* line 113, app/assets/stylesheets/_utilities.scss */
.text-sm {
  font-size: 0.875rem !important;
}

/* line 114, app/assets/stylesheets/_utilities.scss */
.text-base {
  font-size: 1rem !important;
}

/* line 115, app/assets/stylesheets/_utilities.scss */
.text-lg {
  font-size: 1.125rem !important;
}

/* line 116, app/assets/stylesheets/_utilities.scss */
.text-xl {
  font-size: 1.25rem !important;
}

/* line 117, app/assets/stylesheets/_utilities.scss */
.text-2xl {
  font-size: 1.5rem !important;
}

/* line 118, app/assets/stylesheets/_utilities.scss */
.text-3xl {
  font-size: 1.875rem !important;
}

/* line 119, app/assets/stylesheets/_utilities.scss */
.text-4xl {
  font-size: 2.25rem !important;
}

/* line 125, app/assets/stylesheets/_utilities.scss */
.font-normal {
  font-weight: 400 !important;
}

/* line 126, app/assets/stylesheets/_utilities.scss */
.font-medium {
  font-weight: 500 !important;
}

/* line 127, app/assets/stylesheets/_utilities.scss */
.font-semibold {
  font-weight: 600 !important;
}

/* line 128, app/assets/stylesheets/_utilities.scss */
.font-bold {
  font-weight: 700 !important;
}

/* line 134, app/assets/stylesheets/_utilities.scss */
.tabular-nums {
  font-variant-numeric: tabular-nums !important;
}

/* line 140, app/assets/stylesheets/_utilities.scss */
.transition-fast {
  transition: all 0.15s ease !important;
}

/* line 141, app/assets/stylesheets/_utilities.scss */
.transition-base {
  transition: all 0.2s ease !important;
}

/* line 147, app/assets/stylesheets/_utilities.scss */
.bb-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  white-space: nowrap;
}

/* line 157, app/assets/stylesheets/_utilities.scss */
.bb-badge-info {
  background-color: #EDF3F8;
  color: #1D5E96;
}

/* line 162, app/assets/stylesheets/_utilities.scss */
.bb-badge-danger {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 167, app/assets/stylesheets/_utilities.scss */
.bb-badge-success {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 172, app/assets/stylesheets/_utilities.scss */
.bb-badge-warning {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 177, app/assets/stylesheets/_utilities.scss */
.bb-badge-neutral {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 183, app/assets/stylesheets/_utilities.scss */
.bb-badge-teal {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 188, app/assets/stylesheets/_utilities.scss */
.bb-badge-orange {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 194, app/assets/stylesheets/_utilities.scss */
.bb-badge-very-high {
  background-color: #F3F4F6;
  color: #1F2933;
  font-weight: 700;
}

/* line 200, app/assets/stylesheets/_utilities.scss */
.bb-badge-high {
  background-color: #F3F4F6;
  color: #323C47;
  font-weight: 500;
}

/* line 206, app/assets/stylesheets/_utilities.scss */
.bb-badge-average {
  background-color: #F3F4F6;
  color: #6B7280;
  font-weight: 500;
}

/* line 212, app/assets/stylesheets/_utilities.scss */
.bb-badge-low {
  background-color: #F9FAFB;
  color: #9CA3AF;
  font-weight: 500;
}

/* line 218, app/assets/stylesheets/_utilities.scss */
.bb-badge-very-low {
  background-color: #F9FAFB;
  color: #B8BFC7;
  font-weight: 500;
}

/* line 229, app/assets/stylesheets/_utilities.scss */
.bb-tabs-scroll-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* line 235, app/assets/stylesheets/_utilities.scss */
.bb-tabs-scroll-wrapper::-webkit-scrollbar {
  display: none;
}

/* line 240, app/assets/stylesheets/_utilities.scss */
.bb-tabs {
  display: flex !important;
  gap: 0 !important;
  border-bottom: 1px solid #D1D5DB;
  white-space: nowrap;
}

@media (max-width: 767.98px) {
  /* line 240, app/assets/stylesheets/_utilities.scss */
  .bb-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  /* line 253, app/assets/stylesheets/_utilities.scss */
  .bb-tabs::-webkit-scrollbar {
    display: none;
  }
}

/* line 258, app/assets/stylesheets/_utilities.scss */
.bb-tabs button.bb-tab,
.bb-tabs a.bb-tab,
.bb-tabs .bb-tab {
  padding: 0.75rem 1rem !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: #9CA3AF !important;
  border: none !important;
  background: none !important;
  background-color: transparent !important;
  cursor: pointer !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -1px !important;
  transition: all 0.15s ease !important;
  font-family: inherit !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  text-decoration: none !important;
}

/* line 278, app/assets/stylesheets/_utilities.scss */
.bb-tabs button.bb-tab:hover,
.bb-tabs a.bb-tab:hover,
.bb-tabs .bb-tab:hover {
  color: #4B5563 !important;
  background-color: transparent !important;
  text-decoration: none !important;
}

/* line 284, app/assets/stylesheets/_utilities.scss */
.bb-tabs button.bb-tab:focus,
.bb-tabs a.bb-tab:focus,
.bb-tabs .bb-tab:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* line 289, app/assets/stylesheets/_utilities.scss */
.bb-tabs button.bb-tab.active,
.bb-tabs a.bb-tab.active,
.bb-tabs .bb-tab.active {
  color: #1F5C96 !important;
  border-bottom: 2px solid #1F5C96 !important;
  font-weight: 500 !important;
}

/* line 301, app/assets/stylesheets/_utilities.scss */
.bb-table {
  width: 100%;
  font-size: 0.875rem;
  border-collapse: collapse;
}

/* line 306, app/assets/stylesheets/_utilities.scss */
.bb-table th {
  text-align: left;
  padding: 0.75rem 1rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-variant-numeric: tabular-nums;
}

/* line 318, app/assets/stylesheets/_utilities.scss */
.bb-table th.sortable {
  cursor: pointer;
  color: #123B66;
}

/* line 322, app/assets/stylesheets/_utilities.scss */
.bb-table th.sortable:hover {
  background-color: #F3F4F6;
}

/* line 328, app/assets/stylesheets/_utilities.scss */
.bb-table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #F3F4F6;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
}

/* line 334, app/assets/stylesheets/_utilities.scss */
.bb-table td a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 338, app/assets/stylesheets/_utilities.scss */
.bb-table td a:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 347, app/assets/stylesheets/_utilities.scss */
.bb-table td a.bb-btn:hover, .bb-table td a.bb-btn-outline:hover, .bb-table td a.bb-btn-primary:hover {
  text-decoration: none;
}

/* line 354, app/assets/stylesheets/_utilities.scss */
.bb-table tbody tr {
  transition: background-color 0.15s ease;
}

/* line 357, app/assets/stylesheets/_utilities.scss */
.bb-table tbody tr:hover {
  background-color: #F9FAFB;
}

/* line 365, app/assets/stylesheets/_utilities.scss */
table.table td, table.table th {
  font-variant-numeric: tabular-nums;
}

/* line 372, app/assets/stylesheets/_utilities.scss */
.bb-table-sortable th.sortable {
  cursor: pointer;
  color: #4B5563;
  user-select: none;
  position: relative;
  padding-right: 1.75rem;
  white-space: nowrap;
}

/* line 381, app/assets/stylesheets/_utilities.scss */
.bb-table-sortable th.sortable > a {
  color: inherit;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 388, app/assets/stylesheets/_utilities.scss */
.bb-table-sortable th.sortable > a:hover {
  color: inherit;
  text-decoration: none;
}

/* line 394, app/assets/stylesheets/_utilities.scss */
.bb-table-sortable th.sortable:hover {
  background-color: #F3F4F6;
  color: #123B66;
}

/* line 399, app/assets/stylesheets/_utilities.scss */
.bb-table-sortable th.sortable .sort-indicator {
  display: inline-flex;
  flex-direction: column;
  gap: 1px;
  opacity: 0.3;
  transition: opacity 0.15s ease;
  margin-left: 0.25rem;
  vertical-align: middle;
}

/* line 408, app/assets/stylesheets/_utilities.scss */
.bb-table-sortable th.sortable .sort-indicator i {
  font-size: 0.5rem;
  line-height: 1;
}

/* line 414, app/assets/stylesheets/_utilities.scss */
.bb-table-sortable th.sortable:hover .sort-indicator {
  opacity: 0.6;
}

/* line 418, app/assets/stylesheets/_utilities.scss */
.bb-table-sortable th.sortable.sort-asc, .bb-table-sortable th.sortable.sort-desc {
  color: #123B66;
  background-color: #F9FAFB;
}

/* line 423, app/assets/stylesheets/_utilities.scss */
.bb-table-sortable th.sortable.sort-asc .sort-indicator, .bb-table-sortable th.sortable.sort-desc .sort-indicator {
  opacity: 1;
}

/* line 428, app/assets/stylesheets/_utilities.scss */
.bb-table-sortable th.sortable.sort-asc .sort-indicator .bi-caret-down-fill, .bb-table-sortable th.sortable.sort-desc .sort-indicator .bi-caret-up-fill {
  opacity: 0.25;
}

/* line 433, app/assets/stylesheets/_utilities.scss */
.bb-table-sortable th.sortable.sort-asc .sort-indicator .bi-caret-up-fill, .bb-table-sortable th.sortable.sort-desc .sort-indicator .bi-caret-down-fill {
  color: #1F5C96;
}

/* line 439, app/assets/stylesheets/_utilities.scss */
.bb-table-sortable th.sortable.text-end > a {
  justify-content: flex-end;
}

/* line 447, app/assets/stylesheets/_utilities.scss */
.bb-table-compact th, .bb-table-compact td {
  padding: 0.5rem 0.75rem;
}

/* line 451, app/assets/stylesheets/_utilities.scss */
.bb-table-compact th {
  font-size: 0.65rem;
}

/* line 459, app/assets/stylesheets/_utilities.scss */
.bb-table-nowrap th, .bb-table-nowrap td {
  white-space: nowrap;
}

/* line 467, app/assets/stylesheets/_utilities.scss */
.bb-table-stacked td a {
  color: inherit;
  text-decoration: none;
}

/* line 471, app/assets/stylesheets/_utilities.scss */
.bb-table-stacked td a:hover {
  color: #123B66;
}

/* line 478, app/assets/stylesheets/_utilities.scss */
.bb-table-stacked.bb-table-clickable tbody tr {
  cursor: pointer;
}

/* line 481, app/assets/stylesheets/_utilities.scss */
.bb-table-stacked.bb-table-clickable tbody tr:hover {
  background-color: #F4F7FC;
}

/* line 487, app/assets/stylesheets/_utilities.scss */
.bb-table-stacked .cell-stacked {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 492, app/assets/stylesheets/_utilities.scss */
.bb-table-stacked .cell-stacked .cell-main {
  font-weight: 500;
  color: #1F2933;
  line-height: 1.3;
}

/* line 498, app/assets/stylesheets/_utilities.scss */
.bb-table-stacked .cell-stacked .cell-sub {
  font-size: 0.75rem;
  color: #9CA3AF;
  line-height: 1.3;
  white-space: nowrap;
}

/* line 508, app/assets/stylesheets/_utilities.scss */
.bb-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* line 514, app/assets/stylesheets/_utilities.scss */
.bb-table-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 522, app/assets/stylesheets/_utilities.scss */
.bb-table-card.h-100 {
  display: flex;
  flex-direction: column;
}

/* line 526, app/assets/stylesheets/_utilities.scss */
.bb-table-card.h-100 .bb-table {
  flex: 1;
}

/* line 531, app/assets/stylesheets/_utilities.scss */
.bb-table-card .bb-table {
  margin-bottom: 0;
}

/* line 534, app/assets/stylesheets/_utilities.scss */
.bb-table-card .bb-table th:first-child,
.bb-table-card .bb-table td:first-child {
  padding-left: 1.25rem;
}

/* line 539, app/assets/stylesheets/_utilities.scss */
.bb-table-card .bb-table th:last-child,
.bb-table-card .bb-table td:last-child {
  padding-right: 1.25rem;
}

/* line 544, app/assets/stylesheets/_utilities.scss */
.bb-table-card .bb-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 550, app/assets/stylesheets/_utilities.scss */
.bb-table-card-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.5rem;
}

/* line 561, app/assets/stylesheets/_utilities.scss */
.bb-table-card-header-tabs {
  padding: 0;
  border-bottom: none;
  flex-direction: column;
  align-items: stretch;
}

/* line 567, app/assets/stylesheets/_utilities.scss */
.bb-table-card-header-tabs .bb-table-card-header-top {
  padding: 1rem 1.25rem 0.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 574, app/assets/stylesheets/_utilities.scss */
.bb-table-card-header-tabs .bb-tabs {
  padding: 0 1.25rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 581, app/assets/stylesheets/_utilities.scss */
.bb-table-card > .bb-tabs {
  padding: 0 1.25rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 586, app/assets/stylesheets/_utilities.scss */
.bb-table-card-title {
  font-weight: 500;
  color: #1F2933;
  font-size: 1rem;
  margin: 0;
}

/* line 593, app/assets/stylesheets/_utilities.scss */
.bb-table-card-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 599, app/assets/stylesheets/_utilities.scss */
.bb-table-card-footer {
  padding: 0.75rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

@media (max-width: 575.98px) {
  /* line 599, app/assets/stylesheets/_utilities.scss */
  .bb-table-card-footer {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
}

/* line 615, app/assets/stylesheets/_utilities.scss */
.bb-table-card-footnote {
  padding: 0.5rem 1.25rem;
  background-color: #F9FAFB;
  border-top: 1px solid #F3F4F6;
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 623, app/assets/stylesheets/_utilities.scss */
.bb-table-card-meta {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 628, app/assets/stylesheets/_utilities.scss */
.bb-table-card-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
}

/* line 634, app/assets/stylesheets/_utilities.scss */
.bb-table-card-link {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  transition: color 0.15s ease;
}

/* line 644, app/assets/stylesheets/_utilities.scss */
.bb-table-card-link:hover {
  color: #123B66;
  text-decoration: none;
}

/* line 649, app/assets/stylesheets/_utilities.scss */
.bb-table-card-link i {
  font-size: 0.75rem;
}

/* line 655, app/assets/stylesheets/_utilities.scss */
.bb-segmented-control {
  display: inline-flex;
  background-color: #F3F4F6;
  border-radius: 6px;
  padding: 2px;
  align-self: flex-start;
  flex-shrink: 0;
}

/* line 663, app/assets/stylesheets/_utilities.scss */
.bb-segmented-control .bb-segmented-btn,
.bb-segmented-control button.bb-segmented-btn {
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background: none;
  background-color: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
  outline: none;
  box-shadow: none;
}

/* line 679, app/assets/stylesheets/_utilities.scss */
.bb-segmented-control .bb-segmented-btn:hover,
.bb-segmented-control button.bb-segmented-btn:hover {
  color: #1F2933;
  text-decoration: none;
  background-color: transparent;
}

/* line 685, app/assets/stylesheets/_utilities.scss */
.bb-segmented-control .bb-segmented-btn:focus,
.bb-segmented-control button.bb-segmented-btn:focus {
  outline: none;
}

/* line 689, app/assets/stylesheets/_utilities.scss */
.bb-segmented-control .bb-segmented-btn.active,
.bb-segmented-control button.bb-segmented-btn.active {
  background-color: #FFFFFF;
  color: #1F2933;
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 697, app/assets/stylesheets/_utilities.scss */
.bb-segmented-control.bb-segmented-control-sm .bb-segmented-btn,
.bb-segmented-control.bb-segmented-control-sm button.bb-segmented-btn {
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
}

/* line 706, app/assets/stylesheets/_utilities.scss */
.bb-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
}

/* line 721, app/assets/stylesheets/_utilities.scss */
.bb-btn-outline:hover {
  background-color: #F9FAFB;
  border-color: #B8BFC7;
  color: #1F2933;
}

/* line 728, app/assets/stylesheets/_utilities.scss */
a.bb-btn-outline,
a.bb-btn-outline:hover {
  text-decoration: none;
}

/* line 733, app/assets/stylesheets/_utilities.scss */
.bb-btn-sm {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
}

/* line 738, app/assets/stylesheets/_utilities.scss */
.bb-btn-xs {
  padding: 0.25rem 0.5rem;
  font-size: 0.6875rem;
}

/* line 747, app/assets/stylesheets/_utilities.scss */
.bb-page-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 755, app/assets/stylesheets/_utilities.scss */
.bb-page-header-main {
  flex: 1;
  min-width: 0;
}

/* line 760, app/assets/stylesheets/_utilities.scss */
.bb-page-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.375rem 0;
  line-height: 1.2;
}

/* line 768, app/assets/stylesheets/_utilities.scss */
.bb-page-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 776, app/assets/stylesheets/_utilities.scss */
.bb-page-meta a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 780, app/assets/stylesheets/_utilities.scss */
.bb-page-meta a:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 787, app/assets/stylesheets/_utilities.scss */
.bb-meta-separator {
  color: #B8BFC7;
}

/* line 791, app/assets/stylesheets/_utilities.scss */
.bb-page-header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

@media (max-width: 767px) {
  /* line 799, app/assets/stylesheets/_utilities.scss */
  .bb-page-header {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 804, app/assets/stylesheets/_utilities.scss */
  .bb-page-header-actions {
    justify-content: flex-start;
  }
  /* line 808, app/assets/stylesheets/_utilities.scss */
  .bb-page-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }
  /* line 813, app/assets/stylesheets/_utilities.scss */
  .bb-page-meta .bb-meta-separator {
    display: none;
  }
}

/* line 824, app/assets/stylesheets/_utilities.scss */
.bb-metric-cards {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}

/* line 831, app/assets/stylesheets/_utilities.scss */
.bb-metric-card {
  flex: 1;
  min-width: 180px;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1rem 1.25rem;
}

/* line 840, app/assets/stylesheets/_utilities.scss */
.bb-metric-card-label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
  margin-bottom: 0.25rem;
}

/* line 849, app/assets/stylesheets/_utilities.scss */
.bb-metric-card-value {
  font-family: 'Inter', sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: #1F2933;
  line-height: 1.2;
}

/* line 857, app/assets/stylesheets/_utilities.scss */
.bb-metric-card-sub {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
}

/* line 862, app/assets/stylesheets/_utilities.scss */
.bb-metric-card-sub.bb-sub-positive {
  color: #1F6B4E;
}

/* line 866, app/assets/stylesheets/_utilities.scss */
.bb-metric-card-sub.bb-sub-negative {
  color: #9B2331;
}

/* line 872, app/assets/stylesheets/_utilities.scss */
.bb-metric-card-value-teal {
  color: #127A7A;
}

/* line 876, app/assets/stylesheets/_utilities.scss */
.bb-metric-card-value-orange {
  color: #C4681A;
}

/* line 880, app/assets/stylesheets/_utilities.scss */
.bb-metric-card-value-danger {
  color: #9B2331;
}

/* line 884, app/assets/stylesheets/_utilities.scss */
.bb-metric-card-value-info {
  color: #1D5E96;
}

/* line 888, app/assets/stylesheets/_utilities.scss */
.bb-metric-card-value-warning {
  color: #8A6A06;
}

/* line 893, app/assets/stylesheets/_utilities.scss */
.bb-metric-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

/* line 899, app/assets/stylesheets/_utilities.scss */
.bb-metric-item {
  text-align: center;
}

/* line 907, app/assets/stylesheets/_utilities.scss */
.bb-pill-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: center;
}

/* line 914, app/assets/stylesheets/_utilities.scss */
.bb-pill-nav-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

/* line 921, app/assets/stylesheets/_utilities.scss */
.bb-pill-nav-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-right: 0.25rem;
}

/* line 930, app/assets/stylesheets/_utilities.scss */
.bb-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #F3F4F6;
  border: 1px solid transparent;
  border-radius: 9999px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 943, app/assets/stylesheets/_utilities.scss */
.bb-pill:hover {
  background-color: #E5E7EB;
  color: #1F2933;
  text-decoration: none;
}

/* line 949, app/assets/stylesheets/_utilities.scss */
.bb-pill.active {
  background-color: #1F5C96;
  color: #FFFFFF;
}

/* line 953, app/assets/stylesheets/_utilities.scss */
.bb-pill.active:hover {
  background-color: #123B66;
  color: #FFFFFF;
}

@media (max-width: 767px) {
  /* line 961, app/assets/stylesheets/_utilities.scss */
  .bb-pill-nav {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  /* line 967, app/assets/stylesheets/_utilities.scss */
  .bb-pill-nav-group {
    width: 100%;
  }
}

/* line 977, app/assets/stylesheets/_utilities.scss */
.nested-row td {
  background-color: #F9FAFB;
}

/* line 982, app/assets/stylesheets/_utilities.scss */
.nested-row .nested-content .bb-table {
  background-color: transparent;
}

/* line 986, app/assets/stylesheets/_utilities.scss */
.nested-row .nested-content .bb-table tbody tr:hover {
  background-color: #F3F4F6;
}

/* line 991, app/assets/stylesheets/_utilities.scss */
.nested-row .nested-content .bb-table td {
  border-bottom-color: #E5E7EB;
}

/* line 995, app/assets/stylesheets/_utilities.scss */
.nested-row .nested-content .bb-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 1006, app/assets/stylesheets/_utilities.scss */
.bb-input {
  display: block;
  width: 100%;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: #1F2933;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  background-color: #FFFFFF;
  transition: all 0.15s ease;
  font-family: inherit;
}

/* line 1018, app/assets/stylesheets/_utilities.scss */
.bb-input:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.15);
}

/* line 1024, app/assets/stylesheets/_utilities.scss */
.bb-input::placeholder {
  color: #9CA3AF;
}

/* line 1029, app/assets/stylesheets/_utilities.scss */
.bb-input-sm {
  padding: 0.375rem 0.625rem;
  font-size: 0.75rem;
}

/* line 1034, app/assets/stylesheets/_utilities.scss */
.bb-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%234B5563' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.25rem;
  padding-right: 2.5rem;
}

/* line 1047, app/assets/stylesheets/_utilities.scss */
.bb-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 1053, app/assets/stylesheets/_utilities.scss */
.bb-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
  text-decoration: none;
}

/* line 1069, app/assets/stylesheets/_utilities.scss */
.bb-filter-chip:hover:not(.active) {
  border-color: #B8BFC7;
  background-color: #F9FAFB;
  text-decoration: none;
}

/* line 1075, app/assets/stylesheets/_utilities.scss */
.bb-filter-chip:active {
  transform: scale(0.97);
}

/* line 1079, app/assets/stylesheets/_utilities.scss */
.bb-filter-chip.active {
  background-color: #E4EEF8;
  border-color: #4C7FB5;
  color: #123B66;
  text-decoration: none;
}

/* line 1085, app/assets/stylesheets/_utilities.scss */
.bb-filter-chip.active .bb-filter-chip-icon {
  color: #1F5C96;
}

/* line 1090, app/assets/stylesheets/_utilities.scss */
.bb-filter-chip .bb-filter-chip-icon {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 1095, app/assets/stylesheets/_utilities.scss */
.bb-filter-chip .bb-filter-chip-count {
  font-size: 0.75rem;
  color: #9CA3AF;
  background-color: #F3F4F6;
  padding: 0.125rem 0.375rem;
  border-radius: 9999px;
  margin-left: 0.125rem;
}

/* line 1104, app/assets/stylesheets/_utilities.scss */
.bb-filter-chip.active .bb-filter-chip-count {
  background-color: #A3C4E0;
  color: #123B66;
}

/* line 1110, app/assets/stylesheets/_utilities.scss */
.bb-filter-chip-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  gap: 0.25rem;
}

/* line 1115, app/assets/stylesheets/_utilities.scss */
.bb-filter-chip-sm .bb-filter-chip-icon {
  font-size: 0.75rem;
}

/* line 1121, app/assets/stylesheets/_utilities.scss */
.bb-filter-chips-hidden {
  display: none;
}

/* line 1124, app/assets/stylesheets/_utilities.scss */
.bb-filter-chips-hidden.bb-filter-chips-expanded {
  display: contents;
}

/* line 1130, app/assets/stylesheets/_utilities.scss */
.bb-filter-expand-btn {
  background-color: #F3F4F6;
  border-color: #E5E7EB;
  color: #6B7280;
}

/* line 1135, app/assets/stylesheets/_utilities.scss */
.bb-filter-expand-btn:hover {
  background-color: #E5E7EB;
  border-color: #D1D5DB;
}

/* line 1140, app/assets/stylesheets/_utilities.scss */
.bb-filter-expand-btn.expanded {
  background-color: #E5E7EB;
}

/* line 1149, app/assets/stylesheets/_utilities.scss */
.bb-section-nav {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 0.5rem;
}

/* line 1159, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-link {
  color: #4B5563;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  padding: 0.5rem 0.875rem;
  border-radius: 6px;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: all 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  white-space: nowrap;
}

/* line 1175, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-link i {
  font-size: 0.625rem;
  transition: transform 0.15s ease;
}

/* line 1180, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-link:hover {
  color: #123B66;
  background-color: #F4F7FC;
  text-decoration: none;
}

/* line 1186, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-link.active {
  color: #123B66;
  background-color: #E4EEF8;
}

/* line 1192, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-dropdown {
  position: relative;
}

/* line 1196, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-dropdown.is-open > .bb-section-nav-toggle {
  color: #123B66;
  background-color: #F4F7FC;
}

/* line 1200, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-dropdown.is-open > .bb-section-nav-toggle i {
  transform: rotate(180deg);
}

/* line 1205, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-dropdown.is-open > .bb-section-nav-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* line 1213, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-menu {
  position: absolute;
  top: calc(100% + 0.25rem);
  left: 0;
  min-width: 200px;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  padding: 0.375rem;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.5rem);
  transition: all 0.15s ease;
}

/* line 1230, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-menu-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.75rem;
  color: #4B5563;
  font-size: 0.875rem;
  text-decoration: none;
  border-radius: 4px;
  transition: all 0.15s ease;
  cursor: pointer;
}

/* line 1242, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-menu-item i {
  font-size: 0.625rem;
  color: #9CA3AF;
}

/* line 1247, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-menu-item:hover {
  color: #123B66;
  background-color: #F4F7FC;
  text-decoration: none;
}

/* line 1253, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-menu-item.active {
  color: #123B66;
  background-color: #E4EEF8;
}

/* line 1258, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-menu-item.bb-has-submenu {
  padding-right: 0.5rem;
}

/* line 1263, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-submenu-wrapper {
  position: relative;
}

/* line 1266, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-submenu-wrapper:hover > .bb-section-nav-submenu {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

/* line 1273, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-submenu {
  position: absolute;
  top: -0.375rem;
  left: 100%;
  margin-left: 0.25rem;
  min-width: 180px;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  padding: 0.375rem;
  z-index: 101;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-0.5rem);
  transition: all 0.15s ease;
}

/* line 1291, app/assets/stylesheets/_utilities.scss */
.bb-section-nav-submenu .bb-section-nav-submenu {
  z-index: 102;
}

/* line 1300, app/assets/stylesheets/_utilities.scss */
.bb-district-nav {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 0.5rem;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* line 1313, app/assets/stylesheets/_utilities.scss */
.bb-district-nav::-webkit-scrollbar {
  display: none;
}

/* line 1318, app/assets/stylesheets/_utilities.scss */
.bb-district-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #F3F4F6;
  border: 1px solid #E5E7EB;
  border-radius: 9999px;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.15s ease;
  cursor: pointer;
}

/* line 1333, app/assets/stylesheets/_utilities.scss */
.bb-district-chip:hover {
  color: #123B66;
  background-color: #F4F7FC;
  border-color: #A3C4E0;
  text-decoration: none;
}

/* line 1340, app/assets/stylesheets/_utilities.scss */
.bb-district-chip.active {
  color: #FFFFFF;
  background-color: #1F5C96;
  border-color: #1F5C96;
}

/* line 1345, app/assets/stylesheets/_utilities.scss */
.bb-district-chip.active:hover {
  background-color: #123B66;
  border-color: #123B66;
}

/* line 1353, app/assets/stylesheets/_utilities.scss */
.bb-jurisdiction-nav-stack {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

@media (max-width: 767.98px) {
  /* line 1361, app/assets/stylesheets/_utilities.scss */
  .bb-section-nav {
    display: none;
  }
  /* line 1365, app/assets/stylesheets/_utilities.scss */
  .bb-district-nav {
    border-radius: 6px;
    padding: 0.375rem;
    gap: 0.25rem;
  }
  /* line 1371, app/assets/stylesheets/_utilities.scss */
  .bb-district-chip {
    padding: 0.25rem 0.625rem;
    font-size: 0.75rem;
  }
}

/* line 1381, app/assets/stylesheets/_utilities.scss */
.bb-election-selector {
  display: flex;
  align-items: flex-end;
  gap: 1.5rem;
  padding: 0.75rem 1rem;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
}

@media (max-width: 768px) {
  /* line 1381, app/assets/stylesheets/_utilities.scss */
  .bb-election-selector {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
}

/* line 1397, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-bottom: 0.25rem;
}

/* line 1407, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-date {
  flex-shrink: 0;
}

/* line 1411, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-dropdown {
  position: relative;
}

/* line 1415, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  font-size: 0.875rem;
  color: #1F2933;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
}

/* line 1429, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-trigger:hover {
  background-color: #F3F4F6;
  border-color: #D1D5DB;
}

/* line 1434, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-trigger i {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 1440, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-value {
  font-weight: 600;
}

/* line 1444, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-type {
  font-size: 0.75rem;
  color: #9CA3AF;
  padding: 0.125rem 0.375rem;
  background-color: #F3F4F6;
  border-radius: 4px;
}

/* line 1452, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-menu {
  display: none;
  position: absolute;
  top: calc(100% + 0.25rem);
  left: 0;
  min-width: 260px;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  z-index: 100;
  overflow: hidden;
}

/* line 1465, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-menu.is-open {
  display: block;
}

/* line 1470, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-option {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding: 0.625rem 0.875rem;
  text-decoration: none;
  transition: background-color 0.15s ease;
}

/* line 1478, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-option:hover {
  background-color: #F9FAFB;
}

/* line 1482, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-option.is-active {
  background-color: #F4F7FC;
}

/* line 1487, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-option-date {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 1493, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-option-type {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 1498, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-offices {
  flex: 1;
  min-width: 0;
}

/* line 1503, app/assets/stylesheets/_utilities.scss */
.bb-election-selector-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

/* line 1509, app/assets/stylesheets/_utilities.scss */
.bb-election-office-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 9999px;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.15s ease;
}

/* line 1523, app/assets/stylesheets/_utilities.scss */
.bb-election-office-chip:hover {
  border-color: #D1D5DB;
  color: #1F2933;
}

/* line 1528, app/assets/stylesheets/_utilities.scss */
.bb-election-office-chip.active {
  background-color: #1F5C96;
  border-color: #1F5C96;
  color: #FFFFFF;
}

/* line 1539, app/assets/stylesheets/_utilities.scss */
.bb-follow-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
}

/* line 1554, app/assets/stylesheets/_utilities.scss */
.bb-follow-btn:hover {
  border-color: #D1D5DB;
  color: #4B5563;
}

/* line 1559, app/assets/stylesheets/_utilities.scss */
.bb-follow-btn i {
  font-size: 0.875rem;
}

/* line 1563, app/assets/stylesheets/_utilities.scss */
.bb-follow-btn.is-following {
  background-color: #F4F7FC;
  border-color: #A3C4E0;
  color: #123B66;
}

/* line 1568, app/assets/stylesheets/_utilities.scss */
.bb-follow-btn.is-following i {
  color: #1F5C96;
}

/* line 1572, app/assets/stylesheets/_utilities.scss */
.bb-follow-btn.is-following:hover {
  background-color: #E4EEF8;
}

/* line 1582, app/assets/stylesheets/_utilities.scss */
.hidden {
  display: none !important;
}

/* line 1590, app/assets/stylesheets/_utilities.scss */
.bb-alert {
  padding: 0.75rem 1rem;
  border-radius: 6px;
  font-size: 0.875rem;
}

/* line 1595, app/assets/stylesheets/_utilities.scss */
.bb-alert ul {
  padding-left: 1.25rem;
  margin-bottom: 0;
}

/* line 1600, app/assets/stylesheets/_utilities.scss */
.bb-alert li {
  margin-bottom: 0.25rem;
}

/* line 1603, app/assets/stylesheets/_utilities.scss */
.bb-alert li:last-child {
  margin-bottom: 0;
}

/* line 1609, app/assets/stylesheets/_utilities.scss */
.bb-alert-danger {
  background-color: #F8F0F1;
  border: 1px solid rgba(155, 35, 49, 0.2);
  color: #9B2331;
}

/* line 1615, app/assets/stylesheets/_utilities.scss */
.bb-alert-success {
  background-color: #EDF4F0;
  border: 1px solid rgba(31, 107, 78, 0.2);
  color: #1F6B4E;
}

/* line 1621, app/assets/stylesheets/_utilities.scss */
.bb-alert-warning {
  background-color: #F8F5ED;
  border: 1px solid rgba(138, 106, 6, 0.2);
  color: #8A6A06;
}

/* line 1627, app/assets/stylesheets/_utilities.scss */
.bb-alert-info {
  background-color: #EDF3F8;
  border: 1px solid rgba(29, 94, 150, 0.2);
  color: #1D5E96;
}

/* line 1637, app/assets/stylesheets/_utilities.scss */
.bb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 6px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}

/* line 1651, app/assets/stylesheets/_utilities.scss */
.bb-btn:hover {
  text-decoration: none;
}

/* line 1655, app/assets/stylesheets/_utilities.scss */
.bb-btn:active {
  transform: translateY(1px);
}

/* line 1660, app/assets/stylesheets/_utilities.scss */
.bb-btn-primary {
  background-color: #1F5C96;
  color: #FFFFFF;
  border-color: #1F5C96;
}

/* line 1665, app/assets/stylesheets/_utilities.scss */
.bb-btn-primary:hover {
  background-color: #123B66;
  border-color: #123B66;
  color: #FFFFFF;
}

/* line 1671, app/assets/stylesheets/_utilities.scss */
.bb-btn-primary:active {
  background-color: #0B2742;
  border-color: #0B2742;
}

/* line 1677, app/assets/stylesheets/_utilities.scss */
.bb-btn-outline {
  background-color: transparent;
  color: #1F5C96;
  border-color: #1F5C96;
  text-decoration: none;
}

/* line 1683, app/assets/stylesheets/_utilities.scss */
.bb-btn-outline:hover {
  background-color: #F4F7FC;
  color: #123B66;
  border-color: #123B66;
  text-decoration: none;
}

/* line 1690, app/assets/stylesheets/_utilities.scss */
.bb-btn-outline:active {
  background-color: #E4EEF8;
  color: #0B2742;
  border-color: #0B2742;
}

/* line 1697, app/assets/stylesheets/_utilities.scss */
.bb-btn-lg {
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
}

/* line 1702, app/assets/stylesheets/_utilities.scss */
.bb-btn-secondary {
  background-color: #FFFFFF;
  color: #4B5563;
  border-color: #D1D5DB;
}

/* line 1707, app/assets/stylesheets/_utilities.scss */
.bb-btn-secondary:hover {
  background-color: #F9FAFB;
  color: #1F2933;
  border-color: #B8BFC7;
}

/* line 1713, app/assets/stylesheets/_utilities.scss */
.bb-btn-secondary:active {
  background-color: #F3F4F6;
}

/* line 1722, app/assets/stylesheets/_utilities.scss */
.bb-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1050;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

/* line 1735, app/assets/stylesheets/_utilities.scss */
.bb-modal-backdrop.is-open {
  display: flex;
}

/* line 1740, app/assets/stylesheets/_utilities.scss */
.bb-modal {
  background: #FFFFFF;
  border-radius: 12px;
  box-shadow: 0 20px 25px rgba(31, 41, 51, 0.08), 0 10px 10px rgba(31, 41, 51, 0.03);
  max-width: 800px;
  width: 100%;
  max-height: calc(100vh - 2rem);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* line 1752, app/assets/stylesheets/_utilities.scss */
.bb-modal-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: none;
  background: transparent;
  color: #9CA3AF;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.15s ease;
}

/* line 1765, app/assets/stylesheets/_utilities.scss */
.bb-modal-close:hover {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 1770, app/assets/stylesheets/_utilities.scss */
.bb-modal-close i {
  font-size: 1.25rem;
}

/* line 1775, app/assets/stylesheets/_utilities.scss */
.bb-modal-body {
  padding: 1.25rem;
  overflow-y: auto;
  flex: 1;
}

/* line 1781, app/assets/stylesheets/_utilities.scss */
.bb-modal-loading,
.bb-modal-empty,
.bb-modal-error {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 1rem;
  text-align: center;
  color: #9CA3AF;
}

/* line 1792, app/assets/stylesheets/_utilities.scss */
.bb-modal-loading i,
.bb-modal-empty i,
.bb-modal-error i {
  font-size: 2rem;
  margin-bottom: 1rem;
}

/* line 1798, app/assets/stylesheets/_utilities.scss */
.bb-modal-loading i {
  animation: bb-spin 1s linear infinite;
}

@keyframes bb-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* line 1813, app/assets/stylesheets/_utilities.scss */
.modal-content.bb-modal {
  border: none;
  border-radius: 12px;
  overflow: hidden;
}

/* line 1819, app/assets/stylesheets/_utilities.scss */
.modal-header.bb-table-card-header {
  border-bottom: 1px solid #E5E7EB;
}

/* line 1823, app/assets/stylesheets/_utilities.scss */
.modal-footer.bb-modal-footer {
  background: #F9FAFB;
  border-top: 1px solid #E5E7EB;
  padding: 1rem 1.25rem;
}

/* line 14, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.5rem 2rem;
  overflow: hidden;
}

/* line 22, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-row {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

/* line 29, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  background-color: #E4EEF8;
  border-radius: 6px;
  flex-shrink: 0;
}

/* line 39, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-icon i {
  font-size: 1.125rem;
  color: #123B66;
}

/* line 45, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-text {
  flex: 1 1 250px;
  min-width: 0;
}

/* line 50, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-heading {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0 0 0.375rem 0;
}

/* line 57, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-description {
  font-size: 0.875rem;
  color: #6B7280;
  line-height: 1.5;
  margin: 0;
}

/* line 64, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 71, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-buttons {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 78, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-guide-link {
  width: 100%;
  margin-top: 0.75rem;
}

/* line 82, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-guide-link a {
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  color: #9CA3AF;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 90, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-guide-link a i {
  font-size: 0.875rem;
  color: #B8BFC7;
  transition: color 0.15s ease;
}

/* line 96, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-guide-link a:hover {
  color: #123B66;
}

/* line 99, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-guide-link a:hover i {
  color: #1F5C96;
}

/* line 106, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-secondary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding-left: 0.75rem;
  border-left: 1px solid #E5E7EB;
}

/* line 114, app/assets/stylesheets/_cta.scss */
.bb-subscription-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
  border: 1px solid transparent;
  white-space: nowrap;
}

/* line 127, app/assets/stylesheets/_cta.scss */
.bb-subscription-btn i {
  font-size: 1rem;
}

/* line 133, app/assets/stylesheets/_cta.scss */
.bb-subscription-btn-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  text-align: left;
}

/* line 141, app/assets/stylesheets/_cta.scss */
.bb-subscription-btn-campaigns {
  background-color: #1F5C96;
  color: #FFFFFF;
  border-color: #1F5C96;
}

/* line 146, app/assets/stylesheets/_cta.scss */
.bb-subscription-btn-campaigns:hover {
  background-color: #123B66;
  border-color: #123B66;
  color: #FFFFFF;
}

/* line 153, app/assets/stylesheets/_cta.scss */
.bb-subscription-btn-government {
  background-color: #1F6B4E;
  color: #FFFFFF;
  border-color: #1F6B4E;
}

/* line 158, app/assets/stylesheets/_cta.scss */
.bb-subscription-btn-government:hover {
  background-color: #164b37;
  border-color: #164b37;
  color: #FFFFFF;
}

/* line 165, app/assets/stylesheets/_cta.scss */
.bb-subscription-btn-sacramento {
  background-color: #4B5563;
  color: #FFFFFF;
  border-color: #4B5563;
}

/* line 170, app/assets/stylesheets/_cta.scss */
.bb-subscription-btn-sacramento:hover {
  background-color: #1F2933;
  border-color: #1F2933;
  color: #FFFFFF;
}

/* line 177, app/assets/stylesheets/_cta.scss */
.bb-subscription-btn-primary {
  background-color: #1F5C96;
  color: #FFFFFF;
  border-color: #1F5C96;
}

/* line 182, app/assets/stylesheets/_cta.scss */
.bb-subscription-btn-primary:hover {
  background-color: #123B66;
  border-color: #123B66;
  color: #FFFFFF;
}

/* line 189, app/assets/stylesheets/_cta.scss */
.bb-subscription-explore-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background-color: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
  white-space: nowrap;
}

/* line 204, app/assets/stylesheets/_cta.scss */
.bb-subscription-explore-btn i {
  color: #9CA3AF;
  font-size: 1rem;
}

/* line 209, app/assets/stylesheets/_cta.scss */
.bb-subscription-explore-btn:hover {
  background-color: #F9FAFB;
  border-color: #B8BFC7;
  color: #1F2933;
}

/* line 216, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  transition: color 0.15s ease;
  white-space: nowrap;
}

/* line 227, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-link i {
  font-size: 0.625rem;
  transition: transform 0.15s ease;
}

/* line 232, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-link:hover {
  color: #123B66;
}

/* line 235, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-link:hover i {
  transform: translateX(2px);
}

/* line 246, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-tinted {
  background: #E4EEF8;
  border: 1px solid #A3C4E0;
  border-left: 3px solid #1F5C96;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 252, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-tinted .bb-subscription-prompt-description {
  color: #4B5563;
}

/* line 256, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-tinted .bb-subscription-prompt-secondary {
  border-left-color: #A3C4E0;
}

/* line 260, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-tinted .bb-subscription-explore-btn {
  background-color: #FFFFFF;
  border-color: #A3C4E0;
}

/* line 264, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-tinted .bb-subscription-explore-btn:hover {
  background-color: #F9FAFB;
  border-color: #4C7FB5;
}

/* line 275, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-compact {
  padding: 1.5rem;
  max-width: 100%;
}

/* line 279, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-compact .bb-subscription-prompt-icon {
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 1rem;
}

/* line 284, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-compact .bb-subscription-prompt-icon i {
  font-size: 1.125rem;
}

/* line 289, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-compact .bb-subscription-prompt-heading {
  font-size: 1.125rem;
  margin-bottom: 0.5rem;
}

/* line 294, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-compact .bb-subscription-prompt-description {
  font-size: 0.875rem;
  margin-bottom: 1.25rem;
}

/* line 299, app/assets/stylesheets/_cta.scss */
.bb-subscription-prompt-compact .bb-subscription-prompt-buttons {
  margin-bottom: 1rem;
}

/* line 308, app/assets/stylesheets/_cta.scss */
.bb-subscription-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background-color: #F4F7FC;
  border: 1px solid #E4EEF8;
  border-radius: 8px;
}

/* line 320, app/assets/stylesheets/_cta.scss */
.bb-subscription-banner-content {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}

/* line 326, app/assets/stylesheets/_cta.scss */
.bb-subscription-banner-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  background-color: #E4EEF8;
  border-radius: 6px;
  flex-shrink: 0;
}

/* line 336, app/assets/stylesheets/_cta.scss */
.bb-subscription-banner-icon i {
  font-size: 1rem;
  color: #123B66;
}

/* line 342, app/assets/stylesheets/_cta.scss */
.bb-subscription-banner-text {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 348, app/assets/stylesheets/_cta.scss */
.bb-subscription-banner-heading {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 354, app/assets/stylesheets/_cta.scss */
.bb-subscription-banner-description {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 359, app/assets/stylesheets/_cta.scss */
.bb-subscription-banner-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 365, app/assets/stylesheets/_cta.scss */
.bb-subscription-banner-btn-primary {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #FFFFFF;
  background-color: #1F5C96;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 377, app/assets/stylesheets/_cta.scss */
.bb-subscription-banner-btn-primary:hover {
  background-color: #123B66;
  color: #FFFFFF;
}

/* line 383, app/assets/stylesheets/_cta.scss */
.bb-subscription-banner-btn-secondary {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #123B66;
  background-color: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 396, app/assets/stylesheets/_cta.scss */
.bb-subscription-banner-btn-secondary:hover {
  background-color: #F9FAFB;
  border-color: #D1D5DB;
}

/* line 403, app/assets/stylesheets/_cta.scss */
.bb-subscription-banner-tinted {
  background-color: #E4EEF8;
  border: 1px solid #A3C4E0;
  border-left: 3px solid #1F5C96;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 409, app/assets/stylesheets/_cta.scss */
.bb-subscription-banner-tinted .bb-subscription-banner-description {
  color: #4B5563;
}

/* line 413, app/assets/stylesheets/_cta.scss */
.bb-subscription-banner-tinted .bb-subscription-banner-btn-secondary {
  background-color: #FFFFFF;
  border-color: #A3C4E0;
}

/* line 417, app/assets/stylesheets/_cta.scss */
.bb-subscription-banner-tinted .bb-subscription-banner-btn-secondary:hover {
  background-color: #F9FAFB;
  border-color: #4C7FB5;
}

/* line 428, app/assets/stylesheets/_cta.scss */
.bb-subscription-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(4px);
}

/* line 438, app/assets/stylesheets/_cta.scss */
.bb-subscription-overlay-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.5rem 2rem;
  text-align: center;
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  max-width: 360px;
}

/* line 447, app/assets/stylesheets/_cta.scss */
.bb-subscription-overlay-card .bb-subscription-prompt-icon {
  margin: 0 auto 1rem;
}

/* line 451, app/assets/stylesheets/_cta.scss */
.bb-subscription-overlay-card .bb-subscription-prompt-heading {
  font-size: 1.125rem;
  margin-bottom: 0.5rem;
}

/* line 456, app/assets/stylesheets/_cta.scss */
.bb-subscription-overlay-card .bb-subscription-prompt-description {
  margin-bottom: 1rem;
}

/* line 460, app/assets/stylesheets/_cta.scss */
.bb-subscription-overlay-card .bb-subscription-prompt-buttons {
  margin-bottom: 0;
  justify-content: center;
}

@media (max-width: 992px) {
  /* line 471, app/assets/stylesheets/_cta.scss */
  .bb-subscription-prompt-secondary {
    border-left: none;
    padding-left: 0;
  }
  /* line 476, app/assets/stylesheets/_cta.scss */
  .bb-subscription-prompt-actions {
    width: 100%;
    justify-content: flex-start;
    margin-top: 0.5rem;
  }
}

@media (max-width: 768px) {
  /* line 484, app/assets/stylesheets/_cta.scss */
  .bb-subscription-prompt-row {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
  }
  /* line 491, app/assets/stylesheets/_cta.scss */
  .bb-subscription-prompt-text {
    flex: none;
    width: 100%;
  }
  /* line 496, app/assets/stylesheets/_cta.scss */
  .bb-subscription-prompt-actions {
    justify-content: center;
  }
  /* line 500, app/assets/stylesheets/_cta.scss */
  .bb-subscription-prompt-buttons {
    justify-content: center;
  }
  /* line 504, app/assets/stylesheets/_cta.scss */
  .bb-subscription-prompt-secondary {
    justify-content: center;
  }
}

/* line 513, app/assets/stylesheets/_cta.scss */
.bb-subscription-modal-body {
  background-color: #F4F7FC;
  border-radius: 8px;
}

/* line 525, app/assets/stylesheets/_cta.scss */
.bb-access-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0.875rem 1.25rem;
  background: #F4F7FC;
  border: 1px solid #E4EEF8;
  border-left: 3px solid #3A7AB8;
  border-radius: 6px;
}

/* line 537, app/assets/stylesheets/_cta.scss */
.bb-access-banner-content {
  flex: 1;
  min-width: 0;
}

/* line 542, app/assets/stylesheets/_cta.scss */
.bb-access-banner-message {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #4B5563;
}

/* line 548, app/assets/stylesheets/_cta.scss */
.bb-access-banner-message strong {
  color: #1F2933;
  font-weight: 500;
}

/* line 555, app/assets/stylesheets/_cta.scss */
.bb-access-banner-detail::before {
  content: " — ";
  color: #B8BFC7;
}

/* line 561, app/assets/stylesheets/_cta.scss */
.bb-access-banner-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
}

/* line 568, app/assets/stylesheets/_cta.scss */
.bb-access-banner-guide {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.15s ease;
}

/* line 579, app/assets/stylesheets/_cta.scss */
.bb-access-banner-guide i {
  font-size: 0.625rem;
  transition: transform 0.15s ease;
}

/* line 584, app/assets/stylesheets/_cta.scss */
.bb-access-banner-guide:hover {
  color: #123B66;
}

/* line 587, app/assets/stylesheets/_cta.scss */
.bb-access-banner-guide:hover i {
  transform: translateX(2px);
}

@media (max-width: 768px) {
  /* line 595, app/assets/stylesheets/_cta.scss */
  .bb-access-banner {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    text-align: center;
  }
  /* line 602, app/assets/stylesheets/_cta.scss */
  .bb-access-banner-detail {
    display: block;
    margin-top: 0.25rem;
  }
  /* line 606, app/assets/stylesheets/_cta.scss */
  .bb-access-banner-detail::before {
    content: none;
  }
  /* line 611, app/assets/stylesheets/_cta.scss */
  .bb-access-banner-actions {
    justify-content: center;
  }
}

@media (max-width: 576px) {
  /* line 617, app/assets/stylesheets/_cta.scss */
  .bb-access-banner-actions {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 622, app/assets/stylesheets/_cta.scss */
  .bb-access-banner-guide {
    order: 1;
  }
}

@media (max-width: 576px) {
  /* line 629, app/assets/stylesheets/_cta.scss */
  .bb-subscription-prompt-icon {
    display: none;
  }
  /* line 633, app/assets/stylesheets/_cta.scss */
  .bb-subscription-prompt-actions {
    flex-direction: column;
    gap: 1rem;
  }
  /* line 638, app/assets/stylesheets/_cta.scss */
  .bb-subscription-prompt-buttons {
    flex-direction: column;
    width: 100%;
  }
  /* line 642, app/assets/stylesheets/_cta.scss */
  .bb-subscription-prompt-buttons .bb-subscription-btn {
    width: 100%;
    justify-content: center;
  }
  /* line 649, app/assets/stylesheets/_cta.scss */
  .bb-subscription-btn-text {
    flex-direction: row;
    gap: 0.25rem;
  }
  /* line 654, app/assets/stylesheets/_cta.scss */
  .bb-subscription-prompt-secondary {
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
  }
  /* line 660, app/assets/stylesheets/_cta.scss */
  .bb-subscription-explore-btn {
    width: 100%;
    justify-content: center;
  }
  /* line 665, app/assets/stylesheets/_cta.scss */
  .bb-subscription-banner {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
  /* line 671, app/assets/stylesheets/_cta.scss */
  .bb-subscription-banner-content {
    flex-direction: column;
    text-align: center;
  }
  /* line 676, app/assets/stylesheets/_cta.scss */
  .bb-subscription-banner-actions {
    flex-direction: column;
    width: 100%;
  }
  /* line 680, app/assets/stylesheets/_cta.scss */
  .bb-subscription-banner-actions a {
    width: 100%;
    justify-content: center;
  }
}

/* line 13, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp {
  background-color: #FFFFFF;
}

/* line 17, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #6B7280;
  text-decoration: none;
  padding: 1rem 0;
}

/* line 26, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-back-link:hover {
  color: #1F5C96;
}

/* line 34, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-hero {
  background: linear-gradient(180deg, #F4F7FC 0%, #FFFFFF 100%);
  padding: 5rem 0 3rem;
  overflow: hidden;
}

/* line 40, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-hero-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

/* line 47, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-hero-text {
  text-align: left;
}

/* line 51, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-hero-title {
  font-size: 2.25rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
  margin-bottom: 1rem;
}

/* line 59, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-hero-subtitle {
  font-size: 1.125rem;
  color: #4B5563;
  line-height: 1.6;
  margin-bottom: 2.5rem;
}

/* line 66, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-hero-cta {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 72, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-hero-image {
  position: relative;
}

/* line 76, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-hero-screenshot {
  width: 100%;
  max-width: 600px;
  border-radius: 12px;
  box-shadow: 0 20px 25px rgba(31, 41, 51, 0.08), 0 10px 10px rgba(31, 41, 51, 0.03);
  border: 1px solid #E5E7EB;
  transform: perspective(1000px) rotateY(-5deg);
  transition: transform 0.2s ease;
}

/* line 85, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-hero-screenshot:hover {
  transform: perspective(1000px) rotateY(0deg);
}

/* line 91, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-hero-screenshot-placeholder {
  width: 100%;
  max-width: 600px;
  aspect-ratio: 16 / 10;
  background: linear-gradient(135deg, #F4F7FC 0%, #F3F4F6 100%);
  border-radius: 12px;
  box-shadow: 0 20px 25px rgba(31, 41, 51, 0.08), 0 10px 10px rgba(31, 41, 51, 0.03), inset 0 2px 8px rgba(0, 0, 0, 0.06);
  border: 1px solid #E5E7EB;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #B8BFC7;
  transform: perspective(1000px) rotateY(-5deg);
}

/* line 106, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-hero-screenshot-placeholder i {
  font-size: 3rem;
  margin-bottom: 1rem;
}

/* line 111, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-hero-screenshot-placeholder span {
  font-size: 0.875rem;
}

/* line 119, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.875rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
  cursor: pointer;
  border: 2px solid transparent;
}

/* line 133, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-btn-primary {
  background-color: #1F5C96;
  color: #FFFFFF;
  border-color: #1F5C96;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 139, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-btn-primary:hover {
  background-color: #123B66;
  border-color: #123B66;
  color: #FFFFFF;
  transform: translateY(-1px);
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
}

/* line 148, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-btn-secondary {
  background-color: transparent;
  color: #4B5563;
  border-color: #D1D5DB;
}

/* line 153, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-btn-secondary:hover {
  background-color: #F9FAFB;
  color: #1F2933;
  border-color: #B8BFC7;
  transform: translateY(-1px);
}

/* line 161, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-btn-lg {
  padding: 1rem 2.5rem;
  font-size: 1.125rem;
}

/* line 166, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-btn-sm {
  padding: 0.625rem 1.25rem;
  font-size: 0.875rem;
}

/* line 174, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-section {
  padding: 5rem 0;
}

/* line 178, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-section-alt {
  background-color: #F9FAFB;
}

/* line 182, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-section-header {
  text-align: center;
  margin-bottom: 3rem;
}

/* line 187, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-section-title {
  font-size: 1.875rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 1rem;
}

/* line 194, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-section-subtitle {
  font-size: 1.125rem;
  color: #6B7280;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}

/* line 205, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-coverage {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

/* line 211, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-coverage-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 2rem;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 219, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-coverage-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.75rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 228, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-coverage-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-size: 1.5rem;
}

/* line 238, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-coverage-icon-state {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 243, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-coverage-icon-local {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 248, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-coverage-title {
  font-size: 1.25rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 255, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-coverage-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 261, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-coverage-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid #F3F4F6;
}

/* line 268, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-coverage-item:last-child {
  border-bottom: none;
}

/* line 272, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-coverage-item i {
  color: #1F6B4E;
  font-size: 0.875rem;
  margin-top: 0.125rem;
  flex-shrink: 0;
}

/* line 279, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-coverage-item span {
  font-size: 0.875rem;
  color: #4B5563;
  line-height: 1.4;
}

/* line 289, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-audience-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

/* line 295, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-audience-card {
  background: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 12px;
  padding: 2.25rem;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  text-decoration: none;
}

/* line 306, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-audience-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 15px rgba(31, 41, 51, 0.06), 0 4px 6px rgba(31, 41, 51, 0.03);
  border-color: #4C7FB5;
  text-decoration: none;
}

/* line 314, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-audience-icon {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 1.75rem;
  margin-bottom: 1.5rem;
}

/* line 325, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-audience-icon-campaigns {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 330, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-audience-icon-local {
  background-color: #E2F5F5;
  color: #127A7A;
}

/* line 335, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-audience-icon-capitol {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 340, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-audience-title {
  font-size: 1.25rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 1rem;
}

/* line 347, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-audience-description {
  font-size: 1rem;
  color: #4B5563;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  flex-grow: 1;
}

/* line 355, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-audience-features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}

/* line 361, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-audience-feature {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.375rem 0;
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 369, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-audience-feature i {
  color: #127A7A;
  font-size: 0.875rem;
}

/* line 375, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-audience-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
  margin-top: auto;
}

/* line 385, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-audience-link:hover {
  color: #123B66;
  text-decoration: none;
}

/* line 394, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

/* line 400, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-feature-tile {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.5rem;
  text-align: center;
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
  transition: all 0.15s ease;
}

/* line 409, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-feature-tile:hover {
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  border-color: #A3C4E0;
}

/* line 415, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-feature-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 1.5rem;
  margin: 0 auto 1rem;
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 428, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-feature-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #323C47;
  line-height: 1.4;
}

/* line 438, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-why {
  background: linear-gradient(180deg, #123B66 0%, #0B2742 100%);
  color: #FFFFFF;
  padding: 6rem 0;
}

/* line 444, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-why-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

/* line 452, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-why-problem h3 {
  font-size: 1.25rem;
  font-weight: 500;
  margin-bottom: 1rem;
  color: #A3C4E0;
}

/* line 459, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-why-problem p {
  font-size: 1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.92);
  margin-bottom: 1rem;
}

/* line 465, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-why-problem p:last-child {
  margin-bottom: 0;
}

/* line 471, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-why-solution {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 2rem;
}

/* line 476, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-why-solution h3 {
  font-size: 1.25rem;
  font-weight: 500;
  margin-bottom: 1rem;
  color: #FFFFFF;
}

/* line 483, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-why-solution p {
  font-size: 1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.92);
  margin: 0;
}

/* line 494, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-trust {
  text-align: center;
}

/* line 501, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

/* line 507, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-testimonial {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 2rem;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  display: flex;
  flex-direction: column;
}

/* line 517, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-testimonial-quote {
  font-size: 0.875rem;
  color: #4B5563;
  line-height: 1.6;
  margin: 0 0 1.5rem 0;
  font-style: italic;
  flex-grow: 1;
}

/* line 526, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-testimonial-author {
  border-top: 1px solid #F3F4F6;
  padding-top: 1rem;
}

/* line 531, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-testimonial-name {
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 0.25rem;
}

/* line 538, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-testimonial-title {
  font-size: 0.75rem;
  color: #6B7280;
  line-height: 1.4;
}

/* line 544, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-bottom: 3rem;
}

/* line 551, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-stat {
  text-align: center;
}

/* line 555, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-stat-value {
  font-size: 1.875rem;
  font-weight: 700;
  color: #1F5C96;
  margin-bottom: 0.5rem;
}

/* line 562, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-stat-label {
  font-size: 0.875rem;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 569, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-trust-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F5C96;
  text-decoration: none;
}

/* line 578, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-trust-link:hover {
  color: #123B66;
  text-decoration: none;
}

/* line 587, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-final-cta {
  background-color: #F4F7FC;
  text-align: center;
}

/* line 592, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-final-cta-title {
  font-size: 1.875rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 1rem;
}

/* line 599, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-final-cta-subtitle {
  font-size: 1rem;
  color: #6B7280;
  margin-bottom: 2rem;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

/* line 608, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-final-cta-actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

/* line 616, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-pricing-link {
  font-size: 0.875rem;
  color: #6B7280;
  text-decoration: none;
}

/* line 621, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-pricing-link a {
  color: #1F5C96;
  text-decoration: none;
  font-weight: 500;
}

/* line 626, app/assets/stylesheets/_styleguide_homepage.scss */
.sghp-pricing-link a:hover {
  text-decoration: underline;
}

@media (max-width: 991px) {
  /* line 636, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-hero {
    padding: 4rem 0 3rem;
  }
  /* line 640, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-hero-content {
    grid-template-columns: 1fr;
    gap: 3rem;
    text-align: center;
  }
  /* line 646, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-hero-text {
    text-align: center;
    order: 1;
  }
  /* line 651, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-hero-image {
    order: 2;
    display: flex;
    justify-content: center;
  }
  /* line 657, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-hero-screenshot,
.sghp-hero-screenshot-placeholder {
    transform: none;
    max-width: 500px;
  }
  /* line 662, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-hero-screenshot:hover,
.sghp-hero-screenshot-placeholder:hover {
    transform: none;
  }
  /* line 667, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-hero-title {
    font-size: 1.875rem;
  }
  /* line 671, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-hero-cta {
    justify-content: center;
  }
  /* line 675, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-section {
    padding: 4rem 0;
  }
  /* line 679, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-coverage {
    grid-template-columns: 1fr;
  }
  /* line 683, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-audience-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  /* line 688, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-features-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 692, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-why-content {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  /* line 697, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
  /* line 702, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-testimonials {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

@media (max-width: 767px) {
  /* line 709, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-hero {
    padding: 3rem 0 2rem;
  }
  /* line 713, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-hero-title {
    font-size: 1.5rem;
  }
  /* line 717, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-hero-subtitle {
    font-size: 1rem;
  }
  /* line 721, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-hero-cta {
    flex-direction: column;
    align-items: center;
  }
  /* line 725, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-hero-cta .sghp-btn {
    width: 100%;
    max-width: 280px;
  }
  /* line 731, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-hero-screenshot,
.sghp-hero-screenshot-placeholder {
    max-width: 100%;
  }
  /* line 736, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-section {
    padding: 3rem 0;
  }
  /* line 740, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-section-title {
    font-size: 1.5rem;
  }
  /* line 744, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-section-subtitle {
    font-size: 1rem;
  }
  /* line 748, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-features-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  /* line 753, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-feature-tile {
    padding: 1rem;
  }
  /* line 757, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-stats-grid {
    grid-template-columns: 1fr 1fr;
  }
  /* line 761, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-stat-value {
    font-size: 1.5rem;
  }
  /* line 765, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-final-cta-actions {
    flex-direction: column;
    align-items: center;
  }
  /* line 769, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-final-cta-actions .sghp-btn {
    width: 100%;
    max-width: 280px;
  }
}

@media (max-width: 575px) {
  /* line 777, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-hero-title {
    font-size: 1.75rem;
  }
  /* line 781, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-coverage-card {
    padding: 1.5rem;
  }
  /* line 785, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-audience-card {
    padding: 1.5rem;
  }
  /* line 789, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-features-grid {
    grid-template-columns: 1fr;
  }
  /* line 793, app/assets/stylesheets/_styleguide_homepage.scss */
  .sghp-testimonial {
    padding: 1.5rem;
  }
}

/* line 13, app/assets/stylesheets/_styleguide_admin.scss */
.sga {
  background-color: #FFFFFF;
}

/* line 17, app/assets/stylesheets/_styleguide_admin.scss */
.sga-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #6B7280;
  text-decoration: none;
  padding: 1rem 0;
}

/* line 26, app/assets/stylesheets/_styleguide_admin.scss */
.sga-back-link:hover {
  color: #1F5C96;
}

/* line 34, app/assets/stylesheets/_styleguide_admin.scss */
.sga-header {
  background: linear-gradient(180deg, #F4F7FC 0%, #FFFFFF 100%);
  padding: 3rem 0 2rem;
}

/* line 39, app/assets/stylesheets/_styleguide_admin.scss */
.sga-header-content {
  max-width: 600px;
}

/* line 43, app/assets/stylesheets/_styleguide_admin.scss */
.sga-header-title {
  font-size: 1.875rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
  margin-bottom: 0.75rem;
}

/* line 51, app/assets/stylesheets/_styleguide_admin.scss */
.sga-header-subtitle {
  font-size: 1rem;
  color: #6B7280;
  line-height: 1.5;
  margin: 0;
}

/* line 61, app/assets/stylesheets/_styleguide_admin.scss */
.sga-metrics {
  padding: 1.25rem 0;
}

/* line 65, app/assets/stylesheets/_styleguide_admin.scss */
.sga-metrics-row {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 0.625rem 1rem;
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 76, app/assets/stylesheets/_styleguide_admin.scss */
.sga-metrics-row-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

/* line 83, app/assets/stylesheets/_styleguide_admin.scss */
.sga-metrics-row-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
}

/* line 90, app/assets/stylesheets/_styleguide_admin.scss */
.sga-metrics-row-label {
  font-size: 10px;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 97, app/assets/stylesheets/_styleguide_admin.scss */
.sga-metrics-row-divider {
  width: 1px;
  height: 1.5rem;
  background: #E5E7EB;
}

/* line 106, app/assets/stylesheets/_styleguide_admin.scss */
.sga-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.5rem 0;
  flex-wrap: wrap;
}

/* line 115, app/assets/stylesheets/_styleguide_admin.scss */
.sga-toolbar-left {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 122, app/assets/stylesheets/_styleguide_admin.scss */
.sga-search {
  flex: 0 0 auto;
  width: 320px;
  position: relative;
}

/* line 128, app/assets/stylesheets/_styleguide_admin.scss */
.sga-search-icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #9CA3AF;
  font-size: 1rem;
  pointer-events: none;
}

/* line 138, app/assets/stylesheets/_styleguide_admin.scss */
.sga-search-input {
  width: 100%;
  padding: 0.75rem 1rem 0.75rem 2.75rem;
  font-size: 1rem;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  background: #FFFFFF;
  color: #1F2933;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 148, app/assets/stylesheets/_styleguide_admin.scss */
.sga-search-input::placeholder {
  color: #9CA3AF;
}

/* line 152, app/assets/stylesheets/_styleguide_admin.scss */
.sga-search-input:focus {
  outline: none;
  border-color: #3A7AB8;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.1);
}

/* line 159, app/assets/stylesheets/_styleguide_admin.scss */
.sga-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 168, app/assets/stylesheets/_styleguide_admin.scss */
.sga-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
  cursor: pointer;
  border: 1px solid transparent;
}

/* line 183, app/assets/stylesheets/_styleguide_admin.scss */
.sga-btn-primary {
  background-color: #1F5C96;
  color: #FFFFFF;
  border-color: #1F5C96;
}

/* line 188, app/assets/stylesheets/_styleguide_admin.scss */
.sga-btn-primary:hover {
  background-color: #123B66;
  border-color: #123B66;
  color: #FFFFFF;
}

/* line 195, app/assets/stylesheets/_styleguide_admin.scss */
.sga-btn-secondary {
  background-color: #FFFFFF;
  color: #4B5563;
  border-color: #D1D5DB;
}

/* line 200, app/assets/stylesheets/_styleguide_admin.scss */
.sga-btn-secondary:hover {
  background-color: #F9FAFB;
  border-color: #B8BFC7;
  color: #1F2933;
}

/* line 207, app/assets/stylesheets/_styleguide_admin.scss */
.sga-btn-ghost {
  background-color: transparent;
  color: #1F5C96;
  border-color: transparent;
}

/* line 212, app/assets/stylesheets/_styleguide_admin.scss */
.sga-btn-ghost:hover {
  background-color: #F4F7FC;
  color: #123B66;
}

/* line 221, app/assets/stylesheets/_styleguide_admin.scss */
.sga-table-section {
  padding-bottom: 3rem;
}

/* line 225, app/assets/stylesheets/_styleguide_admin.scss */
.sga-table-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 233, app/assets/stylesheets/_styleguide_admin.scss */
.sga-table-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 241, app/assets/stylesheets/_styleguide_admin.scss */
.sga-table-card-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 248, app/assets/stylesheets/_styleguide_admin.scss */
.sga-table-card-meta {
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 256, app/assets/stylesheets/_styleguide_admin.scss */
.sga-table {
  width: 100%;
  border-collapse: collapse;
}

/* line 261, app/assets/stylesheets/_styleguide_admin.scss */
.sga-table thead th {
  padding: 0.875rem 1.5rem;
  text-align: left;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 272, app/assets/stylesheets/_styleguide_admin.scss */
.sga-table thead th:first-child {
  padding-left: 1.5rem;
}

/* line 276, app/assets/stylesheets/_styleguide_admin.scss */
.sga-table thead th:last-child {
  padding-right: 1.5rem;
}

/* line 281, app/assets/stylesheets/_styleguide_admin.scss */
.sga-table tbody tr {
  border-bottom: 1px solid #F3F4F6;
  transition: background-color 0.15s ease;
  cursor: pointer;
}

/* line 286, app/assets/stylesheets/_styleguide_admin.scss */
.sga-table tbody tr:hover {
  background-color: #F9FAFB;
}

/* line 290, app/assets/stylesheets/_styleguide_admin.scss */
.sga-table tbody tr:last-child {
  border-bottom: none;
}

/* line 295, app/assets/stylesheets/_styleguide_admin.scss */
.sga-table tbody td {
  padding: 1rem 1.5rem;
  font-size: 0.875rem;
  color: #4B5563;
  vertical-align: middle;
}

/* line 301, app/assets/stylesheets/_styleguide_admin.scss */
.sga-table tbody td:first-child {
  padding-left: 1.5rem;
}

/* line 305, app/assets/stylesheets/_styleguide_admin.scss */
.sga-table tbody td:last-child {
  padding-right: 1.5rem;
}

/* line 311, app/assets/stylesheets/_styleguide_admin.scss */
.sga-user-cell {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 317, app/assets/stylesheets/_styleguide_admin.scss */
.sga-user-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 323, app/assets/stylesheets/_styleguide_admin.scss */
.sga-user-email {
  font-size: 0.75rem;
  color: #6B7280;
}

/* line 328, app/assets/stylesheets/_styleguide_admin.scss */
.sga-user-org {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-style: italic;
}

/* line 337, app/assets/stylesheets/_styleguide_admin.scss */
.sga-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  white-space: nowrap;
}

/* line 347, app/assets/stylesheets/_styleguide_admin.scss */
.sga-badge-active {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 352, app/assets/stylesheets/_styleguide_admin.scss */
.sga-badge-trial {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 357, app/assets/stylesheets/_styleguide_admin.scss */
.sga-badge-pending {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 362, app/assets/stylesheets/_styleguide_admin.scss */
.sga-badge-complimentary {
  background-color: #F3F4F6;
  color: #4B5563;
}

/* line 368, app/assets/stylesheets/_styleguide_admin.scss */
.sga-subscription-type {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 374, app/assets/stylesheets/_styleguide_admin.scss */
.sga-activity {
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 378, app/assets/stylesheets/_styleguide_admin.scss */
.sga-activity.sga-activity-none {
  color: #9CA3AF;
  font-style: italic;
}

/* line 387, app/assets/stylesheets/_styleguide_admin.scss */
.sga-table-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-top: 1px solid #F3F4F6;
  background: #F9FAFB;
}

/* line 396, app/assets/stylesheets/_styleguide_admin.scss */
.sga-pagination {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 402, app/assets/stylesheets/_styleguide_admin.scss */
.sga-pagination-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  font-size: 0.875rem;
  color: #6B7280;
  background: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 416, app/assets/stylesheets/_styleguide_admin.scss */
.sga-pagination-btn:hover:not(:disabled) {
  background: #F9FAFB;
  border-color: #B8BFC7;
  color: #1F2933;
}

/* line 422, app/assets/stylesheets/_styleguide_admin.scss */
.sga-pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* line 427, app/assets/stylesheets/_styleguide_admin.scss */
.sga-pagination-btn.active {
  background: #1F5C96;
  border-color: #1F5C96;
  color: #FFFFFF;
}

/* line 434, app/assets/stylesheets/_styleguide_admin.scss */
.sga-pagination-ellipsis {
  color: #9CA3AF;
  font-size: 0.875rem;
  padding: 0 0.25rem;
}

@media (max-width: 991px) {
  /* line 444, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-header {
    padding: 2rem 0 1.5rem;
  }
  /* line 448, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-header-title {
    font-size: 1.5rem;
  }
  /* line 452, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 457, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-toolbar-left {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 462, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-search {
    width: 100%;
  }
  /* line 466, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-actions {
    justify-content: flex-start;
  }
  /* line 471, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-table-card {
    overflow-x: auto;
  }
  /* line 475, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-table {
    min-width: 700px;
  }
}

@media (max-width: 767px) {
  /* line 481, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-header {
    padding: 1.5rem 0 1rem;
  }
  /* line 485, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-header-title {
    font-size: 1.25rem;
  }
  /* line 489, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-metrics {
    padding: 1rem 0;
  }
  /* line 493, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-metrics-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
  }
  /* line 500, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-metrics-row-divider {
    display: none;
  }
  /* line 504, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-metrics-row-item {
    min-width: 60px;
  }
  /* line 508, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-actions {
    flex-direction: column;
  }
  /* line 511, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-actions .sga-btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 575px) {
  /* line 519, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-table-card-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 525, app/assets/stylesheets/_styleguide_admin.scss */
  .sga-table-card-footer {
    flex-direction: column;
    gap: 1rem;
    align-items: center;
  }
}

/* line 14, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-header {
  background: linear-gradient(180deg, #F4F7FC 0%, #FFFFFF 100%);
  padding: 2rem 0;
}

/* line 19, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-header-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

/* line 27, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-header-identity {
  flex: 1;
}

/* line 31, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-header-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.25rem 0;
}

/* line 38, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-header-email {
  font-size: 1rem;
  color: #6B7280;
  margin: 0 0 0.5rem 0;
}

/* line 44, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-header-meta {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

/* line 50, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-header-actions {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 56, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-header-subscription {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  font-size: 0.875rem;
}

/* line 64, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-header-subscription-plan {
  font-weight: 500;
  color: #1F2933;
}

/* line 69, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-header-subscription-status {
  color: #6B7280;
}

/* line 74, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-header-metrics {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 0.625rem 1rem;
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 85, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-header-metrics-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

/* line 92, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-header-metrics-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
}

/* line 99, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-header-metrics-label {
  font-size: 10px;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 106, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-header-metrics-divider {
  width: 1px;
  height: 1.5rem;
  background: #E5E7EB;
}

/* line 115, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sga-btn-danger {
  background-color: #FFFFFF;
  color: #9B2331;
  border-color: #9B2331;
}

/* line 120, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sga-btn-danger:hover {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 129, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-tabs-section {
  padding: 2rem 0 3rem;
}

/* line 133, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-tabs-header {
  margin-bottom: 2rem;
}

/* line 140, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-tab-panels {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

/* line 150, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-tab-panel-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0 0 1.5rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid #1F5C96;
  display: inline-block;
}

/* line 163, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-section {
  margin-bottom: 2rem;
}

/* line 166, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-section:last-child {
  margin-bottom: 0;
}

/* line 171, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-section-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 1rem 0;
}

/* line 180, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 189, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-profile-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

/* line 198, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-kv-table {
  width: 100%;
  border-collapse: collapse;
}

/* line 202, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-kv-table tr {
  border-bottom: 1px solid #F3F4F6;
}

/* line 205, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-kv-table tr:last-child {
  border-bottom: none;
}

/* line 210, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-kv-table td {
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
}

/* line 216, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-kv-label {
  color: #6B7280;
  width: 40%;
}

/* line 221, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-kv-value {
  color: #1F2933;
  font-weight: 500;
}

/* line 229, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-activity-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 240, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-activity-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 247, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-activity-item:last-child {
  border-bottom: none;
}

/* line 252, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-activity-type {
  flex-shrink: 0;
}

/* line 256, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-activity-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  background: #F3F4F6;
  border-radius: 4px;
}

/* line 267, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-activity-content {
  flex: 1;
  min-width: 0;
}

/* line 272, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-activity-page {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 0.125rem;
}

/* line 279, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-activity-url {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-family: monospace;
  word-break: break-all;
}

/* line 286, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-activity-time {
  flex-shrink: 0;
  font-size: 0.75rem;
  color: #9CA3AF;
  white-space: nowrap;
}

/* line 296, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-data-table {
  width: 100%;
  border-collapse: collapse;
}

/* line 300, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-data-table thead th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 312, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-data-table tbody td {
  padding: 0.875rem 1rem;
  font-size: 0.875rem;
  color: #4B5563;
  border-bottom: 1px solid #F3F4F6;
}

/* line 319, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-data-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 331, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-billing-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 338, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-billing-item:last-child {
  border-bottom: none;
}

/* line 343, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-billing-icon {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.875rem;
  flex-shrink: 0;
}

/* line 353, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-billing-icon.sgau-billing-icon-success {
  background: #EDF4F0;
  color: #1F6B4E;
}

/* line 358, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-billing-icon.sgau-billing-icon-info {
  background: #E4EEF8;
  color: #123B66;
}

/* line 364, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-billing-content {
  flex: 1;
}

/* line 368, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-billing-event {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 374, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-billing-date {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 379, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-billing-amount {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
}

/* line 385, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-billing-status {
  font-size: 0.75rem;
  color: #1F6B4E;
}

/* line 393, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-analytics-metrics {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

/* line 399, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-analytics-metric {
  flex: 1;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 1rem;
  text-align: center;
}

/* line 408, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-analytics-metric-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 0.25rem;
}

/* line 415, app/assets/stylesheets/_styleguide_admin_user_show.scss */
.sgau-analytics-metric-label {
  font-size: 0.75rem;
  color: #6B7280;
}

@media (max-width: 991px) {
  /* line 424, app/assets/stylesheets/_styleguide_admin_user_show.scss */
  .sgau-header-top {
    flex-direction: column;
  }
  /* line 428, app/assets/stylesheets/_styleguide_admin_user_show.scss */
  .sgau-header-actions {
    width: 100%;
  }
  /* line 432, app/assets/stylesheets/_styleguide_admin_user_show.scss */
  .sgau-profile-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  /* line 438, app/assets/stylesheets/_styleguide_admin_user_show.scss */
  .sgau-header {
    padding: 1.5rem 0;
  }
  /* line 442, app/assets/stylesheets/_styleguide_admin_user_show.scss */
  .sgau-header-name {
    font-size: 1.25rem;
  }
  /* line 446, app/assets/stylesheets/_styleguide_admin_user_show.scss */
  .sgau-header-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
  }
  /* line 453, app/assets/stylesheets/_styleguide_admin_user_show.scss */
  .sgau-header-metrics-divider {
    display: none;
  }
  /* line 457, app/assets/stylesheets/_styleguide_admin_user_show.scss */
  .sgau-analytics-metrics {
    flex-wrap: wrap;
  }
  /* line 461, app/assets/stylesheets/_styleguide_admin_user_show.scss */
  .sgau-analytics-metric {
    flex: 1 1 calc(50% - 0.5rem);
    min-width: 120px;
  }
  /* line 466, app/assets/stylesheets/_styleguide_admin_user_show.scss */
  .sgau-activity-item {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 471, app/assets/stylesheets/_styleguide_admin_user_show.scss */
  .sgau-activity-time {
    align-self: flex-start;
  }
}

@media (max-width: 575px) {
  /* line 477, app/assets/stylesheets/_styleguide_admin_user_show.scss */
  .sgau-header-actions {
    flex-direction: column;
  }
  /* line 480, app/assets/stylesheets/_styleguide_admin_user_show.scss */
  .sgau-header-actions .sga-btn {
    width: 100%;
    justify-content: center;
  }
  /* line 486, app/assets/stylesheets/_styleguide_admin_user_show.scss */
  .sgau-analytics-metric {
    flex: 1 1 100%;
  }
}

/* line 14, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-header {
  background: linear-gradient(180deg, #F4F7FC 0%, #FFFFFF 100%);
  padding: 2rem 0;
  margin-bottom: 2rem;
}

/* line 20, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-header-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 27, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-header-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.25rem 0;
}

/* line 34, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-header-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

/* line 40, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-header-updated {
  font-size: 0.75rem;
  color: #9CA3AF;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 47, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-header-updated i {
  font-size: 0.875rem;
}

/* line 55, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-time-filter {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

/* line 63, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-time-filter-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 69, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-time-filter-options {
  display: flex;
  gap: 0.25rem;
  background: #F3F4F6;
  border-radius: 6px;
  padding: 0.25rem;
}

/* line 77, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-time-filter-btn {
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}

/* line 89, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-time-filter-btn:hover {
  color: #1F2933;
  background: #E5E7EB;
}

/* line 94, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-time-filter-btn.active {
  color: #FFFFFF;
  background: #1F5C96;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 101, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-time-filter-custom {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: 0.5rem;
  padding-left: 1rem;
  border-left: 1px solid #E5E7EB;
}

/* line 110, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-date-input {
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  border: 1px solid #D1D5DB;
  border-radius: 4px;
  color: #4B5563;
}

/* line 117, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-date-input:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.1);
}

/* line 127, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-section {
  margin-bottom: 2rem;
}

/* line 131, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-section-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 1rem 0;
}

/* line 143, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metrics-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
  margin-bottom: 2rem;
}

/* line 150, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metrics-grid-4 {
  grid-template-columns: repeat(4, 1fr);
}

/* line 154, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metrics-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

/* line 158, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metrics-grid-2 {
  grid-template-columns: repeat(2, 1fr);
}

/* line 162, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metric-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 172, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metric-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 178, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metric-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 186, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metric-icon {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 0.875rem;
}

/* line 195, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metric-icon.sgad-metric-icon-blue {
  background: #E4EEF8;
  color: #123B66;
}

/* line 200, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metric-icon.sgad-metric-icon-green {
  background: #EDF4F0;
  color: #1F6B4E;
}

/* line 205, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metric-icon.sgad-metric-icon-purple {
  background: #E4EEF8;
  color: #0B2742;
}

/* line 210, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metric-icon.sgad-metric-icon-orange {
  background: #FDF0E3;
  color: #C4681A;
}

/* line 215, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metric-icon.sgad-metric-icon-teal {
  background: #E2F5F5;
  color: #127A7A;
}

/* line 220, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metric-icon.sgad-metric-icon-cyan {
  background: #EDF3F8;
  color: #1D5E96;
}

/* line 226, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metric-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
}

/* line 233, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metric-change {
  font-size: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 239, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metric-change.sgad-metric-change-up {
  color: #1F6B4E;
}

/* line 243, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metric-change.sgad-metric-change-down {
  color: #9B2331;
}

/* line 247, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-metric-change.sgad-metric-change-neutral {
  color: #9CA3AF;
}

/* line 255, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-comparison-metric {
  display: flex;
  gap: 1.5rem;
}

/* line 260, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-comparison-item {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 266, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-comparison-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 271, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-comparison-value {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 280, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

/* line 287, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-three-col {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 2rem;
}

/* line 297, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 305, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 313, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-card-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 320, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-card-action {
  font-size: 0.75rem;
  color: #1F5C96;
  text-decoration: none;
  font-weight: 500;
}

/* line 326, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-card-action:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 332, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-card-body {
  padding: 1.25rem;
}

/* line 336, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-card-body-flush {
  padding: 0;
}

/* line 343, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-chart-container {
  position: relative;
  height: 280px;
  padding: 1rem;
}

/* line 349, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-chart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 357, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-chart-toggle {
  display: flex;
  gap: 0.25rem;
  background: #F3F4F6;
  border-radius: 4px;
  padding: 0.125rem;
}

/* line 365, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-chart-toggle-btn {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

/* line 375, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-chart-toggle-btn.active {
  background: #FFFFFF;
  color: #1F2933;
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 382, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-chart-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #B8BFC7;
  font-size: 0.875rem;
}

/* line 392, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-chart-legend {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  padding: 0.75rem 1rem;
  border-top: 1px solid #F3F4F6;
}

/* line 400, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-chart-legend-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: #6B7280;
}

/* line 408, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-chart-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 9999px;
}

/* line 413, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-chart-legend-dot.sgad-legend-visitors {
  background: #1F5C96;
}

/* line 417, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-chart-legend-dot.sgad-legend-pageviews {
  background: #127A7A;
}

/* line 425, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-data-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 431, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-data-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 438, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-data-list-item:last-child {
  border-bottom: none;
}

/* line 443, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-data-list-content {
  flex: 1;
  min-width: 0;
}

/* line 448, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-data-list-primary {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 0.125rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 458, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-data-list-secondary {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-family: monospace;
}

/* line 464, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-data-list-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #4B5563;
  flex-shrink: 0;
  margin-left: 1rem;
}

/* line 472, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-data-list-bar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
  margin-left: 1rem;
}

/* line 480, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-bar-track {
  width: 80px;
  height: 6px;
  background: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 488, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-bar-fill {
  height: 100%;
  background: #1F5C96;
  border-radius: 9999px;
}

/* line 494, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-bar-value {
  font-size: 0.75rem;
  font-weight: 600;
  color: #6B7280;
  min-width: 3rem;
  text-align: right;
}

/* line 503, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-ranked-list-item {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 509, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-rank-number {
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  background: #F3F4F6;
  border-radius: 9999px;
  flex-shrink: 0;
}

/* line 526, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-breakdown-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 532, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-breakdown-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 539, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-breakdown-item:last-child {
  border-bottom: none;
}

/* line 544, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-breakdown-icon {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F3F4F6;
  border-radius: 6px;
  color: #6B7280;
  font-size: 0.875rem;
  flex-shrink: 0;
}

/* line 557, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-breakdown-content {
  flex: 1;
  min-width: 0;
}

/* line 562, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-breakdown-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 568, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-breakdown-sublabel {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 573, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-breakdown-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #4B5563;
}

/* line 579, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-breakdown-percent {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-left: 0.5rem;
}

/* line 588, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-support-table {
  width: 100%;
  border-collapse: collapse;
}

/* line 592, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-support-table thead th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 604, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-support-table tbody td {
  padding: 0.875rem 1rem;
  font-size: 0.875rem;
  color: #4B5563;
  border-bottom: 1px solid #F3F4F6;
  vertical-align: top;
}

/* line 612, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-support-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 616, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-support-table tbody tr:hover {
  background: #F9FAFB;
}

/* line 621, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-support-description {
  max-width: 300px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 628, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-support-email {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 633, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-support-date {
  font-size: 0.75rem;
  color: #9CA3AF;
  white-space: nowrap;
}

/* line 639, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-support-status {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
}

/* line 647, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-support-status.sgad-status-open {
  background: #F8F5ED;
  color: #8A6A06;
}

/* line 652, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-support-status.sgad-status-in-progress {
  background: #E4EEF8;
  color: #123B66;
}

/* line 657, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-support-status.sgad-status-resolved {
  background: #EDF4F0;
  color: #1F6B4E;
}

/* line 662, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
.sgad-support-status.sgad-status-closed {
  background: #F3F4F6;
  color: #6B7280;
}

@media (max-width: 1199px) {
  /* line 672, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-metrics-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 991px) {
  /* line 678, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-header-top {
    flex-direction: column;
  }
  /* line 682, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-metrics-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  /* line 686, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-metrics-grid-4,
.sgad-metrics-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 691, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-two-col,
.sgad-three-col {
    grid-template-columns: 1fr;
  }
  /* line 696, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-time-filter-options {
    flex-wrap: wrap;
  }
}

@media (max-width: 767px) {
  /* line 702, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-header {
    padding: 1.5rem 0;
  }
  /* line 706, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-header-title {
    font-size: 1.25rem;
  }
  /* line 710, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-metrics-grid,
.sgad-metrics-grid-4,
.sgad-metrics-grid-3,
.sgad-metrics-grid-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 717, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-time-filter {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 722, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-time-filter-custom {
    margin-left: 0;
    padding-left: 0;
    border-left: none;
    margin-top: 0.5rem;
  }
  /* line 729, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-support-table {
    font-size: 0.75rem;
  }
  /* line 732, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-support-table thead th,
.sgad-support-table tbody td {
    padding: 0.625rem 0.5rem;
  }
}

@media (max-width: 575px) {
  /* line 740, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-metrics-grid,
.sgad-metrics-grid-4,
.sgad-metrics-grid-3,
.sgad-metrics-grid-2 {
    grid-template-columns: 1fr;
  }
  /* line 747, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-time-filter-options {
    width: 100%;
  }
  /* line 751, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-time-filter-btn {
    flex: 1;
    text-align: center;
  }
  /* line 756, app/assets/stylesheets/_styleguide_admin_dashboard.scss */
  .sgad-bar-track {
    width: 60px;
  }
}

/* line 14, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-header {
  background: linear-gradient(180deg, #F4F7FC 0%, #FFFFFF 100%);
  padding: 2rem 0;
  margin-bottom: 2rem;
}

/* line 20, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-header-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 27, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-header-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.25rem 0;
}

/* line 34, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-header-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

/* line 40, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-header-meta {
  text-align: right;
}

/* line 44, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-header-updated {
  font-size: 0.75rem;
  color: #9CA3AF;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 51, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-header-updated i {
  font-size: 0.875rem;
}

/* line 56, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-header-count {
  font-size: 0.875rem;
  font-weight: 600;
  color: #4B5563;
  margin-top: 0.25rem;
}

/* line 66, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-feed {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 75, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-session {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

/* line 83, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-session:hover {
  border-color: #D1D5DB;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 88, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-session.sgaf-session-expanded {
  border-color: #4C7FB5;
}

/* line 93, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-session-header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 1.25rem;
  cursor: pointer;
  user-select: none;
}

/* line 101, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-session-header:hover {
  background: #F9FAFB;
}

/* line 107, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-session-identity {
  flex: 1;
  min-width: 0;
}

/* line 112, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-session-visitor {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

/* line 119, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-visitor-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 128, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-visitor-email {
  font-size: 0.75rem;
  color: #9CA3AF;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 136, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-auth-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.5rem;
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border-radius: 9999px;
  flex-shrink: 0;
}

/* line 148, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-auth-badge.sgaf-auth-authenticated {
  background: #EDF4F0;
  color: #1F6B4E;
}

/* line 153, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-auth-badge.sgaf-auth-anonymous {
  background: #F3F4F6;
  color: #6B7280;
}

/* line 159, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-session-context {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-top: 0.5rem;
}

/* line 166, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-context-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 173, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-context-item i {
  font-size: 0.875rem;
  color: #B8BFC7;
}

/* line 180, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-session-metrics {
  display: flex;
  gap: 1.5rem;
  flex-shrink: 0;
}

/* line 186, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-metric {
  text-align: center;
}

/* line 190, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-metric-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
}

/* line 197, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-metric-label {
  font-size: 10px;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 205, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-session-time {
  text-align: right;
  flex-shrink: 0;
  min-width: 100px;
}

/* line 211, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-time-relative {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 217, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-time-absolute {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.125rem;
}

/* line 224, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-session-expand {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  color: #B8BFC7;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

/* line 234, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-session-expanded .sgaf-session-expand {
  transform: rotate(180deg);
}

/* line 242, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-session-details {
  border-top: 1px solid #F3F4F6;
  background: #F9FAFB;
  padding: 1rem 1.25rem;
}

/* line 248, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-events-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

/* line 255, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-events-title {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 263, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-events-count {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 269, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-events-timeline {
  position: relative;
  padding-left: 1.5rem;
}

/* line 273, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-events-timeline::before {
  content: '';
  position: absolute;
  left: 0.375rem;
  top: 0.5rem;
  bottom: 0.5rem;
  width: 2px;
  background: #E5E7EB;
  border-radius: 1px;
}

/* line 285, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-event {
  position: relative;
  padding: 0.5rem 0;
  padding-left: 1rem;
}

/* line 290, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-event::before {
  content: '';
  position: absolute;
  left: -1.125rem;
  top: 0.875rem;
  width: 8px;
  height: 8px;
  background: #FFFFFF;
  border: 2px solid #D1D5DB;
  border-radius: 9999px;
}

/* line 302, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-event.sgaf-event-pageview::before {
  border-color: #1F5C96;
}

/* line 306, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-event.sgaf-event-action::before {
  border-color: #127A7A;
}

/* line 310, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-event:first-child::before {
  background: #1F5C96;
  border-color: #1F5C96;
}

/* line 316, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-event-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 323, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-event-content {
  flex: 1;
  min-width: 0;
}

/* line 328, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-event-type {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
  margin-bottom: 0.125rem;
}

/* line 339, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-event-type i {
  font-size: 0.75rem;
}

/* line 344, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-event-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 350, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-event-url {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-family: monospace;
  word-break: break-all;
  margin-top: 0.125rem;
}

/* line 358, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-event-time {
  font-size: 0.75rem;
  color: #B8BFC7;
  flex-shrink: 0;
  white-space: nowrap;
}

/* line 366, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-session-metadata {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid #E5E7EB;
}

/* line 375, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-metadata-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: #6B7280;
}

/* line 382, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-metadata-item i {
  color: #B8BFC7;
}

/* line 387, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-metadata-label {
  color: #9CA3AF;
}

/* line 391, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-metadata-value {
  font-weight: 500;
  color: #4B5563;
}

/* line 399, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-referrer {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.5rem;
  background: #E4EEF8;
  color: #123B66;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 4px;
}

/* line 411, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-utm-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

/* line 417, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-utm-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.375rem;
  background: #FDF0E3;
  color: #C4681A;
  font-size: 10px;
  font-weight: 500;
  border-radius: 4px;
}

/* line 431, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-load-more {
  display: flex;
  justify-content: center;
  padding: 1.5rem 0;
}

/* line 437, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-load-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #123B66;
  background: #FFFFFF;
  border: 1px solid #4C7FB5;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 451, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-load-more-btn:hover {
  background: #F4F7FC;
  border-color: #1F5C96;
}

/* line 456, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-load-more-btn i {
  font-size: 1rem;
}

/* line 464, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-empty {
  text-align: center;
  padding: 4rem 2rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
}

/* line 472, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-empty-icon {
  font-size: 3rem;
  color: #D1D5DB;
  margin-bottom: 1rem;
}

/* line 478, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-empty-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #4B5563;
  margin: 0 0 0.5rem 0;
}

/* line 485, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
.sgaf-empty-description {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

@media (max-width: 991px) {
  /* line 495, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
  .sgaf-header-top {
    flex-direction: column;
  }
  /* line 499, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
  .sgaf-header-meta {
    text-align: left;
  }
  /* line 503, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
  .sgaf-session-header {
    flex-wrap: wrap;
  }
  /* line 507, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
  .sgaf-session-metrics {
    order: 3;
    width: 100%;
    justify-content: flex-start;
    padding-top: 0.75rem;
    margin-top: 0.5rem;
    border-top: 1px solid #F3F4F6;
  }
  /* line 516, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
  .sgaf-session-time {
    text-align: left;
  }
}

@media (max-width: 767px) {
  /* line 522, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
  .sgaf-header {
    padding: 1.5rem 0;
  }
  /* line 526, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
  .sgaf-header-title {
    font-size: 1.25rem;
  }
  /* line 530, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
  .sgaf-session-header {
    padding: 0.875rem 1rem;
  }
  /* line 534, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
  .sgaf-session-context {
    flex-direction: column;
    gap: 0.375rem;
  }
  /* line 539, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
  .sgaf-session-metrics {
    gap: 1rem;
  }
  /* line 543, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
  .sgaf-session-details {
    padding: 0.875rem 1rem;
  }
  /* line 547, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
  .sgaf-events-timeline {
    padding-left: 1.25rem;
  }
  /* line 551, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
  .sgaf-session-metadata {
    flex-direction: column;
    gap: 0.5rem;
  }
}

@media (max-width: 575px) {
  /* line 558, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
  .sgaf-session-visitor {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }
  /* line 564, app/assets/stylesheets/_styleguide_admin_activity_feed.scss */
  .sgaf-session-expand {
    display: none;
  }
}

/* line 14, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-header {
  background: linear-gradient(180deg, #F4F7FC 0%, #FFFFFF 100%);
  padding: 2rem 0;
  margin-bottom: 2rem;
}

/* line 20, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 27, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-header-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.25rem 0;
}

/* line 34, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-header-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

/* line 40, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-header-actions {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 49, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #FFFFFF;
  background: #1F5C96;
  border: 1px solid #1F5C96;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}

/* line 64, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-btn-primary:hover {
  background: #123B66;
  border-color: #123B66;
  color: #FFFFFF;
}

/* line 70, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-btn-primary i {
  font-size: 1rem;
}

/* line 78, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-table-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 86, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-table-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 94, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-table-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 101, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-table-count {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 109, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-table {
  width: 100%;
  border-collapse: collapse;
}

/* line 114, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-table thead th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
  white-space: nowrap;
}

/* line 126, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-table thead th:first-child {
  padding-left: 1.25rem;
}

/* line 130, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-table thead th:last-child {
  padding-right: 1.25rem;
  text-align: right;
}

/* line 136, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-table tbody td {
  padding: 1rem;
  font-size: 0.875rem;
  color: #4B5563;
  border-bottom: 1px solid #F3F4F6;
  vertical-align: middle;
}

/* line 143, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-table tbody td:first-child {
  padding-left: 1.25rem;
}

/* line 147, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-table tbody td:last-child {
  padding-right: 1.25rem;
}

/* line 152, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 156, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-table tbody tr:hover {
  background: #F9FAFB;
}

/* line 161, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-post-title {
  font-weight: 500;
  color: #1F2933;
  text-decoration: none;
  display: block;
  max-width: 350px;
}

/* line 168, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-post-title:hover {
  color: #1F5C96;
  text-decoration: underline;
}

/* line 174, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-post-slug {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-family: monospace;
  margin-top: 0.25rem;
}

/* line 182, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-status {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  white-space: nowrap;
}

/* line 191, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-status.sgab-status-published {
  background: #EDF4F0;
  color: #1F6B4E;
}

/* line 196, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-status.sgab-status-draft {
  background: #F8F5ED;
  color: #8A6A06;
}

/* line 201, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-status.sgab-status-archived {
  background: #F3F4F6;
  color: #6B7280;
}

/* line 208, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-category {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  background: #E4EEF8;
  color: #123B66;
  border-radius: 4px;
  white-space: nowrap;
}

/* line 221, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-date {
  font-size: 0.875rem;
  color: #6B7280;
  white-space: nowrap;
}

/* line 227, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-date-empty {
  color: #B8BFC7;
  font-style: italic;
}

/* line 233, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-actions {
  display: flex;
  gap: 0.25rem;
  justify-content: flex-end;
}

/* line 239, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  font-size: 0.875rem;
  color: #9CA3AF;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}

/* line 254, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-action-btn:hover {
  background: #F3F4F6;
  color: #4B5563;
  border-color: #E5E7EB;
}

/* line 260, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-action-btn.sgab-action-view:hover {
  color: #1F5C96;
  background: #E4EEF8;
  border-color: #A3C4E0;
}

/* line 266, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-action-btn.sgab-action-edit:hover {
  color: #127A7A;
  background: #E2F5F5;
  border-color: #127A7A;
}

/* line 272, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-action-btn.sgab-action-archive:hover {
  color: #C4681A;
  background: #FDF0E3;
  border-color: #C4681A;
}

/* line 278, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-action-btn.sgab-action-delete:hover {
  color: #9B2331;
  background: #F8F0F1;
  border-color: #9B2331;
}

/* line 288, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-top: 1px solid #F3F4F6;
}

/* line 296, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-pagination-info {
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 301, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-pagination-controls {
  display: flex;
  gap: 0.25rem;
}

/* line 306, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-pagination-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 322, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-pagination-btn:hover:not(.active):not(:disabled) {
  background: #F9FAFB;
  border-color: #D1D5DB;
}

/* line 327, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-pagination-btn.active {
  background: #1F5C96;
  border-color: #1F5C96;
  color: #FFFFFF;
}

/* line 333, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* line 342, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-empty {
  text-align: center;
  padding: 4rem 2rem;
}

/* line 347, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-empty-icon {
  font-size: 3rem;
  color: #D1D5DB;
  margin-bottom: 1rem;
}

/* line 353, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-empty-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #4B5563;
  margin: 0 0 0.5rem 0;
}

/* line 360, app/assets/stylesheets/_styleguide_admin_blog.scss */
.sgab-empty-description {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0 0 1.5rem 0;
}

@media (max-width: 991px) {
  /* line 370, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-header-top {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 375, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-header-actions {
    width: 100%;
  }
  /* line 379, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-btn-primary {
    flex: 1;
    justify-content: center;
  }
  /* line 384, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-post-title {
    max-width: 250px;
  }
}

@media (max-width: 767px) {
  /* line 390, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-header {
    padding: 1.5rem 0;
  }
  /* line 394, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-header-title {
    font-size: 1.25rem;
  }
  /* line 398, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-table {
    font-size: 0.75rem;
  }
  /* line 402, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-table thead th,
.sgab-table tbody td {
    padding: 0.625rem 0.5rem;
  }
  /* line 406, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-table thead th:first-child,
.sgab-table tbody td:first-child {
    padding-left: 0.75rem;
  }
  /* line 410, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-table thead th:last-child,
.sgab-table tbody td:last-child {
    padding-right: 0.75rem;
  }
  /* line 415, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-post-title {
    max-width: 180px;
  }
  /* line 419, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-post-slug {
    display: none;
  }
  /* line 424, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-hide-mobile {
    display: none;
  }
  /* line 428, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-actions {
    flex-direction: column;
    gap: 0.125rem;
  }
  /* line 433, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-action-btn {
    width: 1.75rem;
    height: 1.75rem;
    font-size: 0.75rem;
  }
}

@media (max-width: 575px) {
  /* line 441, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-post-title {
    max-width: 140px;
  }
  /* line 445, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-pagination {
    flex-direction: column;
    gap: 0.75rem;
  }
  /* line 450, app/assets/stylesheets/_styleguide_admin_blog.scss */
  .sgab-pagination-info {
    order: 2;
  }
}

/* line 14, app/assets/stylesheets/_admin_refactor.scss */
.ad-loading {
  opacity: 0.6;
  pointer-events: none;
  transition: opacity 0.15s ease;
}

/* line 23, app/assets/stylesheets/_admin_refactor.scss */
.ad-header {
  padding: 2rem 0 1rem 0;
}

/* line 27, app/assets/stylesheets/_admin_refactor.scss */
.ad-header-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 34, app/assets/stylesheets/_admin_refactor.scss */
.ad-header-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.25rem 0;
}

/* line 41, app/assets/stylesheets/_admin_refactor.scss */
.ad-header-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

/* line 47, app/assets/stylesheets/_admin_refactor.scss */
.ad-header-updated {
  font-size: 0.75rem;
  color: #9CA3AF;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 54, app/assets/stylesheets/_admin_refactor.scss */
.ad-header-updated i {
  font-size: 0.875rem;
}

/* line 62, app/assets/stylesheets/_admin_refactor.scss */
.ad-time-filter {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

/* line 70, app/assets/stylesheets/_admin_refactor.scss */
.ad-time-filter-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 76, app/assets/stylesheets/_admin_refactor.scss */
.ad-time-filter-options {
  display: flex;
  gap: 0.25rem;
  background: #F3F4F6;
  border-radius: 6px;
  padding: 0.25rem;
}

/* line 85, app/assets/stylesheets/_admin_refactor.scss */
.ad-time-filter-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* line 91, app/assets/stylesheets/_admin_refactor.scss */
.ad-time-filter-btn {
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
  display: inline-block;
}

/* line 104, app/assets/stylesheets/_admin_refactor.scss */
.ad-time-filter-btn:hover {
  color: #1F2933;
  background: #E5E7EB;
}

/* line 111, app/assets/stylesheets/_admin_refactor.scss */
.ad-time-filter-radio:checked + .ad-time-filter-btn {
  color: #FFFFFF;
  background: #1F5C96;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 117, app/assets/stylesheets/_admin_refactor.scss */
.ad-time-filter-custom {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: 0.5rem;
  padding-left: 1rem;
  border-left: 1px solid #E5E7EB;
}

/* line 125, app/assets/stylesheets/_admin_refactor.scss */
.ad-time-filter-custom.d-none {
  display: none;
}

/* line 130, app/assets/stylesheets/_admin_refactor.scss */
.ad-date-input {
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  border: 1px solid #D1D5DB;
  border-radius: 4px;
  color: #4B5563;
}

/* line 137, app/assets/stylesheets/_admin_refactor.scss */
.ad-date-input:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.1);
}

/* line 147, app/assets/stylesheets/_admin_refactor.scss */
.ad-section {
  margin-bottom: 2rem;
}

/* line 151, app/assets/stylesheets/_admin_refactor.scss */
.ad-section-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 1rem 0;
}

/* line 163, app/assets/stylesheets/_admin_refactor.scss */
.ad-metrics-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
  margin-bottom: 2rem;
}

/* line 170, app/assets/stylesheets/_admin_refactor.scss */
.ad-metrics-grid-4 {
  grid-template-columns: repeat(4, 1fr);
}

/* line 174, app/assets/stylesheets/_admin_refactor.scss */
.ad-metrics-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

/* line 178, app/assets/stylesheets/_admin_refactor.scss */
.ad-metrics-grid-2 {
  grid-template-columns: repeat(2, 1fr);
}

/* line 182, app/assets/stylesheets/_admin_refactor.scss */
.ad-metric-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 192, app/assets/stylesheets/_admin_refactor.scss */
.ad-metric-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 198, app/assets/stylesheets/_admin_refactor.scss */
.ad-metric-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 206, app/assets/stylesheets/_admin_refactor.scss */
.ad-metric-icon {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 0.875rem;
}

/* line 215, app/assets/stylesheets/_admin_refactor.scss */
.ad-metric-icon.ad-metric-icon-blue {
  background: #E4EEF8;
  color: #123B66;
}

/* line 220, app/assets/stylesheets/_admin_refactor.scss */
.ad-metric-icon.ad-metric-icon-green {
  background: #EDF4F0;
  color: #1F6B4E;
}

/* line 225, app/assets/stylesheets/_admin_refactor.scss */
.ad-metric-icon.ad-metric-icon-purple {
  background: #E4EEF8;
  color: #0B2742;
}

/* line 230, app/assets/stylesheets/_admin_refactor.scss */
.ad-metric-icon.ad-metric-icon-orange {
  background: #FDF0E3;
  color: #C4681A;
}

/* line 235, app/assets/stylesheets/_admin_refactor.scss */
.ad-metric-icon.ad-metric-icon-teal {
  background: #E2F5F5;
  color: #127A7A;
}

/* line 240, app/assets/stylesheets/_admin_refactor.scss */
.ad-metric-icon.ad-metric-icon-cyan {
  background: #EDF3F8;
  color: #1D5E96;
}

/* line 247, app/assets/stylesheets/_admin_refactor.scss */
.ad-metric-value {
  font-family: 'Inter', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
}

/* line 255, app/assets/stylesheets/_admin_refactor.scss */
.ad-metric-change {
  font-size: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 261, app/assets/stylesheets/_admin_refactor.scss */
.ad-metric-change.ad-metric-change-up {
  color: #1F6B4E;
}

/* line 265, app/assets/stylesheets/_admin_refactor.scss */
.ad-metric-change.ad-metric-change-down {
  color: #9B2331;
}

/* line 269, app/assets/stylesheets/_admin_refactor.scss */
.ad-metric-change.ad-metric-change-neutral {
  color: #9CA3AF;
}

/* line 277, app/assets/stylesheets/_admin_refactor.scss */
.ad-comparison-metric {
  display: flex;
  gap: 1.5rem;
}

/* line 282, app/assets/stylesheets/_admin_refactor.scss */
.ad-comparison-item {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 288, app/assets/stylesheets/_admin_refactor.scss */
.ad-comparison-label {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 293, app/assets/stylesheets/_admin_refactor.scss */
.ad-comparison-value {
  font-family: 'Inter', sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 303, app/assets/stylesheets/_admin_refactor.scss */
.ad-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

/* line 310, app/assets/stylesheets/_admin_refactor.scss */
.ad-three-col {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 2rem;
}

/* line 320, app/assets/stylesheets/_admin_refactor.scss */
.ad-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 328, app/assets/stylesheets/_admin_refactor.scss */
.ad-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 336, app/assets/stylesheets/_admin_refactor.scss */
.ad-card-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 343, app/assets/stylesheets/_admin_refactor.scss */
.ad-card-action {
  font-size: 0.75rem;
  color: #1F5C96;
  text-decoration: none;
  font-weight: 500;
}

/* line 349, app/assets/stylesheets/_admin_refactor.scss */
.ad-card-action:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 355, app/assets/stylesheets/_admin_refactor.scss */
.ad-card-body {
  padding: 1.25rem;
}

/* line 359, app/assets/stylesheets/_admin_refactor.scss */
.ad-card-body-flush {
  padding: 0;
}

/* line 366, app/assets/stylesheets/_admin_refactor.scss */
.ad-chart-container {
  position: relative;
  height: 280px;
  padding: 1rem;
}

/* line 372, app/assets/stylesheets/_admin_refactor.scss */
.ad-chart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 380, app/assets/stylesheets/_admin_refactor.scss */
.ad-chart-toggle {
  display: flex;
  gap: 0.25rem;
  background: #F3F4F6;
  border-radius: 4px;
  padding: 0.125rem;
}

/* line 389, app/assets/stylesheets/_admin_refactor.scss */
.ad-chart-toggle input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* line 395, app/assets/stylesheets/_admin_refactor.scss */
.ad-chart-toggle-btn {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  display: inline-block;
}

/* line 408, app/assets/stylesheets/_admin_refactor.scss */
.ad-chart-toggle input[type="radio"]:checked + .ad-chart-toggle-btn {
  background: #FFFFFF;
  color: #1F2933;
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 414, app/assets/stylesheets/_admin_refactor.scss */
.ad-chart-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #B8BFC7;
  font-size: 0.875rem;
}

/* line 424, app/assets/stylesheets/_admin_refactor.scss */
.ad-chart-legend {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  padding: 0.75rem 1rem;
  border-top: 1px solid #F3F4F6;
}

/* line 432, app/assets/stylesheets/_admin_refactor.scss */
.ad-chart-legend-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: #6B7280;
}

/* line 440, app/assets/stylesheets/_admin_refactor.scss */
.ad-chart-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 9999px;
}

/* line 445, app/assets/stylesheets/_admin_refactor.scss */
.ad-chart-legend-dot.ad-legend-visitors {
  background: #1F5C96;
}

/* line 449, app/assets/stylesheets/_admin_refactor.scss */
.ad-chart-legend-dot.ad-legend-pageviews {
  background: #127A7A;
}

/* line 457, app/assets/stylesheets/_admin_refactor.scss */
.ad-data-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 463, app/assets/stylesheets/_admin_refactor.scss */
.ad-data-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 470, app/assets/stylesheets/_admin_refactor.scss */
.ad-data-list-item:last-child {
  border-bottom: none;
}

/* line 475, app/assets/stylesheets/_admin_refactor.scss */
.ad-data-list-content {
  flex: 1;
  min-width: 0;
}

/* line 480, app/assets/stylesheets/_admin_refactor.scss */
.ad-data-list-primary {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 0.125rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 490, app/assets/stylesheets/_admin_refactor.scss */
.ad-data-list-secondary {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-family: monospace;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 499, app/assets/stylesheets/_admin_refactor.scss */
.ad-data-list-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #4B5563;
  flex-shrink: 0;
  margin-left: 1rem;
}

/* line 507, app/assets/stylesheets/_admin_refactor.scss */
.ad-data-list-bar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
  margin-left: 1rem;
}

/* line 515, app/assets/stylesheets/_admin_refactor.scss */
.ad-bar-track {
  width: 80px;
  height: 6px;
  background: #F3F4F6;
  border-radius: 9999px;
  overflow: hidden;
}

/* line 523, app/assets/stylesheets/_admin_refactor.scss */
.ad-bar-fill {
  height: 100%;
  background: #1F5C96;
  border-radius: 9999px;
}

/* line 529, app/assets/stylesheets/_admin_refactor.scss */
.ad-bar-value {
  font-size: 0.75rem;
  font-weight: 600;
  color: #6B7280;
  min-width: 3rem;
  text-align: right;
}

/* line 538, app/assets/stylesheets/_admin_refactor.scss */
.ad-ranked-list-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
  min-width: 0;
}

/* line 546, app/assets/stylesheets/_admin_refactor.scss */
.ad-rank-number {
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
  color: #9CA3AF;
  background: #F3F4F6;
  border-radius: 9999px;
  flex-shrink: 0;
}

/* line 563, app/assets/stylesheets/_admin_refactor.scss */
.ad-breakdown-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 569, app/assets/stylesheets/_admin_refactor.scss */
.ad-breakdown-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 576, app/assets/stylesheets/_admin_refactor.scss */
.ad-breakdown-item:last-child {
  border-bottom: none;
}

/* line 581, app/assets/stylesheets/_admin_refactor.scss */
.ad-breakdown-icon {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F3F4F6;
  border-radius: 6px;
  color: #6B7280;
  font-size: 0.875rem;
  flex-shrink: 0;
}

/* line 594, app/assets/stylesheets/_admin_refactor.scss */
.ad-breakdown-content {
  flex: 1;
  min-width: 0;
}

/* line 599, app/assets/stylesheets/_admin_refactor.scss */
.ad-breakdown-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 605, app/assets/stylesheets/_admin_refactor.scss */
.ad-breakdown-sublabel {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 610, app/assets/stylesheets/_admin_refactor.scss */
.ad-breakdown-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #4B5563;
}

/* line 616, app/assets/stylesheets/_admin_refactor.scss */
.ad-breakdown-percent {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-left: 0.5rem;
}

/* line 625, app/assets/stylesheets/_admin_refactor.scss */
.ad-support-table {
  width: 100%;
  border-collapse: collapse;
}

/* line 629, app/assets/stylesheets/_admin_refactor.scss */
.ad-support-table thead th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 641, app/assets/stylesheets/_admin_refactor.scss */
.ad-support-table tbody td {
  padding: 0.875rem 1rem;
  font-size: 0.875rem;
  color: #4B5563;
  border-bottom: 1px solid #F3F4F6;
  vertical-align: top;
}

/* line 649, app/assets/stylesheets/_admin_refactor.scss */
.ad-support-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 653, app/assets/stylesheets/_admin_refactor.scss */
.ad-support-table tbody tr:hover {
  background: #F9FAFB;
}

/* line 658, app/assets/stylesheets/_admin_refactor.scss */
.ad-support-description {
  max-width: 300px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 665, app/assets/stylesheets/_admin_refactor.scss */
.ad-support-email {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 670, app/assets/stylesheets/_admin_refactor.scss */
.ad-support-date {
  font-size: 0.75rem;
  color: #9CA3AF;
  white-space: nowrap;
}

/* line 676, app/assets/stylesheets/_admin_refactor.scss */
.ad-support-status {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
}

/* line 684, app/assets/stylesheets/_admin_refactor.scss */
.ad-support-status.ad-status-open {
  background: #F8F5ED;
  color: #8A6A06;
}

/* line 689, app/assets/stylesheets/_admin_refactor.scss */
.ad-support-status.ad-status-in-progress {
  background: #E4EEF8;
  color: #123B66;
}

/* line 694, app/assets/stylesheets/_admin_refactor.scss */
.ad-support-status.ad-status-resolved {
  background: #EDF4F0;
  color: #1F6B4E;
}

/* line 699, app/assets/stylesheets/_admin_refactor.scss */
.ad-support-status.ad-status-closed {
  background: #F3F4F6;
  color: #6B7280;
}

@media (max-width: 1199px) {
  /* line 709, app/assets/stylesheets/_admin_refactor.scss */
  .ad-metrics-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 991px) {
  /* line 715, app/assets/stylesheets/_admin_refactor.scss */
  .ad-header-top {
    flex-direction: column;
  }
  /* line 719, app/assets/stylesheets/_admin_refactor.scss */
  .ad-metrics-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  /* line 723, app/assets/stylesheets/_admin_refactor.scss */
  .ad-metrics-grid-4,
.ad-metrics-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 728, app/assets/stylesheets/_admin_refactor.scss */
  .ad-two-col,
.ad-three-col {
    grid-template-columns: 1fr;
  }
  /* line 733, app/assets/stylesheets/_admin_refactor.scss */
  .ad-time-filter-options {
    flex-wrap: wrap;
  }
}

@media (max-width: 767px) {
  /* line 739, app/assets/stylesheets/_admin_refactor.scss */
  .ad-header {
    padding: 1.5rem 0;
  }
  /* line 743, app/assets/stylesheets/_admin_refactor.scss */
  .ad-header-title {
    font-size: 1.25rem;
  }
  /* line 747, app/assets/stylesheets/_admin_refactor.scss */
  .ad-metrics-grid,
.ad-metrics-grid-4,
.ad-metrics-grid-3,
.ad-metrics-grid-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 754, app/assets/stylesheets/_admin_refactor.scss */
  .ad-time-filter {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 759, app/assets/stylesheets/_admin_refactor.scss */
  .ad-time-filter-custom {
    margin-left: 0;
    padding-left: 0;
    border-left: none;
    margin-top: 0.5rem;
  }
  /* line 766, app/assets/stylesheets/_admin_refactor.scss */
  .ad-support-table {
    font-size: 0.75rem;
  }
  /* line 769, app/assets/stylesheets/_admin_refactor.scss */
  .ad-support-table thead th,
.ad-support-table tbody td {
    padding: 0.625rem 0.5rem;
  }
}

@media (max-width: 575px) {
  /* line 777, app/assets/stylesheets/_admin_refactor.scss */
  .ad-metrics-grid,
.ad-metrics-grid-4,
.ad-metrics-grid-3,
.ad-metrics-grid-2 {
    grid-template-columns: 1fr;
  }
  /* line 784, app/assets/stylesheets/_admin_refactor.scss */
  .ad-time-filter-options {
    width: 100%;
  }
  /* line 788, app/assets/stylesheets/_admin_refactor.scss */
  .ad-time-filter-btn {
    flex: 1;
    text-align: center;
  }
  /* line 794, app/assets/stylesheets/_admin_refactor.scss */
  .ad-data-list-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  /* line 800, app/assets/stylesheets/_admin_refactor.scss */
  .ad-data-list-bar {
    width: 100%;
    margin-left: 0;
  }
  /* line 805, app/assets/stylesheets/_admin_refactor.scss */
  .ad-bar-track {
    flex: 1;
    width: auto;
  }
}

/* line 18, app/assets/stylesheets/_admin_users.scss */
.au-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #6B7280;
  text-decoration: none;
  padding: 1rem 0;
}

/* line 27, app/assets/stylesheets/_admin_users.scss */
.au-back-link:hover {
  color: #1F5C96;
}

/* line 35, app/assets/stylesheets/_admin_users.scss */
.au-header {
  padding: 2rem 0;
}

/* line 39, app/assets/stylesheets/_admin_users.scss */
.au-header-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

/* line 47, app/assets/stylesheets/_admin_users.scss */
.au-header-identity {
  flex: 1;
}

/* line 51, app/assets/stylesheets/_admin_users.scss */
.au-header-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.25rem 0;
}

/* line 58, app/assets/stylesheets/_admin_users.scss */
.au-header-email {
  font-size: 1rem;
  color: #6B7280;
  margin: 0 0 0.5rem 0;
}

/* line 64, app/assets/stylesheets/_admin_users.scss */
.au-header-meta {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

/* line 70, app/assets/stylesheets/_admin_users.scss */
.au-header-actions {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 76, app/assets/stylesheets/_admin_users.scss */
.au-header-subscription {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  font-size: 0.875rem;
}

/* line 84, app/assets/stylesheets/_admin_users.scss */
.au-header-subscription-plan {
  font-weight: 600;
  color: #1F2933;
}

/* line 89, app/assets/stylesheets/_admin_users.scss */
.au-header-subscription-status {
  color: #6B7280;
}

/* line 94, app/assets/stylesheets/_admin_users.scss */
.au-metrics-dashboard {
  display: flex;
  gap: 1rem;
  margin-top: 0.5rem;
  align-items: flex-start;
}

/* line 101, app/assets/stylesheets/_admin_users.scss */
.au-metrics-col {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 107, app/assets/stylesheets/_admin_users.scss */
.au-metrics-group {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 0.75rem 1rem;
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 115, app/assets/stylesheets/_admin_users.scss */
.au-metrics-group-title {
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 0.5rem 0;
}

/* line 124, app/assets/stylesheets/_admin_users.scss */
.au-metrics-group-items {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 130, app/assets/stylesheets/_admin_users.scss */
.au-metrics-group-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

/* line 137, app/assets/stylesheets/_admin_users.scss */
.au-metrics-group-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

/* line 145, app/assets/stylesheets/_admin_users.scss */
.au-metrics-group-label {
  font-size: 10px;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 153, app/assets/stylesheets/_admin_users.scss */
.au-metrics-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 159, app/assets/stylesheets/_admin_users.scss */
.au-metrics-row {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.25rem 0;
}

/* line 166, app/assets/stylesheets/_admin_users.scss */
.au-metrics-row--hero {
  padding-bottom: 0.125rem;
}

/* line 169, app/assets/stylesheets/_admin_users.scss */
.au-metrics-row--hero .au-metrics-row-value {
  font-size: 1.25rem;
  font-weight: 700;
}

/* line 174, app/assets/stylesheets/_admin_users.scss */
.au-metrics-row--hero .au-metrics-row-label {
  font-size: 0.875rem;
  font-weight: 600;
}

/* line 180, app/assets/stylesheets/_admin_users.scss */
.au-metrics-row--footer {
  border-top: 1px solid #E5E7EB;
  margin-top: 0.25rem;
  padding-top: 0.5rem;
}

/* line 186, app/assets/stylesheets/_admin_users.scss */
.au-metrics-row-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
  font-variant-numeric: tabular-nums;
  min-width: 1.5rem;
}

/* line 194, app/assets/stylesheets/_admin_users.scss */
.au-metrics-row-label {
  font-size: 0.75rem;
  color: #6B7280;
}

/* line 199, app/assets/stylesheets/_admin_users.scss */
.au-metrics-row-breakdown {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.125rem 0 0.375rem 0.125rem;
  flex-wrap: wrap;
}

/* line 206, app/assets/stylesheets/_admin_users.scss */
.au-metrics-row-breakdown span {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-variant-numeric: tabular-nums;
}

/* line 211, app/assets/stylesheets/_admin_users.scss */
.au-metrics-row-breakdown span:not(:last-child)::after {
  content: "\00b7";
  margin-left: 0.5rem;
  color: #D1D5DB;
}

/* line 222, app/assets/stylesheets/_admin_users.scss */
.au-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
  cursor: pointer;
  border: 1px solid transparent;
}

/* line 237, app/assets/stylesheets/_admin_users.scss */
.au-btn-primary {
  background-color: #1F5C96;
  color: #FFFFFF;
  border-color: #1F5C96;
}

/* line 242, app/assets/stylesheets/_admin_users.scss */
.au-btn-primary:hover {
  background-color: #123B66;
  border-color: #123B66;
  color: #FFFFFF;
}

/* line 249, app/assets/stylesheets/_admin_users.scss */
.au-btn-secondary {
  background-color: #FFFFFF;
  color: #4B5563;
  border-color: #D1D5DB;
}

/* line 254, app/assets/stylesheets/_admin_users.scss */
.au-btn-secondary:hover {
  background-color: #F9FAFB;
  border-color: #B8BFC7;
  color: #1F2933;
}

/* line 261, app/assets/stylesheets/_admin_users.scss */
.au-btn-danger {
  background-color: #FFFFFF;
  color: #9B2331;
  border-color: #9B2331;
}

/* line 266, app/assets/stylesheets/_admin_users.scss */
.au-btn-danger:hover {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 275, app/assets/stylesheets/_admin_users.scss */
.au-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  white-space: nowrap;
}

/* line 285, app/assets/stylesheets/_admin_users.scss */
.au-badge-active {
  background-color: #EDF4F0;
  color: #1F6B4E;
}

/* line 290, app/assets/stylesheets/_admin_users.scss */
.au-badge-trial {
  background-color: #F8F5ED;
  color: #8A6A06;
}

/* line 295, app/assets/stylesheets/_admin_users.scss */
.au-badge-pending {
  background-color: #FDF0E3;
  color: #C4681A;
}

/* line 300, app/assets/stylesheets/_admin_users.scss */
.au-badge-canceled {
  background-color: #F8F0F1;
  color: #9B2331;
}

/* line 305, app/assets/stylesheets/_admin_users.scss */
.au-badge-complimentary {
  background-color: #E4EEF8;
  color: #123B66;
}

/* line 313, app/assets/stylesheets/_admin_users.scss */
.au-tabs-section {
  padding: 2rem 0 3rem;
}

/* line 317, app/assets/stylesheets/_admin_users.scss */
.au-tabs-header {
  margin-bottom: 2rem;
}

/* line 324, app/assets/stylesheets/_admin_users.scss */
.au-tab-panel {
  display: none;
}

/* line 327, app/assets/stylesheets/_admin_users.scss */
.au-tab-panel.active {
  display: block;
}

/* line 332, app/assets/stylesheets/_admin_users.scss */
.au-tab-panel-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0 0 1.5rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid #1F5C96;
  display: inline-block;
}

/* line 345, app/assets/stylesheets/_admin_users.scss */
.au-section {
  margin-bottom: 2rem;
}

/* line 348, app/assets/stylesheets/_admin_users.scss */
.au-section:last-child {
  margin-bottom: 0;
}

/* line 353, app/assets/stylesheets/_admin_users.scss */
.au-section-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 1rem 0;
}

/* line 362, app/assets/stylesheets/_admin_users.scss */
.au-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
}

/* line 371, app/assets/stylesheets/_admin_users.scss */
.au-profile-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

/* line 380, app/assets/stylesheets/_admin_users.scss */
.au-kv-table {
  width: 100%;
  border-collapse: collapse;
}

/* line 384, app/assets/stylesheets/_admin_users.scss */
.au-kv-table tr {
  border-bottom: 1px solid #F3F4F6;
}

/* line 387, app/assets/stylesheets/_admin_users.scss */
.au-kv-table tr:last-child {
  border-bottom: none;
}

/* line 392, app/assets/stylesheets/_admin_users.scss */
.au-kv-table td {
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
}

/* line 398, app/assets/stylesheets/_admin_users.scss */
.au-kv-label {
  color: #6B7280;
  width: 40%;
}

/* line 403, app/assets/stylesheets/_admin_users.scss */
.au-kv-value {
  color: #1F2933;
  font-weight: 500;
}

/* line 411, app/assets/stylesheets/_admin_users.scss */
.au-activity-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 422, app/assets/stylesheets/_admin_users.scss */
.au-activity-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 429, app/assets/stylesheets/_admin_users.scss */
.au-activity-item:last-child {
  border-bottom: none;
}

/* line 434, app/assets/stylesheets/_admin_users.scss */
.au-activity-type {
  flex-shrink: 0;
}

/* line 438, app/assets/stylesheets/_admin_users.scss */
.au-activity-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  background: #F3F4F6;
  border-radius: 4px;
}

/* line 449, app/assets/stylesheets/_admin_users.scss */
.au-activity-content {
  flex: 1;
  min-width: 0;
}

/* line 454, app/assets/stylesheets/_admin_users.scss */
.au-activity-page {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin-bottom: 0.125rem;
}

/* line 461, app/assets/stylesheets/_admin_users.scss */
.au-activity-url {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-family: monospace;
  word-break: break-all;
}

/* line 468, app/assets/stylesheets/_admin_users.scss */
.au-activity-time {
  flex-shrink: 0;
  font-size: 0.75rem;
  color: #9CA3AF;
  white-space: nowrap;
}

/* line 478, app/assets/stylesheets/_admin_users.scss */
.au-data-table {
  width: 100%;
  border-collapse: collapse;
}

/* line 482, app/assets/stylesheets/_admin_users.scss */
.au-data-table thead th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}

/* line 494, app/assets/stylesheets/_admin_users.scss */
.au-data-table tbody td {
  padding: 0.875rem 1rem;
  font-size: 0.875rem;
  color: #4B5563;
  border-bottom: 1px solid #F3F4F6;
}

/* line 501, app/assets/stylesheets/_admin_users.scss */
.au-data-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 513, app/assets/stylesheets/_admin_users.scss */
.au-billing-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 520, app/assets/stylesheets/_admin_users.scss */
.au-billing-item:last-child {
  border-bottom: none;
}

/* line 525, app/assets/stylesheets/_admin_users.scss */
.au-billing-icon {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.875rem;
  flex-shrink: 0;
}

/* line 535, app/assets/stylesheets/_admin_users.scss */
.au-billing-icon.au-billing-icon-success {
  background: #EDF4F0;
  color: #1F6B4E;
}

/* line 540, app/assets/stylesheets/_admin_users.scss */
.au-billing-icon.au-billing-icon-info {
  background: #E4EEF8;
  color: #123B66;
}

/* line 545, app/assets/stylesheets/_admin_users.scss */
.au-billing-icon.au-billing-icon-warning {
  background: #F8F5ED;
  color: #8A6A06;
}

/* line 550, app/assets/stylesheets/_admin_users.scss */
.au-billing-icon.au-billing-icon-danger {
  background: #F8F0F1;
  color: #9B2331;
}

/* line 556, app/assets/stylesheets/_admin_users.scss */
.au-billing-content {
  flex: 1;
}

/* line 560, app/assets/stylesheets/_admin_users.scss */
.au-billing-event {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 566, app/assets/stylesheets/_admin_users.scss */
.au-billing-date {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 571, app/assets/stylesheets/_admin_users.scss */
.au-billing-amount {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F2933;
}

/* line 577, app/assets/stylesheets/_admin_users.scss */
.au-billing-status {
  font-size: 0.75rem;
  color: #1F6B4E;
}

/* line 585, app/assets/stylesheets/_admin_users.scss */
.au-analytics-metrics {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

/* line 591, app/assets/stylesheets/_admin_users.scss */
.au-analytics-metric {
  flex: 1;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 1rem;
  text-align: center;
}

/* line 600, app/assets/stylesheets/_admin_users.scss */
.au-analytics-metric-value {
  font-family: 'Inter', sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1F2933;
  margin-bottom: 0.25rem;
}

/* line 608, app/assets/stylesheets/_admin_users.scss */
.au-analytics-metric-label {
  font-size: 0.75rem;
  color: #6B7280;
}

/* line 614, app/assets/stylesheets/_admin_users.scss */
.au-empty-state {
  padding: 3rem 1rem;
  text-align: center;
}

/* line 619, app/assets/stylesheets/_admin_users.scss */
.au-empty-state-icon {
  font-size: 3rem;
  color: #D1D5DB;
  margin-bottom: 1rem;
}

/* line 625, app/assets/stylesheets/_admin_users.scss */
.au-empty-state-title {
  font-size: 1rem;
  font-weight: 500;
  color: #6B7280;
  margin: 0 0 0.5rem 0;
}

/* line 632, app/assets/stylesheets/_admin_users.scss */
.au-empty-state-text {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

@media (max-width: 991px) {
  /* line 642, app/assets/stylesheets/_admin_users.scss */
  .au-header-top {
    flex-direction: column;
  }
  /* line 646, app/assets/stylesheets/_admin_users.scss */
  .au-header-actions {
    width: 100%;
  }
  /* line 650, app/assets/stylesheets/_admin_users.scss */
  .au-profile-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  /* line 656, app/assets/stylesheets/_admin_users.scss */
  .au-header {
    padding: 1.5rem 0;
  }
  /* line 660, app/assets/stylesheets/_admin_users.scss */
  .au-header-name {
    font-size: 1.25rem;
  }
  /* line 664, app/assets/stylesheets/_admin_users.scss */
  .au-metrics-dashboard,
.au-metrics-col {
    flex-direction: column;
  }
  /* line 669, app/assets/stylesheets/_admin_users.scss */
  .au-metrics-group-items {
    flex-wrap: wrap;
    gap: 0.75rem;
  }
  /* line 674, app/assets/stylesheets/_admin_users.scss */
  .au-analytics-metrics {
    flex-wrap: wrap;
  }
  /* line 678, app/assets/stylesheets/_admin_users.scss */
  .au-analytics-metric {
    flex: 1 1 calc(50% - 0.5rem);
    min-width: 120px;
  }
  /* line 683, app/assets/stylesheets/_admin_users.scss */
  .au-activity-item {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 688, app/assets/stylesheets/_admin_users.scss */
  .au-activity-time {
    align-self: flex-start;
  }
}

@media (max-width: 575px) {
  /* line 694, app/assets/stylesheets/_admin_users.scss */
  .au-header-actions {
    flex-direction: column;
  }
  /* line 697, app/assets/stylesheets/_admin_users.scss */
  .au-header-actions .au-btn {
    width: 100%;
    justify-content: center;
  }
  /* line 703, app/assets/stylesheets/_admin_users.scss */
  .au-analytics-metric {
    flex: 1 1 100%;
  }
}

/* line 715, app/assets/stylesheets/_admin_users.scss */
.au-index-header {
  background: linear-gradient(180deg, #F4F7FC 0%, transparent 100%);
  padding: 3rem 0 2rem;
}

/* line 720, app/assets/stylesheets/_admin_users.scss */
.au-index-header-title {
  font-size: 1.875rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
  margin-bottom: 0.75rem;
}

/* line 728, app/assets/stylesheets/_admin_users.scss */
.au-index-header-subtitle {
  font-size: 1rem;
  color: #6B7280;
  line-height: 1.5;
  margin: 0;
}

/* line 738, app/assets/stylesheets/_admin_users.scss */
.au-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.5rem 0;
  flex-wrap: wrap;
}

/* line 747, app/assets/stylesheets/_admin_users.scss */
.au-toolbar-left {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 754, app/assets/stylesheets/_admin_users.scss */
.au-toolbar-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 760, app/assets/stylesheets/_admin_users.scss */
.au-search {
  flex: 0 0 auto;
  width: 320px;
  position: relative;
}

/* line 766, app/assets/stylesheets/_admin_users.scss */
.au-search-icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #9CA3AF;
  font-size: 1rem;
  pointer-events: none;
}

/* line 776, app/assets/stylesheets/_admin_users.scss */
.au-search-input {
  width: 100%;
  padding: 0.75rem 1rem 0.75rem 2.75rem;
  font-size: 1rem;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  background: #FFFFFF;
  color: #1F2933;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 786, app/assets/stylesheets/_admin_users.scss */
.au-search-input::placeholder {
  color: #9CA3AF;
}

/* line 790, app/assets/stylesheets/_admin_users.scss */
.au-search-input:focus {
  outline: none;
  border-color: #3A7AB8;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.1);
}

/* line 800, app/assets/stylesheets/_admin_users.scss */
.au-filter-wrapper {
  flex-shrink: 0;
}

/* line 804, app/assets/stylesheets/_admin_users.scss */
.au-filter-select {
  appearance: none;
  -webkit-appearance: none;
  padding: 0.75rem 2.5rem 0.75rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  color: #1F2933;
  background-color: #FFFFFF;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 12px;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 821, app/assets/stylesheets/_admin_users.scss */
.au-filter-select:focus {
  outline: none;
  border-color: #3A7AB8;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.1);
}

/* line 827, app/assets/stylesheets/_admin_users.scss */
.au-filter-select:hover {
  border-color: #B8BFC7;
}

/* line 835, app/assets/stylesheets/_admin_users.scss */
.au-table-header-right {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

/* line 841, app/assets/stylesheets/_admin_users.scss */
.au-sort-control {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
}

/* line 848, app/assets/stylesheets/_admin_users.scss */
.au-sort-label {
  color: #9CA3AF;
  font-weight: 500;
}

/* line 853, app/assets/stylesheets/_admin_users.scss */
.au-sort-active {
  color: #1F2933;
  font-weight: 600;
}

/* line 858, app/assets/stylesheets/_admin_users.scss */
.au-sort-link {
  color: #9CA3AF;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 863, app/assets/stylesheets/_admin_users.scss */
.au-sort-link:hover {
  color: #1F5C96;
  text-decoration: underline;
}

/* line 872, app/assets/stylesheets/_admin_users.scss */
.au-subscription-county {
  display: block;
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.125rem;
}

/* line 882, app/assets/stylesheets/_admin_users.scss */
.au-user-cell {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 888, app/assets/stylesheets/_admin_users.scss */
.au-user-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 894, app/assets/stylesheets/_admin_users.scss */
.au-user-org {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-style: italic;
}

/* line 903, app/assets/stylesheets/_admin_users.scss */
.au-subscription-type {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 908, app/assets/stylesheets/_admin_users.scss */
.au-activity {
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 912, app/assets/stylesheets/_admin_users.scss */
.au-activity.au-activity-none {
  color: #9CA3AF;
  font-style: italic;
}

/* line 922, app/assets/stylesheets/_admin_users.scss */
.au-users-mobile {
  display: none;
  padding: 0.75rem;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 929, app/assets/stylesheets/_admin_users.scss */
.au-user-card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 942, app/assets/stylesheets/_admin_users.scss */
.au-user-card:hover, .au-user-card:focus-visible {
  color: inherit;
  text-decoration: none;
  border-color: #D1D5DB;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 951, app/assets/stylesheets/_admin_users.scss */
.au-user-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

/* line 958, app/assets/stylesheets/_admin_users.scss */
.au-user-card-identity {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
  flex: 1;
}

/* line 966, app/assets/stylesheets/_admin_users.scss */
.au-user-card-status {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.25rem;
  flex-shrink: 0;
}

/* line 974, app/assets/stylesheets/_admin_users.scss */
.au-user-card-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 0.625rem;
  border-top: 1px solid #F3F4F6;
}

/* line 983, app/assets/stylesheets/_admin_users.scss */
.au-user-card-sub {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
  flex: 1;
}

/* line 990, app/assets/stylesheets/_admin_users.scss */
.au-user-card-sub .au-subscription-county {
  margin-top: 0;
}

/* line 995, app/assets/stylesheets/_admin_users.scss */
.au-user-card-activity {
  flex-shrink: 0;
  font-size: 0.75rem;
  color: #9CA3AF;
  white-space: nowrap;
}

@media (max-width: 991px) {
  /* line 1006, app/assets/stylesheets/_admin_users.scss */
  .au-index-header {
    padding: 2rem 0 1.5rem;
  }
  /* line 1010, app/assets/stylesheets/_admin_users.scss */
  .au-index-header-title {
    font-size: 1.5rem;
  }
  /* line 1014, app/assets/stylesheets/_admin_users.scss */
  .au-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 1019, app/assets/stylesheets/_admin_users.scss */
  .au-toolbar-left {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 1024, app/assets/stylesheets/_admin_users.scss */
  .au-search {
    width: 100%;
  }
  /* line 1028, app/assets/stylesheets/_admin_users.scss */
  .au-toolbar-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  /* line 1034, app/assets/stylesheets/_admin_users.scss */
  .au-index-header {
    padding: 1.5rem 0 1rem;
  }
  /* line 1038, app/assets/stylesheets/_admin_users.scss */
  .au-index-header-title {
    font-size: 1.25rem;
  }
  /* line 1042, app/assets/stylesheets/_admin_users.scss */
  .au-toolbar-actions {
    flex-direction: column;
  }
  /* line 1045, app/assets/stylesheets/_admin_users.scss */
  .au-toolbar-actions .bb-btn {
    width: 100%;
    justify-content: center;
  }
  /* line 1052, app/assets/stylesheets/_admin_users.scss */
  .au-users-desktop {
    display: none;
  }
  /* line 1056, app/assets/stylesheets/_admin_users.scss */
  .au-users-mobile {
    display: flex;
    padding: 0;
  }
  /* line 1063, app/assets/stylesheets/_admin_users.scss */
  .bb-table-card {
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }
  /* line 1070, app/assets/stylesheets/_admin_users.scss */
  .bb-table-card-header {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
    padding: 0 0 0.75rem;
    border-bottom: none;
  }
  /* line 1078, app/assets/stylesheets/_admin_users.scss */
  .au-table-header-right {
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    justify-content: space-between;
  }
  /* line 1084, app/assets/stylesheets/_admin_users.scss */
  .bb-table-card-footer {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
    padding: 0.75rem 0 0;
    background: transparent;
    border-top: 1px solid #E5E7EB;
  }
}

/* line 14, app/assets/stylesheets/_admin_event_feed.scss */
.aef-header {
  padding: 1.5rem 0 0 0;
  margin-bottom: 1rem;
}

/* line 19, app/assets/stylesheets/_admin_event_feed.scss */
.aef-header-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 26, app/assets/stylesheets/_admin_event_feed.scss */
.aef-header-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.25rem 0;
}

/* line 33, app/assets/stylesheets/_admin_event_feed.scss */
.aef-header-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

/* line 39, app/assets/stylesheets/_admin_event_feed.scss */
.aef-header-meta {
  text-align: right;
}

/* line 43, app/assets/stylesheets/_admin_event_feed.scss */
.aef-header-updated {
  font-size: 0.75rem;
  color: #9CA3AF;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 50, app/assets/stylesheets/_admin_event_feed.scss */
.aef-header-updated i {
  font-size: 0.875rem;
}

/* line 55, app/assets/stylesheets/_admin_event_feed.scss */
.aef-header-count {
  font-size: 0.875rem;
  font-weight: 600;
  color: #4B5563;
  margin-top: 0.25rem;
}

/* line 65, app/assets/stylesheets/_admin_event_feed.scss */
.aef-feed {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 74, app/assets/stylesheets/_admin_event_feed.scss */
.aef-session {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

/* line 82, app/assets/stylesheets/_admin_event_feed.scss */
.aef-session:hover {
  border-color: #D1D5DB;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
}

/* line 87, app/assets/stylesheets/_admin_event_feed.scss */
.aef-session.aef-session-expanded {
  border-color: #4C7FB5;
}

/* line 92, app/assets/stylesheets/_admin_event_feed.scss */
.aef-session-header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 1.25rem;
  cursor: pointer;
  user-select: none;
}

/* line 100, app/assets/stylesheets/_admin_event_feed.scss */
.aef-session-header:hover {
  background: #F9FAFB;
}

/* line 106, app/assets/stylesheets/_admin_event_feed.scss */
.aef-session-identity {
  flex: 1;
  min-width: 0;
}

/* line 111, app/assets/stylesheets/_admin_event_feed.scss */
.aef-session-visitor {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

/* line 118, app/assets/stylesheets/_admin_event_feed.scss */
.aef-visitor-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 126, app/assets/stylesheets/_admin_event_feed.scss */
.aef-visitor-name a {
  color: #123B66;
  text-decoration: none;
}

/* line 130, app/assets/stylesheets/_admin_event_feed.scss */
.aef-visitor-name a:hover {
  color: #1F5C96;
  text-decoration: underline;
}

/* line 137, app/assets/stylesheets/_admin_event_feed.scss */
.aef-visitor-email {
  font-size: 0.75rem;
  color: #9CA3AF;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 145, app/assets/stylesheets/_admin_event_feed.scss */
.aef-auth-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.5rem;
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border-radius: 9999px;
  flex-shrink: 0;
}

/* line 157, app/assets/stylesheets/_admin_event_feed.scss */
.aef-auth-badge.aef-auth-authenticated {
  background: #EDF4F0;
  color: #1F6B4E;
}

/* line 162, app/assets/stylesheets/_admin_event_feed.scss */
.aef-auth-badge.aef-auth-anonymous {
  background: #F3F4F6;
  color: #6B7280;
}

/* line 167, app/assets/stylesheets/_admin_event_feed.scss */
.aef-auth-badge.aef-auth-converted {
  background: #F8F5ED;
  color: #8A6A06;
}

/* line 173, app/assets/stylesheets/_admin_event_feed.scss */
.aef-session-context {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-top: 0.5rem;
}

/* line 180, app/assets/stylesheets/_admin_event_feed.scss */
.aef-context-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 187, app/assets/stylesheets/_admin_event_feed.scss */
.aef-context-item i {
  font-size: 0.875rem;
  color: #B8BFC7;
}

/* line 194, app/assets/stylesheets/_admin_event_feed.scss */
.aef-session-metrics {
  display: flex;
  gap: 1.5rem;
  flex-shrink: 0;
}

/* line 200, app/assets/stylesheets/_admin_event_feed.scss */
.aef-metric {
  text-align: center;
}

/* line 204, app/assets/stylesheets/_admin_event_feed.scss */
.aef-metric-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
}

/* line 211, app/assets/stylesheets/_admin_event_feed.scss */
.aef-metric-label {
  font-size: 10px;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 219, app/assets/stylesheets/_admin_event_feed.scss */
.aef-session-time {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-left: 0.25rem;
}

/* line 226, app/assets/stylesheets/_admin_event_feed.scss */
.aef-session-expand {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  color: #B8BFC7;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

/* line 236, app/assets/stylesheets/_admin_event_feed.scss */
.aef-session-expanded .aef-session-expand {
  transform: rotate(180deg);
}

/* line 244, app/assets/stylesheets/_admin_event_feed.scss */
.aef-session-details {
  border-top: 1px solid #F3F4F6;
  background: #F9FAFB;
  padding: 1rem 1.25rem;
}

/* line 250, app/assets/stylesheets/_admin_event_feed.scss */
.aef-events-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

/* line 257, app/assets/stylesheets/_admin_event_feed.scss */
.aef-events-title {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 265, app/assets/stylesheets/_admin_event_feed.scss */
.aef-events-count {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 271, app/assets/stylesheets/_admin_event_feed.scss */
.aef-events-timeline {
  position: relative;
  padding-left: 1.5rem;
}

/* line 275, app/assets/stylesheets/_admin_event_feed.scss */
.aef-events-timeline::before {
  content: '';
  position: absolute;
  left: 0.375rem;
  top: 0.5rem;
  bottom: 0.5rem;
  width: 2px;
  background: #E5E7EB;
  border-radius: 1px;
}

/* line 287, app/assets/stylesheets/_admin_event_feed.scss */
.aef-event {
  position: relative;
  padding: 0.5rem 0;
  padding-left: 1rem;
}

/* line 292, app/assets/stylesheets/_admin_event_feed.scss */
.aef-event::before {
  content: '';
  position: absolute;
  left: -1.125rem;
  top: 0.875rem;
  width: 8px;
  height: 8px;
  background: #FFFFFF;
  border: 2px solid #D1D5DB;
  border-radius: 9999px;
}

/* line 304, app/assets/stylesheets/_admin_event_feed.scss */
.aef-event.aef-event-pageview::before {
  border-color: #1F5C96;
}

/* line 308, app/assets/stylesheets/_admin_event_feed.scss */
.aef-event.aef-event-action::before {
  border-color: #127A7A;
}

/* line 312, app/assets/stylesheets/_admin_event_feed.scss */
.aef-event:first-child::before {
  background: #1F5C96;
  border-color: #1F5C96;
}

/* line 318, app/assets/stylesheets/_admin_event_feed.scss */
.aef-event-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 325, app/assets/stylesheets/_admin_event_feed.scss */
.aef-event-content {
  flex: 1;
  min-width: 0;
}

/* line 330, app/assets/stylesheets/_admin_event_feed.scss */
.aef-event-type {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #9CA3AF;
  margin-bottom: 0.125rem;
}

/* line 341, app/assets/stylesheets/_admin_event_feed.scss */
.aef-event-type i {
  font-size: 0.75rem;
}

/* line 346, app/assets/stylesheets/_admin_event_feed.scss */
.aef-event-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 352, app/assets/stylesheets/_admin_event_feed.scss */
.aef-event-url {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-family: monospace;
  word-break: break-all;
  margin-top: 0.125rem;
}

/* line 360, app/assets/stylesheets/_admin_event_feed.scss */
.aef-event-time {
  font-size: 0.75rem;
  color: #B8BFC7;
  flex-shrink: 0;
  white-space: nowrap;
}

/* line 368, app/assets/stylesheets/_admin_event_feed.scss */
.aef-event-actions {
  margin-top: 0.5rem;
  margin-left: 0.5rem;
  padding-left: 0.75rem;
  border-left: 2px solid #E5E7EB;
}

/* line 375, app/assets/stylesheets/_admin_event_feed.scss */
.aef-action {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.375rem 0;
}

/* line 381, app/assets/stylesheets/_admin_event_feed.scss */
.aef-action:first-child {
  padding-top: 0;
}

/* line 386, app/assets/stylesheets/_admin_event_feed.scss */
.aef-action-icon {
  color: #127A7A;
  font-size: 0.75rem;
  margin-top: 0.125rem;
}

/* line 392, app/assets/stylesheets/_admin_event_feed.scss */
.aef-action-content {
  flex: 1;
  min-width: 0;
}

/* line 397, app/assets/stylesheets/_admin_event_feed.scss */
.aef-action-title {
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 403, app/assets/stylesheets/_admin_event_feed.scss */
.aef-action-details {
  display: block;
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.125rem;
}

/* line 410, app/assets/stylesheets/_admin_event_feed.scss */
.aef-action-time {
  font-size: 10px;
  color: #B8BFC7;
  flex-shrink: 0;
  white-space: nowrap;
}

/* line 418, app/assets/stylesheets/_admin_event_feed.scss */
.aef-session-metadata {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid #E5E7EB;
}

/* line 427, app/assets/stylesheets/_admin_event_feed.scss */
.aef-metadata-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: #6B7280;
}

/* line 434, app/assets/stylesheets/_admin_event_feed.scss */
.aef-metadata-item i {
  color: #B8BFC7;
}

/* line 439, app/assets/stylesheets/_admin_event_feed.scss */
.aef-metadata-label {
  color: #9CA3AF;
}

/* line 443, app/assets/stylesheets/_admin_event_feed.scss */
.aef-metadata-value {
  font-weight: 500;
  color: #4B5563;
}

/* line 451, app/assets/stylesheets/_admin_event_feed.scss */
.aef-referrer {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.5rem;
  background: #E4EEF8;
  color: #123B66;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 4px;
}

/* line 463, app/assets/stylesheets/_admin_event_feed.scss */
.aef-utm-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

/* line 469, app/assets/stylesheets/_admin_event_feed.scss */
.aef-utm-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.375rem;
  background: #FDF0E3;
  color: #C4681A;
  font-size: 10px;
  font-weight: 500;
  border-radius: 4px;
}

/* line 483, app/assets/stylesheets/_admin_event_feed.scss */
.aef-quality-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.5rem;
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border-radius: 9999px;
  flex-shrink: 0;
}

/* line 495, app/assets/stylesheets/_admin_event_feed.scss */
.aef-quality-badge.aef-quality-engaged {
  background: #EDF4F0;
  color: #1F6B4E;
}

/* line 500, app/assets/stylesheets/_admin_event_feed.scss */
.aef-quality-badge.aef-quality-interested {
  background: #E4EEF8;
  color: #123B66;
}

/* line 505, app/assets/stylesheets/_admin_event_feed.scss */
.aef-quality-badge.aef-quality-browsing {
  background: #F3F4F6;
  color: #6B7280;
}

/* line 510, app/assets/stylesheets/_admin_event_feed.scss */
.aef-quality-badge.aef-quality-bounced {
  background: #F8F0F1;
  color: #9B2331;
}

/* line 515, app/assets/stylesheets/_admin_event_feed.scss */
.aef-quality-badge.aef-quality-reading {
  background: #E2F5F5;
  color: #127A7A;
}

/* line 522, app/assets/stylesheets/_admin_event_feed.scss */
.aef-campaign-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.5rem;
  background: #FDF0E3;
  color: #C4681A;
  font-size: 10px;
  font-weight: 500;
  border-radius: 9999px;
  flex-shrink: 0;
}

/* line 534, app/assets/stylesheets/_admin_event_feed.scss */
.aef-campaign-badge i {
  font-size: 0.75rem;
}

/* line 542, app/assets/stylesheets/_admin_event_feed.scss */
.aef-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
}

/* line 554, app/assets/stylesheets/_admin_event_feed.scss */
.aef-filter-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 560, app/assets/stylesheets/_admin_event_feed.scss */
.aef-filter-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 568, app/assets/stylesheets/_admin_event_feed.scss */
.aef-filter-select {
  padding: 0.375rem 2rem 0.375rem 0.75rem;
  font-size: 0.875rem;
  color: #4B5563;
  background: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 12px;
}

/* line 582, app/assets/stylesheets/_admin_event_feed.scss */
.aef-filter-select:hover {
  border-color: #B8BFC7;
}

/* line 586, app/assets/stylesheets/_admin_event_feed.scss */
.aef-filter-select:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 2px rgba(31, 92, 150, 0.15);
}

/* line 593, app/assets/stylesheets/_admin_event_feed.scss */
.aef-filter-reset {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #9CA3AF;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: color 0.15s ease;
}

/* line 603, app/assets/stylesheets/_admin_event_feed.scss */
.aef-filter-reset:hover {
  color: #1F5C96;
}

/* line 611, app/assets/stylesheets/_admin_event_feed.scss */
.aef-load-more {
  display: flex;
  justify-content: center;
  padding: 1.5rem 0;
}

/* line 617, app/assets/stylesheets/_admin_event_feed.scss */
.aef-load-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #123B66;
  background: #FFFFFF;
  border: 1px solid #4C7FB5;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 631, app/assets/stylesheets/_admin_event_feed.scss */
.aef-load-more-btn:hover {
  background: #F4F7FC;
  border-color: #1F5C96;
}

/* line 636, app/assets/stylesheets/_admin_event_feed.scss */
.aef-load-more-btn i {
  font-size: 1rem;
}

/* line 644, app/assets/stylesheets/_admin_event_feed.scss */
.aef-empty {
  text-align: center;
  padding: 4rem 2rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
}

/* line 652, app/assets/stylesheets/_admin_event_feed.scss */
.aef-empty-icon {
  font-size: 3rem;
  color: #D1D5DB;
  margin-bottom: 1rem;
}

/* line 658, app/assets/stylesheets/_admin_event_feed.scss */
.aef-empty-title {
  font-size: 1.125rem;
  font-weight: 500;
  color: #4B5563;
  margin: 0 0 0.5rem 0;
}

/* line 665, app/assets/stylesheets/_admin_event_feed.scss */
.aef-empty-description {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

@media (max-width: 991px) {
  /* line 675, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-header-top {
    flex-direction: column;
  }
  /* line 679, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-header-meta {
    text-align: left;
  }
  /* line 683, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-session-header {
    flex-wrap: wrap;
  }
  /* line 687, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-session-metrics {
    order: 3;
    width: 100%;
    justify-content: flex-start;
    padding-top: 0.75rem;
    margin-top: 0.5rem;
    border-top: 1px solid #F3F4F6;
  }
}

@media (max-width: 767px) {
  /* line 698, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-header {
    padding: 1.5rem 0;
  }
  /* line 702, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-header-title {
    font-size: 1.25rem;
  }
  /* line 706, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-session-header {
    padding: 0.875rem 1rem;
  }
  /* line 710, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-session-context {
    flex-direction: column;
    gap: 0.375rem;
  }
  /* line 715, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-session-metrics {
    gap: 1rem;
  }
  /* line 719, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-session-details {
    padding: 0.875rem 1rem;
  }
  /* line 723, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-events-timeline {
    padding-left: 1.25rem;
  }
  /* line 727, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-session-metadata {
    flex-direction: column;
    gap: 0.5rem;
  }
}

@media (max-width: 575px) {
  /* line 735, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-session-header {
    min-height: 44px;
    padding: 1rem;
  }
  /* line 741, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-session-visitor {
    flex-wrap: wrap;
    gap: 0.375rem;
  }
  /* line 746, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-session-time {
    width: 100%;
    margin-left: 0;
    margin-top: 0.25rem;
    font-size: 0.75rem;
  }
  /* line 754, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-session-expand {
    width: 1.25rem;
    height: 1.25rem;
    font-size: 0.75rem;
  }
  /* line 761, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-event-header {
    flex-direction: column;
    gap: 0.25rem;
  }
  /* line 766, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-event-time {
    align-self: flex-start;
  }
  /* line 771, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-session-metrics {
    gap: 0.75rem;
  }
  /* line 775, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-metric-value {
    font-size: 0.875rem;
  }
  /* line 779, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-metric-label {
    font-size: 9px;
  }
  /* line 784, app/assets/stylesheets/_admin_event_feed.scss */
  .aef-action-time {
    font-size: 9px;
  }
}

/* line 14, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-header {
  padding: 1.5rem 0 0 0;
  margin-bottom: 1rem;
}

/* line 19, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 26, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-header-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.25rem 0;
}

/* line 33, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-header-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

/* line 39, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-header-actions {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 48, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #FFFFFF;
  background: #1F5C96;
  border: 1px solid #1F5C96;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}

/* line 63, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-btn-primary:hover {
  background: #123B66;
  border-color: #123B66;
  color: #FFFFFF;
  text-decoration: none;
}

/* line 70, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-btn-primary i {
  font-size: 1rem;
}

/* line 75, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4B5563;
  background: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}

/* line 90, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-btn-secondary:hover {
  background: #F9FAFB;
  border-color: #B8BFC7;
  color: #1F2933;
  text-decoration: none;
}

/* line 97, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-btn-secondary i {
  font-size: 0.875rem;
}

/* line 105, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-table-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.06), 0 1px 2px rgba(31, 41, 51, 0.04);
  overflow: hidden;
  margin-bottom: 1.5rem;
}

/* line 114, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-table-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
}

/* line 122, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-table-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0;
}

/* line 129, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-table-count {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 137, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-table {
  width: 100%;
  border-collapse: collapse;
}

/* line 142, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-table thead th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
  white-space: nowrap;
}

/* line 154, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-table thead th:first-child {
  padding-left: 1.25rem;
}

/* line 158, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-table thead th:last-child {
  padding-right: 1.25rem;
  text-align: right;
}

/* line 164, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-table tbody td {
  padding: 1rem;
  font-size: 0.875rem;
  color: #4B5563;
  border-bottom: 1px solid #F3F4F6;
  vertical-align: middle;
}

/* line 171, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-table tbody td:first-child {
  padding-left: 1.25rem;
}

/* line 175, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-table tbody td:last-child {
  padding-right: 1.25rem;
}

/* line 180, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 184, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-table tbody tr:hover {
  background: #F9FAFB;
}

/* line 192, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-table-compact thead th {
  padding: 0.5rem 0.75rem;
}

/* line 196, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-table-compact tbody td {
  padding: 0.625rem 0.75rem;
}

/* line 201, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-category-name {
  font-weight: 500;
  color: #1F2933;
}

/* line 206, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-category-slug {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-family: monospace;
}

/* line 212, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-category-count {
  font-size: 0.875rem;
  color: #6B7280;
  font-weight: 500;
}

/* line 223, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-post-title {
  font-weight: 500;
  color: #123B66;
  text-decoration: none;
  display: block;
  max-width: 350px;
}

/* line 230, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-post-title:hover {
  color: #1F5C96;
  text-decoration: underline;
}

/* line 236, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-post-slug {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-family: monospace;
  margin-top: 0.25rem;
}

/* line 244, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-status {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  white-space: nowrap;
}

/* line 253, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-status.abp-status-published {
  background: #EDF4F0;
  color: #1F6B4E;
}

/* line 258, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-status.abp-status-draft {
  background: #F8F5ED;
  color: #8A6A06;
}

/* line 263, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-status.abp-status-archived {
  background: #F3F4F6;
  color: #6B7280;
}

/* line 270, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-category {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  background: #E4EEF8;
  color: #123B66;
  border-radius: 4px;
  white-space: nowrap;
}

/* line 282, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-category-empty {
  color: #B8BFC7;
  font-style: italic;
  font-size: 0.75rem;
}

/* line 289, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-date {
  font-size: 0.875rem;
  color: #6B7280;
  white-space: nowrap;
}

/* line 295, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-date-empty {
  color: #B8BFC7;
  font-style: italic;
}

/* line 301, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-actions {
  display: flex;
  gap: 0.25rem;
  justify-content: flex-end;
}

/* line 307, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  font-size: 0.875rem;
  color: #9CA3AF;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}

/* line 322, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-action-btn:hover {
  background: #F3F4F6;
  color: #4B5563;
  border-color: #E5E7EB;
}

/* line 328, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-action-btn.abp-action-view:hover {
  color: #1F5C96;
  background: #E4EEF8;
  border-color: #A3C4E0;
}

/* line 334, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-action-btn.abp-action-edit:hover {
  color: #127A7A;
  background: #E2F5F5;
  border-color: #127A7A;
}

/* line 340, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-action-btn.abp-action-publish:hover {
  color: #1F6B4E;
  background: #EDF4F0;
  border-color: #1F6B4E;
}

/* line 346, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-action-btn.abp-action-archive:hover {
  color: #C4681A;
  background: #FDF0E3;
  border-color: #C4681A;
}

/* line 352, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-action-btn.abp-action-delete:hover {
  color: #9B2331;
  background: #F8F0F1;
  border-color: #9B2331;
}

/* line 358, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-action-btn:disabled, .abp-action-btn.disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}

/* line 369, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-top: 1px solid #F3F4F6;
}

/* line 377, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-pagination-info {
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 382, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-pagination-controls {
  display: flex;
  gap: 0.25rem;
}

/* line 387, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-pagination-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6B7280;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 403, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-pagination-btn:hover:not(.active):not(:disabled) {
  background: #F9FAFB;
  border-color: #D1D5DB;
}

/* line 408, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-pagination-btn.active {
  background: #1F5C96;
  border-color: #1F5C96;
  color: #FFFFFF;
}

/* line 414, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* line 423, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-empty {
  text-align: center;
  padding: 3rem 2rem;
}

/* line 428, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-empty-icon {
  font-size: 2.5rem;
  color: #D1D5DB;
  margin-bottom: 0.75rem;
}

/* line 434, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-empty-title {
  font-size: 1rem;
  font-weight: 500;
  color: #4B5563;
  margin: 0 0 0.375rem 0;
}

/* line 441, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-empty-description {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

@media (max-width: 991px) {
  /* line 451, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-header-top {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 456, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-header-actions {
    width: 100%;
  }
  /* line 460, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-btn-primary {
    flex: 1;
    justify-content: center;
  }
  /* line 465, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-post-title {
    max-width: 250px;
  }
}

@media (max-width: 767px) {
  /* line 471, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-header {
    padding: 1rem 0 0 0;
  }
  /* line 475, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-header-title {
    font-size: 1.25rem;
  }
  /* line 479, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-table-card {
    overflow-x: auto;
  }
  /* line 483, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-table {
    font-size: 0.75rem;
    min-width: 480px;
  }
  /* line 488, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-table thead th,
.abp-table tbody td {
    padding: 0.625rem 0.5rem;
  }
  /* line 492, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-table thead th:first-child,
.abp-table tbody td:first-child {
    padding-left: 0.75rem;
  }
  /* line 496, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-table thead th:last-child,
.abp-table tbody td:last-child {
    padding-right: 0.75rem;
  }
  /* line 501, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-post-title {
    max-width: 180px;
  }
  /* line 505, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-post-slug {
    display: none;
  }
  /* line 510, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-hide-mobile {
    display: none;
  }
  /* line 514, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-actions {
    flex-direction: column;
    gap: 0.125rem;
  }
  /* line 519, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-action-btn {
    width: 1.75rem;
    height: 1.75rem;
    font-size: 0.75rem;
  }
}

@media (max-width: 575px) {
  /* line 527, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-post-title {
    max-width: 140px;
  }
  /* line 531, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-pagination {
    flex-direction: column;
    gap: 0.75rem;
  }
  /* line 536, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-pagination-info {
    order: 2;
  }
}

/* line 548, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-form-section {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  margin-bottom: 1rem;
  overflow: hidden;
}

/* line 556, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-form-section-header {
  padding: 0.875rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 567, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-form-section-header i {
  color: #9CA3AF;
}

/* line 572, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-form-section-body {
  padding: 1rem;
}

/* line 579, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  margin-bottom: 0.375rem;
}

/* line 587, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-form-help {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
}

/* line 596, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-input-group {
  display: flex;
}

/* line 599, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-input-group .abp-input-prefix {
  display: flex;
  align-items: center;
  padding: 0 0.75rem;
  font-size: 0.875rem;
  color: #6B7280;
  background: #F3F4F6;
  border: 1px solid #D1D5DB;
  border-right: none;
  border-radius: 6px 0 0 6px;
  white-space: nowrap;
}

/* line 612, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-input-group .bb-input {
  border-radius: 0 6px 6px 0;
  flex: 1;
}

/* line 621, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-editor-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
}

/* line 628, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-editor-tabs {
  border-bottom: 1px solid #E5E7EB;
}

/* line 632, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-editor-preview {
  padding: 1.5rem;
  min-height: 300px;
  background: #FFFFFF;
}

/* line 638, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-editor-preview h1, .abp-editor-preview h2, .abp-editor-preview h3, .abp-editor-preview h4, .abp-editor-preview h5, .abp-editor-preview h6 {
  color: #1F2933;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

/* line 643, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-editor-preview h1:first-child, .abp-editor-preview h2:first-child, .abp-editor-preview h3:first-child, .abp-editor-preview h4:first-child, .abp-editor-preview h5:first-child, .abp-editor-preview h6:first-child {
  margin-top: 0;
}

/* line 648, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-editor-preview p {
  margin-bottom: 1rem;
  line-height: 1.6;
}

/* line 653, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-editor-preview img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
}

/* line 663, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-sidebar {
  position: sticky;
  top: 1rem;
}

/* line 671, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-file-input {
  position: relative;
}

/* line 674, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-file-input input[type="file"] {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}

/* line 685, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-file-input .abp-file-input-display {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 0.875rem;
  background: #FFFFFF;
  border: 1px dashed #D1D5DB;
  border-radius: 6px;
  transition: all 0.15s ease;
}

/* line 696, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-file-input:hover .abp-file-input-display {
  border-color: #3A7AB8;
  background: #F4F7FC;
}

/* line 701, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-file-input .abp-file-input-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  background: #F3F4F6;
  border-radius: 6px;
  color: #6B7280;
  font-size: 1rem;
  flex-shrink: 0;
}

/* line 714, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-file-input:hover .abp-file-input-icon {
  background: #E4EEF8;
  color: #1F5C96;
}

/* line 719, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-file-input .abp-file-input-text {
  flex: 1;
  min-width: 0;
}

/* line 724, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-file-input .abp-file-input-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 730, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-file-input .abp-file-input-hint {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 735, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-file-input .abp-file-input-btn {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #1F5C96;
  background: #E4EEF8;
  border-radius: 4px;
  white-space: nowrap;
}

/* line 745, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-file-input:hover .abp-file-input-btn {
  background: #A3C4E0;
  color: #123B66;
}

/* line 754, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-file-preview {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  background: #F9FAFB;
  border-radius: 6px;
  margin-top: 0.75rem;
}

/* line 763, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-file-preview i {
  font-size: 1.5rem;
  color: #9CA3AF;
}

/* line 769, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-file-info {
  flex: 1;
  min-width: 0;
}

/* line 774, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-file-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 783, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-file-size {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 791, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-image-preview {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #E5E7EB;
}

/* line 796, app/assets/stylesheets/_admin_blog_posts.scss */
.abp-image-preview img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  margin-bottom: 0.5rem;
}

@media (max-width: 991px) {
  /* line 808, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-sidebar {
    position: static;
  }
}

@media (max-width: 767px) {
  /* line 814, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-form-section-body {
    padding: 0.875rem;
  }
  /* line 818, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-input-group {
    flex-direction: column;
  }
  /* line 821, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-input-group .abp-input-prefix {
    border-right: 1px solid #D1D5DB;
    border-bottom: none;
    border-radius: 6px 6px 0 0;
    padding: 0.5rem 0.75rem;
  }
  /* line 828, app/assets/stylesheets/_admin_blog_posts.scss */
  .abp-input-group .bb-input {
    border-radius: 0 0 6px 6px;
  }
}

/* line 18, app/assets/stylesheets/_admin_people.scss */
.apm-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #6B7280;
  text-decoration: none;
  padding: 1rem 0;
}

/* line 27, app/assets/stylesheets/_admin_people.scss */
.apm-back-link:hover {
  color: #1F5C96;
}

/* line 35, app/assets/stylesheets/_admin_people.scss */
.apm-index-header {
  background: linear-gradient(180deg, #F4F7FC 0%, transparent 100%);
  padding: 3rem 0 2rem;
}

/* line 40, app/assets/stylesheets/_admin_people.scss */
.apm-index-header-title {
  font-size: 1.875rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
  margin-bottom: 0.75rem;
}

/* line 48, app/assets/stylesheets/_admin_people.scss */
.apm-index-header-subtitle {
  font-size: 1rem;
  color: #6B7280;
  line-height: 1.5;
  margin: 0;
}

/* line 58, app/assets/stylesheets/_admin_people.scss */
.apm-header {
  padding: 2rem 0;
}

/* line 62, app/assets/stylesheets/_admin_people.scss */
.apm-header-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

/* line 70, app/assets/stylesheets/_admin_people.scss */
.apm-header-identity {
  flex: 1;
}

/* line 74, app/assets/stylesheets/_admin_people.scss */
.apm-header-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 0.25rem 0;
}

/* line 81, app/assets/stylesheets/_admin_people.scss */
.apm-header-fullname {
  font-size: 1rem;
  color: #6B7280;
  margin: 0 0 0.5rem 0;
}

/* line 87, app/assets/stylesheets/_admin_people.scss */
.apm-header-subtitle {
  font-size: 1rem;
  color: #6B7280;
  margin: 0;
}

/* line 93, app/assets/stylesheets/_admin_people.scss */
.apm-header-meta {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 102, app/assets/stylesheets/_admin_people.scss */
.apm-header-actions {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 111, app/assets/stylesheets/_admin_people.scss */
.apm-header-metrics {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 0.625rem 1rem;
  box-shadow: 0 1px 2px rgba(31, 41, 51, 0.04);
}

/* line 122, app/assets/stylesheets/_admin_people.scss */
.apm-header-metrics-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

/* line 129, app/assets/stylesheets/_admin_people.scss */
.apm-header-metrics-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1F2933;
  line-height: 1.2;
}

/* line 136, app/assets/stylesheets/_admin_people.scss */
.apm-header-metrics-label {
  font-size: 10px;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 143, app/assets/stylesheets/_admin_people.scss */
.apm-header-metrics-divider {
  width: 1px;
  height: 1.5rem;
  background: #E5E7EB;
}

/* line 152, app/assets/stylesheets/_admin_people.scss */
.apm-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.5rem 0;
  flex-wrap: wrap;
}

/* line 161, app/assets/stylesheets/_admin_people.scss */
.apm-toolbar-left {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 168, app/assets/stylesheets/_admin_people.scss */
.apm-toolbar-right {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 174, app/assets/stylesheets/_admin_people.scss */
.apm-search {
  flex: 0 0 auto;
  width: 280px;
  position: relative;
}

/* line 180, app/assets/stylesheets/_admin_people.scss */
.apm-search-icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #9CA3AF;
  font-size: 1rem;
  pointer-events: none;
}

/* line 190, app/assets/stylesheets/_admin_people.scss */
.apm-search-input {
  width: 100%;
  padding: 0.75rem 1rem 0.75rem 2.75rem;
  font-size: 1rem;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  background: #FFFFFF;
  color: #1F2933;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 200, app/assets/stylesheets/_admin_people.scss */
.apm-search-input::placeholder {
  color: #9CA3AF;
}

/* line 204, app/assets/stylesheets/_admin_people.scss */
.apm-search-input:focus {
  outline: none;
  border-color: #3A7AB8;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.1);
}

/* line 214, app/assets/stylesheets/_admin_people.scss */
.apm-person-cell {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 220, app/assets/stylesheets/_admin_people.scss */
.apm-person-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 226, app/assets/stylesheets/_admin_people.scss */
.apm-person-full-name {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 231, app/assets/stylesheets/_admin_people.scss */
.apm-cell-primary {
  font-size: 0.875rem;
  color: #1F2933;
  display: block;
}

/* line 237, app/assets/stylesheets/_admin_people.scss */
.apm-cell-secondary {
  font-size: 0.75rem;
  color: #9CA3AF;
  display: block;
}

/* line 243, app/assets/stylesheets/_admin_people.scss */
.apm-link {
  color: #1F5C96;
  text-decoration: none;
}

/* line 247, app/assets/stylesheets/_admin_people.scss */
.apm-link:hover {
  color: #123B66;
  text-decoration: underline;
}

/* line 256, app/assets/stylesheets/_admin_people.scss */
.apm-action-buttons {
  display: flex;
  gap: 0.25rem;
  flex-wrap: wrap;
}

/* line 265, app/assets/stylesheets/_admin_people.scss */
.apm-content-section {
  padding: 1.5rem 0 3rem;
}

/* line 269, app/assets/stylesheets/_admin_people.scss */
.apm-content-block {
  margin-bottom: 2rem;
}

/* line 272, app/assets/stylesheets/_admin_people.scss */
.apm-content-block:last-child {
  margin-bottom: 0;
}

/* line 277, app/assets/stylesheets/_admin_people.scss */
.apm-content-block-title {
  font-size: 1rem;
  font-weight: 500;
  color: #4B5563;
  margin: 0 0 0.75rem 0;
}

/* line 287, app/assets/stylesheets/_admin_people.scss */
.apm-nested-row {
  background: #F9FAFB;
}

/* line 290, app/assets/stylesheets/_admin_people.scss */
.apm-nested-row > td {
  padding: 0 !important;
  border-top: none !important;
}

/* line 296, app/assets/stylesheets/_admin_people.scss */
.apm-nested-committees {
  padding: 0.75rem 1rem 0.75rem 2rem;
  border-left: 3px solid #A3C4E0;
  margin-left: 1rem;
}

/* line 302, app/assets/stylesheets/_admin_people.scss */
.apm-nested-header {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 313, app/assets/stylesheets/_admin_people.scss */
.apm-nested-header i {
  color: #1F5C96;
}

/* line 318, app/assets/stylesheets/_admin_people.scss */
.apm-nested-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 324, app/assets/stylesheets/_admin_people.scss */
.apm-nested-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 0.75rem;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
}

/* line 335, app/assets/stylesheets/_admin_people.scss */
.apm-nested-item-info {
  flex: 1;
  min-width: 0;
}

/* line 340, app/assets/stylesheets/_admin_people.scss */
.apm-nested-item-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  display: block;
}

/* line 347, app/assets/stylesheets/_admin_people.scss */
.apm-nested-item-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
  display: block;
}

/* line 356, app/assets/stylesheets/_admin_people.scss */
.apm-section {
  margin-bottom: 2rem;
}

/* line 359, app/assets/stylesheets/_admin_people.scss */
.apm-section:last-child {
  margin-bottom: 0;
}

/* line 367, app/assets/stylesheets/_admin_people.scss */
.apm-empty-state {
  padding: 3rem 1rem;
  text-align: center;
}

/* line 372, app/assets/stylesheets/_admin_people.scss */
.apm-empty-state-icon {
  font-size: 3rem;
  color: #D1D5DB;
  margin-bottom: 1rem;
}

/* line 378, app/assets/stylesheets/_admin_people.scss */
.apm-empty-state-title {
  font-size: 1rem;
  font-weight: 500;
  color: #6B7280;
  margin: 0 0 0.5rem 0;
}

/* line 385, app/assets/stylesheets/_admin_people.scss */
.apm-empty-state-text {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

/* line 394, app/assets/stylesheets/_admin_people.scss */
.apm-merge-card-body {
  padding: 1.5rem;
}

/* line 398, app/assets/stylesheets/_admin_people.scss */
.apm-merge-person-name {
  font-size: 1.125rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0 0 0.5rem 0;
}

/* line 405, app/assets/stylesheets/_admin_people.scss */
.apm-merge-person-meta {
  font-size: 0.875rem;
  color: #6B7280;
  margin: 0 0 1.5rem 0;
}

/* line 411, app/assets/stylesheets/_admin_people.scss */
.apm-merge-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

/* line 417, app/assets/stylesheets/_admin_people.scss */
.apm-merge-stat {
  text-align: center;
  padding: 0.75rem;
  background: #F9FAFB;
  border-radius: 6px;
}

/* line 424, app/assets/stylesheets/_admin_people.scss */
.apm-merge-stat-value {
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1F2933;
}

/* line 431, app/assets/stylesheets/_admin_people.scss */
.apm-merge-stat-label {
  font-size: 0.75rem;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 438, app/assets/stylesheets/_admin_people.scss */
.apm-merge-arrow {
  font-size: 3rem;
  color: #1F5C96;
}

/* line 443, app/assets/stylesheets/_admin_people.scss */
.apm-merge-warning {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
  background: #F8F5ED;
  border-radius: 6px;
  font-size: 0.875rem;
  color: #8A6A06;
}

/* line 453, app/assets/stylesheets/_admin_people.scss */
.apm-merge-warning i {
  flex-shrink: 0;
  font-size: 1.125rem;
}

/* line 462, app/assets/stylesheets/_admin_people.scss */
.apm-search-results {
  max-height: 200px;
  overflow-y: auto;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  margin-bottom: 1rem;
}

/* line 470, app/assets/stylesheets/_admin_people.scss */
.apm-search-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #F3F4F6;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

/* line 479, app/assets/stylesheets/_admin_people.scss */
.apm-search-result:last-child {
  border-bottom: none;
}

/* line 483, app/assets/stylesheets/_admin_people.scss */
.apm-search-result:hover {
  background: #F9FAFB;
}

/* line 487, app/assets/stylesheets/_admin_people.scss */
.apm-search-result.selected {
  background: #F4F7FC;
  border-color: #A3C4E0;
}

/* line 493, app/assets/stylesheets/_admin_people.scss */
.apm-search-result-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 499, app/assets/stylesheets/_admin_people.scss */
.apm-search-result-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 504, app/assets/stylesheets/_admin_people.scss */
.apm-search-result-item {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #F3F4F6;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

/* line 513, app/assets/stylesheets/_admin_people.scss */
.apm-search-result-item:last-child {
  border-bottom: none;
}

/* line 517, app/assets/stylesheets/_admin_people.scss */
.apm-search-result-item:hover {
  background: #F9FAFB;
}

/* line 522, app/assets/stylesheets/_admin_people.scss */
.apm-search-no-results,
.apm-search-error {
  padding: 1rem;
  text-align: center;
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 530, app/assets/stylesheets/_admin_people.scss */
.apm-search-error {
  color: #9B2331;
}

/* line 535, app/assets/stylesheets/_admin_people.scss */
.apm-selected-target {
  padding: 1rem;
  background: #EDF4F0;
  border: 1px solid #1F6B4E;
  border-radius: 6px;
  margin-bottom: 1rem;
}

/* line 543, app/assets/stylesheets/_admin_people.scss */
.apm-selected-target-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
  font-size: 0.75rem;
  color: #1F6B4E;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 557, app/assets/stylesheets/_admin_people.scss */
.apm-split-card-body {
  padding: 1.5rem;
}

/* line 561, app/assets/stylesheets/_admin_people.scss */
.apm-split-group {
  margin-bottom: 1.5rem;
}

/* line 564, app/assets/stylesheets/_admin_people.scss */
.apm-split-group:last-child {
  margin-bottom: 0;
}

/* line 569, app/assets/stylesheets/_admin_people.scss */
.apm-split-group-header {
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #E5E7EB;
}

/* line 575, app/assets/stylesheets/_admin_people.scss */
.apm-split-group-check-all {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  margin: 0;
}

/* line 585, app/assets/stylesheets/_admin_people.scss */
.apm-split-group-check-all input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  accent-color: #1F5C96;
}

/* line 592, app/assets/stylesheets/_admin_people.scss */
.apm-split-record {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.5rem 0.5rem 0.5rem 1.5rem;
  cursor: pointer;
  margin: 0;
  border-radius: 4px;
  transition: background-color 0.15s ease;
}

/* line 602, app/assets/stylesheets/_admin_people.scss */
.apm-split-record:hover {
  background: #F9FAFB;
}

/* line 606, app/assets/stylesheets/_admin_people.scss */
.apm-split-record input[type="checkbox"] {
  margin-top: 0.125rem;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  accent-color: #1F5C96;
}

/* line 615, app/assets/stylesheets/_admin_people.scss */
.apm-split-record-info {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}

/* line 622, app/assets/stylesheets/_admin_people.scss */
.apm-split-record-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
}

/* line 628, app/assets/stylesheets/_admin_people.scss */
.apm-split-record-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 633, app/assets/stylesheets/_admin_people.scss */
.apm-split-info {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
  background: #EDF3F8;
  border-radius: 6px;
  font-size: 0.875rem;
  color: #1D5E96;
}

/* line 643, app/assets/stylesheets/_admin_people.scss */
.apm-split-info i {
  flex-shrink: 0;
  font-size: 1.125rem;
}

/* line 652, app/assets/stylesheets/_admin_people.scss */
.apm-reassign-item {
  font-size: 0.875rem;
  color: #6B7280;
  margin-bottom: 1rem;
  padding: 0.75rem;
  background: #F9FAFB;
  border-radius: 6px;
}

/* line 664, app/assets/stylesheets/_admin_people.scss */
.apm-action-options {
  display: flex;
  gap: 0.75rem;
}

/* line 669, app/assets/stylesheets/_admin_people.scss */
.apm-action-option {
  flex: 1;
  cursor: pointer;
  margin: 0;
}

/* line 674, app/assets/stylesheets/_admin_people.scss */
.apm-action-option input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* line 680, app/assets/stylesheets/_admin_people.scss */
.apm-action-option .apm-action-option-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
  padding: 0.75rem;
  background: #FFFFFF;
  border: 2px solid #E5E7EB;
  border-radius: 6px;
  transition: all 0.15s ease;
}

/* line 691, app/assets/stylesheets/_admin_people.scss */
.apm-action-option .apm-action-option-content i {
  font-size: 1.125rem;
  color: #9CA3AF;
}

/* line 696, app/assets/stylesheets/_admin_people.scss */
.apm-action-option .apm-action-option-content span {
  font-size: 0.875rem;
  color: #4B5563;
}

/* line 702, app/assets/stylesheets/_admin_people.scss */
.apm-action-option:hover .apm-action-option-content {
  border-color: #B8BFC7;
}

/* line 706, app/assets/stylesheets/_admin_people.scss */
.apm-action-option input[type="radio"]:checked + .apm-action-option-content {
  border-color: #1F5C96;
  background: #F4F7FC;
}

/* line 710, app/assets/stylesheets/_admin_people.scss */
.apm-action-option input[type="radio"]:checked + .apm-action-option-content i {
  color: #1F5C96;
}

/* line 714, app/assets/stylesheets/_admin_people.scss */
.apm-action-option input[type="radio"]:checked + .apm-action-option-content span {
  color: #123B66;
  font-weight: 500;
}

/* line 724, app/assets/stylesheets/_admin_people.scss */
.apm-picker-selected {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.75rem;
  background: #F4F7FC;
  border: 1px solid #A3C4E0;
  border-radius: 6px;
  margin-bottom: 0.5rem;
}

/* line 735, app/assets/stylesheets/_admin_people.scss */
.apm-picker-selected-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: #123B66;
}

/* line 741, app/assets/stylesheets/_admin_people.scss */
.apm-picker-clear {
  background: none;
  border: none;
  padding: 0.25rem;
  cursor: pointer;
  color: #9CA3AF;
  line-height: 1;
}

/* line 749, app/assets/stylesheets/_admin_people.scss */
.apm-picker-clear:hover {
  color: #9B2331;
}

/* line 754, app/assets/stylesheets/_admin_people.scss */
.apm-picker-results {
  position: absolute;
  z-index: 100;
  width: 100%;
  max-height: 200px;
  overflow-y: auto;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  box-shadow: 0 4px 6px rgba(31, 41, 51, 0.05), 0 2px 4px rgba(31, 41, 51, 0.03);
  margin-top: 0.25rem;
}

/* line 767, app/assets/stylesheets/_admin_people.scss */
.apm-picker-result {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0.75rem;
  cursor: pointer;
  border-bottom: 1px solid #F3F4F6;
}

/* line 775, app/assets/stylesheets/_admin_people.scss */
.apm-picker-result:last-child {
  border-bottom: none;
}

/* line 779, app/assets/stylesheets/_admin_people.scss */
.apm-picker-result:hover {
  background: #F9FAFB;
}

/* line 784, app/assets/stylesheets/_admin_people.scss */
.apm-picker-result-name {
  font-size: 0.875rem;
  color: #1F2933;
}

/* line 789, app/assets/stylesheets/_admin_people.scss */
.apm-picker-result-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 794, app/assets/stylesheets/_admin_people.scss */
.apm-picker-no-results {
  padding: 0.75rem;
  text-align: center;
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 802, app/assets/stylesheets/_admin_people.scss */
[data-controller="admin-person-picker"] {
  position: relative;
}

/* line 809, app/assets/stylesheets/_admin_people.scss */
.apm-form-body {
  padding: 1.5rem;
}

/* line 813, app/assets/stylesheets/_admin_people.scss */
.apm-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid #F3F4F6;
  margin-top: 1.5rem;
}

/* line 825, app/assets/stylesheets/_admin_people.scss */
.apm-sources-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 830, app/assets/stylesheets/_admin_people.scss */
.apm-sources-list li {
  padding: 0.5rem 0;
  border-bottom: 1px solid #F3F4F6;
  font-size: 0.875rem;
}

/* line 835, app/assets/stylesheets/_admin_people.scss */
.apm-sources-list li:last-child {
  border-bottom: none;
}

/* line 839, app/assets/stylesheets/_admin_people.scss */
.apm-sources-list li a {
  color: #1F5C96;
  text-decoration: none;
}

/* line 843, app/assets/stylesheets/_admin_people.scss */
.apm-sources-list li a:hover {
  text-decoration: underline;
}

/* line 850, app/assets/stylesheets/_admin_people.scss */
.apm-source-date {
  display: block;
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-top: 0.25rem;
}

@media (max-width: 991px) {
  /* line 861, app/assets/stylesheets/_admin_people.scss */
  .apm-index-header {
    padding: 2rem 0 1.5rem;
  }
  /* line 865, app/assets/stylesheets/_admin_people.scss */
  .apm-index-header-title {
    font-size: 1.5rem;
  }
  /* line 869, app/assets/stylesheets/_admin_people.scss */
  .apm-header-top {
    flex-direction: column;
  }
  /* line 873, app/assets/stylesheets/_admin_people.scss */
  .apm-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 878, app/assets/stylesheets/_admin_people.scss */
  .apm-toolbar-left {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 883, app/assets/stylesheets/_admin_people.scss */
  .apm-search {
    width: 100%;
  }
  /* line 887, app/assets/stylesheets/_admin_people.scss */
  .apm-merge-arrow {
    transform: rotate(90deg);
  }
}

@media (max-width: 767px) {
  /* line 893, app/assets/stylesheets/_admin_people.scss */
  .apm-index-header {
    padding: 1.5rem 0 1rem;
  }
  /* line 897, app/assets/stylesheets/_admin_people.scss */
  .apm-index-header-title {
    font-size: 1.25rem;
  }
  /* line 901, app/assets/stylesheets/_admin_people.scss */
  .apm-header {
    padding: 1.5rem 0;
  }
  /* line 905, app/assets/stylesheets/_admin_people.scss */
  .apm-header-name {
    font-size: 1.25rem;
  }
  /* line 909, app/assets/stylesheets/_admin_people.scss */
  .apm-header-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
  }
  /* line 916, app/assets/stylesheets/_admin_people.scss */
  .apm-header-metrics-divider {
    display: none;
  }
  /* line 920, app/assets/stylesheets/_admin_people.scss */
  .apm-merge-stats {
    grid-template-columns: 1fr;
  }
}

/* line 14, app/assets/stylesheets/_admin_data_quality.scss */
.adq-metric-warning {
  border-left: 3px solid #8A6A06;
}

/* line 21, app/assets/stylesheets/_admin_data_quality.scss */
.ad-metrics-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

@media (max-width: 991px) {
  /* line 21, app/assets/stylesheets/_admin_data_quality.scss */
  .ad-metrics-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  /* line 21, app/assets/stylesheets/_admin_data_quality.scss */
  .ad-metrics-grid-3 {
    grid-template-columns: 1fr;
  }
}

/* line 38, app/assets/stylesheets/_admin_data_quality.scss */
.adq-person-cell {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 44, app/assets/stylesheets/_admin_data_quality.scss */
.adq-person-name {
  font-weight: 500;
  color: #1F2933;
}

/* line 52, app/assets/stylesheets/_admin_data_quality.scss */
.adq-incumbents-list,
.adq-candidates-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 59, app/assets/stylesheets/_admin_data_quality.scss */
.adq-incumbent-item,
.adq-candidate-item {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding: 0.375rem 0.5rem;
  background: #F9FAFB;
  border-radius: 4px;
  font-size: 0.875rem;
}

/* line 70, app/assets/stylesheets/_admin_data_quality.scss */
.adq-incumbent-title,
.adq-candidate-office {
  font-weight: 500;
  color: #323C47;
}

/* line 76, app/assets/stylesheets/_admin_data_quality.scss */
.adq-incumbent-jurisdiction,
.adq-candidate-jurisdiction {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 85, app/assets/stylesheets/_admin_data_quality.scss */
.adq-finder-body {
  padding: 1.5rem;
}

/* line 89, app/assets/stylesheets/_admin_data_quality.scss */
.adq-finder-form {
  margin-bottom: 1.5rem;
}

/* line 93, app/assets/stylesheets/_admin_data_quality.scss */
.adq-finder-controls {
  display: flex;
  align-items: flex-end;
  gap: 1.5rem;
  flex-wrap: wrap;
}

/* line 100, app/assets/stylesheets/_admin_data_quality.scss */
.adq-finder-field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 106, app/assets/stylesheets/_admin_data_quality.scss */
.adq-finder-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 112, app/assets/stylesheets/_admin_data_quality.scss */
.adq-finder-select {
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  border: 1px solid #D1D5DB;
  border-radius: 4px;
  color: #4B5563;
  background: #FFFFFF;
  min-width: 150px;
}

/* line 121, app/assets/stylesheets/_admin_data_quality.scss */
.adq-finder-select:focus {
  outline: none;
  border-color: #1F5C96;
  box-shadow: 0 0 0 3px rgba(31, 92, 150, 0.1);
}

/* line 128, app/assets/stylesheets/_admin_data_quality.scss */
.adq-finder-actions {
  margin-left: auto;
}

/* line 135, app/assets/stylesheets/_admin_data_quality.scss */
.adq-finder-results {
  border-top: 1px solid #E5E7EB;
  padding-top: 1.5rem;
}

/* line 140, app/assets/stylesheets/_admin_data_quality.scss */
.adq-finder-results-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  color: #4B5563;
  font-size: 0.875rem;
}

/* line 149, app/assets/stylesheets/_admin_data_quality.scss */
.adq-finder-results-note {
  color: #9CA3AF;
  font-size: 0.75rem;
}

/* line 157, app/assets/stylesheets/_admin_data_quality.scss */
.adq-groups-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 163, app/assets/stylesheets/_admin_data_quality.scss */
.adq-group {
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  background: #FFFFFF;
  overflow: hidden;
}

/* line 170, app/assets/stylesheets/_admin_data_quality.scss */
.adq-group.adq-group-expanded .adq-group-chevron {
  transform: rotate(180deg);
}

/* line 176, app/assets/stylesheets/_admin_data_quality.scss */
.adq-group-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.875rem 1rem;
  background: #F9FAFB;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background-color 0.15s ease;
}

/* line 188, app/assets/stylesheets/_admin_data_quality.scss */
.adq-group-header:hover {
  background: #F3F4F6;
}

/* line 193, app/assets/stylesheets/_admin_data_quality.scss */
.adq-group-info {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 199, app/assets/stylesheets/_admin_data_quality.scss */
.adq-group-number {
  font-size: 0.75rem;
  font-weight: 600;
  color: #9CA3AF;
  background: #E5E7EB;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

/* line 208, app/assets/stylesheets/_admin_data_quality.scss */
.adq-group-name {
  font-weight: 500;
  color: #1F2933;
}

/* line 213, app/assets/stylesheets/_admin_data_quality.scss */
.adq-group-count {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 218, app/assets/stylesheets/_admin_data_quality.scss */
.adq-group-chevron {
  color: #9CA3AF;
  transition: transform 0.2s ease;
}

/* line 223, app/assets/stylesheets/_admin_data_quality.scss */
.adq-group-content {
  border-top: 1px solid #E5E7EB;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 234, app/assets/stylesheets/_admin_data_quality.scss */
.adq-person-card {
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  padding: 1rem;
  background: #FFFFFF;
}

/* line 241, app/assets/stylesheets/_admin_data_quality.scss */
.adq-person-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 248, app/assets/stylesheets/_admin_data_quality.scss */
.adq-person-index {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #E4EEF8;
  color: #123B66;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 9999px;
}

/* line 261, app/assets/stylesheets/_admin_data_quality.scss */
.adq-person-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 268, app/assets/stylesheets/_admin_data_quality.scss */
.adq-person-meta {
  font-size: 0.75rem;
  color: #9CA3AF;
}

/* line 273, app/assets/stylesheets/_admin_data_quality.scss */
.adq-person-actions-header {
  display: flex;
  gap: 0.5rem;
  margin-left: auto;
}

/* line 282, app/assets/stylesheets/_admin_data_quality.scss */
.adq-person-records {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #F3F4F6;
}

/* line 288, app/assets/stylesheets/_admin_data_quality.scss */
.adq-record-section {
  margin-bottom: 0.75rem;
}

/* line 291, app/assets/stylesheets/_admin_data_quality.scss */
.adq-record-section:last-child {
  margin-bottom: 0;
}

/* line 296, app/assets/stylesheets/_admin_data_quality.scss */
.adq-record-header {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.375rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* line 307, app/assets/stylesheets/_admin_data_quality.scss */
.adq-record-header i {
  font-size: 0.875rem;
  color: #9CA3AF;
}

/* line 313, app/assets/stylesheets/_admin_data_quality.scss */
.adq-record-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 319, app/assets/stylesheets/_admin_data_quality.scss */
.adq-record-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.375rem 0.5rem;
  background: #F9FAFB;
  border-radius: 4px;
  margin-bottom: 0.25rem;
  font-size: 0.875rem;
}

/* line 329, app/assets/stylesheets/_admin_data_quality.scss */
.adq-record-item:last-child {
  margin-bottom: 0;
}

/* line 334, app/assets/stylesheets/_admin_data_quality.scss */
.adq-record-text {
  flex: 1;
  color: #4B5563;
  line-height: 1.4;
}

/* line 339, app/assets/stylesheets/_admin_data_quality.scss */
.adq-record-text strong {
  color: #323C47;
}

/* line 344, app/assets/stylesheets/_admin_data_quality.scss */
.adq-status-badge {
  font-size: 10px;
  font-weight: 700;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
  text-transform: uppercase;
  white-space: nowrap;
  flex-shrink: 0;
}

/* line 354, app/assets/stylesheets/_admin_data_quality.scss */
.adq-status-active {
  background: #EDF4F0;
  color: #1F6B4E;
}

/* line 359, app/assets/stylesheets/_admin_data_quality.scss */
.adq-status-inactive {
  background: #F3F4F6;
  color: #9CA3AF;
}

/* line 364, app/assets/stylesheets/_admin_data_quality.scss */
.adq-record-delete {
  background: none;
  border: none;
  padding: 0.125rem 0.25rem;
  color: #B8BFC7;
  cursor: pointer;
  flex-shrink: 0;
  margin-left: auto;
  border-radius: 4px;
  transition: color 0.15s, background 0.15s;
}

/* line 375, app/assets/stylesheets/_admin_data_quality.scss */
.adq-record-delete:hover {
  color: #9B2331;
  background: #F8F0F1;
}

/* line 380, app/assets/stylesheets/_admin_data_quality.scss */
.adq-record-delete i {
  font-size: 0.875rem;
}

/* line 385, app/assets/stylesheets/_admin_data_quality.scss */
.adq-record-summary {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 0.5rem 0;
  border-top: 1px solid #F3F4F6;
  margin-top: 0.5rem;
}

/* line 394, app/assets/stylesheets/_admin_data_quality.scss */
.adq-summary-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  color: #6B7280;
}

/* line 401, app/assets/stylesheets/_admin_data_quality.scss */
.adq-summary-item i {
  color: #9CA3AF;
}

/* line 409, app/assets/stylesheets/_admin_data_quality.scss */
.adq-empty-state,
.adq-finder-hint {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
  color: #9CA3AF;
}

/* line 419, app/assets/stylesheets/_admin_data_quality.scss */
.adq-empty-state i,
.adq-finder-hint i {
  font-size: 2rem;
  margin-bottom: 0.75rem;
  color: #B8BFC7;
}

/* line 425, app/assets/stylesheets/_admin_data_quality.scss */
.adq-empty-state p,
.adq-finder-hint p {
  margin: 0;
  font-size: 0.875rem;
  max-width: 400px;
}

/* line 432, app/assets/stylesheets/_admin_data_quality.scss */
.adq-empty-state i {
  color: #1F6B4E;
}

/* line 7, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-page {
  min-height: 100vh;
  background: #E5E7EB;
  padding: 2rem 1rem;
}

/* line 14, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #6B7280;
  text-decoration: none;
  font-size: 0.875rem;
  margin-bottom: 1.5rem;
  transition: color 0.15s ease;
}

/* line 24, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-back-link:hover {
  color: #1F5C96;
}

/* line 28, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-back-link i {
  font-size: 1rem;
}

/* line 34, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-paper {
  max-width: 816px;
  margin: 0 auto;
  background: white;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  border-radius: 4px;
  overflow: hidden;
}

/* line 43, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-content {
  padding: 48px;
}

/* line 48, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-header {
  text-align: center;
  margin-bottom: 24px;
}

/* line 53, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-logo {
  width: 180px;
  height: auto;
  margin-bottom: 8px;
}

/* line 59, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-logo-placeholder {
  width: 180px;
  height: 48px;
  background: #F3F4F6;
  border: 1px dashed #D1D5DB;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 8px;
  color: #9CA3AF;
  font-size: 0.75rem;
}

/* line 73, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-url {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-bottom: 4px;
}

/* line 79, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-generated {
  font-size: 0.6875rem;
  color: #B8BFC7;
  margin-bottom: 16px;
}

/* line 85, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  margin: 0 0 4px;
  font-family: 'Inter', sans-serif;
}

/* line 93, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-subtitle {
  font-size: 0.875rem;
  color: #9CA3AF;
  margin: 0;
}

/* line 99, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-divider {
  border: none;
  border-top: 1px solid #E5E7EB;
  margin: 24px 0;
}

/* line 106, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-section {
  margin-bottom: 24px;
}

/* line 110, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-section-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F2933;
  margin: 0 0 8px;
  font-family: 'Inter', sans-serif;
}

/* line 118, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-section-subtitle {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin: 0 0 12px;
}

/* line 125, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-summary {
  font-size: 0.8125rem;
  color: #6B7280;
  margin-bottom: 12px;
}

/* line 132, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

/* line 137, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-table th, .sg-pdf-table td {
  padding: 8px 12px;
  text-align: left;
  border-bottom: 1px solid #F3F4F6;
}

/* line 143, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-table th {
  background: #F9FAFB;
  font-weight: 500;
  color: #4B5563;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* line 152, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-table td {
  color: #323C47;
}

/* line 156, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 161, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-table .text-right {
  text-align: right;
}

/* line 168, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-table-compact th, .sg-pdf-table-compact td {
  padding: 6px 10px;
}

/* line 174, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-dem {
  color: #0066CC !important;
  font-weight: 600;
}

/* line 179, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-rep {
  color: #CC0000 !important;
  font-weight: 600;
}

/* line 184, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-other {
  color: #6B7280 !important;
}

/* line 190, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-row-dem td {
  background: rgba(0, 102, 204, 0.06);
}

/* line 194, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-row-dem td:first-child {
  border-left: 3px solid #0066CC;
}

/* line 200, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-row-rep td {
  background: rgba(204, 0, 0, 0.06);
}

/* line 204, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-row-rep td:first-child {
  border-left: 3px solid #CC0000;
}

/* line 210, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-row-other td:first-child {
  border-left: 3px solid #B8BFC7;
}

/* line 216, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-standing {
  display: inline-block;
  font-size: 0.6875rem;
  padding: 2px 8px;
  border-radius: 9999px;
  font-weight: 500;
  text-transform: capitalize;
}

/* line 225, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-standing-very-low {
  background: #FEE2E2;
  color: #991B1B;
}

/* line 230, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-standing-low {
  background: #FEF3C7;
  color: #92400E;
}

/* line 235, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-standing-average {
  background: #F3F4F6;
  color: #4B5563;
}

/* line 240, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-standing-high {
  background: #D1FAE5;
  color: #065F46;
}

/* line 245, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-standing-very-high {
  background: #DBEAFE;
  color: #1E40AF;
}

/* line 251, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-race {
  margin-bottom: 16px;
}

/* line 255, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-race-title {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #323C47;
  margin: 0 0 8px;
}

/* line 263, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-finance-dash {
  color: #B8BFC7;
}

/* line 268, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-subsection {
  margin-bottom: 20px;
}

/* line 272, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-subsection-title {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #4B5563;
  margin: 0 0 8px;
}

/* line 280, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-stat-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid #F3F4F6;
  font-size: 0.8125rem;
}

/* line 287, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-stat-row:last-child {
  border-bottom: none;
}

/* line 292, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-stat-label {
  font-weight: 500;
  color: #4B5563;
}

/* line 297, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-stat-value {
  color: #1F2933;
}

/* line 302, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-page-break {
  page-break-before: always;
  border-top: 2px dashed #E5E7EB;
  margin: 32px 0;
  padding-top: 32px;
}

/* line 310, app/assets/stylesheets/_sg_pdf_report.scss */
.sg-pdf-footer-note {
  font-size: 0.6875rem;
  color: #9CA3AF;
  font-style: italic;
  margin-top: 12px;
  line-height: 1.5;
}

@media (max-width: 768px) {
  /* line 320, app/assets/stylesheets/_sg_pdf_report.scss */
  .sg-pdf-page {
    padding: 1rem 0.5rem;
  }
  /* line 324, app/assets/stylesheets/_sg_pdf_report.scss */
  .sg-pdf-content {
    padding: 24px;
  }
  /* line 328, app/assets/stylesheets/_sg_pdf_report.scss */
  .sg-pdf-title {
    font-size: 1.25rem;
  }
}

@media print {
  /* line 334, app/assets/stylesheets/_sg_pdf_report.scss */
  .sg-pdf-page {
    background: white;
    padding: 0;
  }
  /* line 339, app/assets/stylesheets/_sg_pdf_report.scss */
  .sg-pdf-back-link {
    display: none;
  }
  /* line 343, app/assets/stylesheets/_sg_pdf_report.scss */
  .sg-pdf-paper {
    box-shadow: none;
    border-radius: 0;
  }
}

/* line 14, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2 {
  min-height: 100vh;
  background: #E8ECEF;
  padding: 2rem 1rem;
}

/* line 20, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-back {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #6B7280;
  text-decoration: none;
  font-size: 0.875rem;
  margin-bottom: 1.5rem;
  transition: color 0.15s ease;
}

/* line 30, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-back:hover {
  color: #1A4D7C;
}

/* line 36, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-paper {
  max-width: 850px;
  margin: 0 auto;
  background: white;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 8px 30px rgba(0, 0, 0, 0.08);
  border-radius: 2px;
}

/* line 45, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-header {
  background: linear-gradient(135deg, #1A4D7C 0%, #13385a 100%);
  color: white;
  padding: 32px 40px;
  position: relative;
}

/* line 52, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-header-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 20px;
}

/* line 59, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-logo {
  height: 36px;
  width: auto;
  filter: brightness(0) invert(1);
}

/* line 65, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-date {
  font-size: 0.6875rem;
  opacity: 0.7;
}

/* line 70, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-title {
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0 0 4px;
  font-family: 'Inter', sans-serif;
  letter-spacing: -0.5px;
}

/* line 78, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-subtitle {
  font-size: 0.9375rem;
  opacity: 0.85;
  margin: 0;
}

/* line 85, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-body {
  padding: 32px 40px 40px;
}

/* line 90, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-stats-banner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: #E5E7EB;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 32px;
}

/* line 101, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-stat {
  background: white;
  padding: 16px 20px;
  text-align: center;
}

/* line 107, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F2933;
  font-family: 'Inter', sans-serif;
  line-height: 1.2;
}

/* line 115, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-stat-value-dem {
  color: #1E5A99;
}

/* line 119, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-stat-value-rep {
  color: #B83232;
}

/* line 123, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-stat-label {
  font-size: 0.6875rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 4px;
}

/* line 132, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-bottom: 32px;
}

/* line 139, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-column {
  min-width: 0;
}

/* line 144, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-section {
  margin-bottom: 28px;
}

/* line 148, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-section-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid #F3F4F6;
}

/* line 157, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-section-title {
  font-size: 0.8125rem;
  font-weight: 700;
  color: #323C47;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
}

/* line 166, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-section-icon {
  width: 20px;
  height: 20px;
  background: #1A4D7C;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 0.6875rem;
}

/* line 179, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-race {
  display: flex;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #F3F4F6;
}

/* line 185, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-race:last-child {
  border-bottom: none;
}

/* line 190, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-race-year {
  width: 80px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #4B5563;
}

/* line 197, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-race-bar {
  flex: 1;
  height: 24px;
  background: #F3F4F6;
  border-radius: 3px;
  overflow: hidden;
  position: relative;
}

/* line 206, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-race-fill {
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 10px;
  font-size: 0.75rem;
  font-weight: 600;
  color: white;
  white-space: nowrap;
}

/* line 217, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-race-fill-dem {
  background: #1E5A99;
}

/* line 221, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-race-fill-rep {
  background: #B83232;
}

/* line 225, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-race-margin {
  width: 70px;
  text-align: right;
  font-size: 0.8125rem;
  font-weight: 700;
}

/* line 232, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-race-margin-dem {
  color: #1E5A99;
}

/* line 236, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-race-margin-rep {
  color: #B83232;
}

/* line 241, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-reg-bar {
  height: 32px;
  display: flex;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 12px;
}

/* line 249, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-reg-segment {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6875rem;
  font-weight: 600;
  color: white;
}

/* line 258, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-reg-dem {
  background: #1E5A99;
}

/* line 262, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-reg-rep {
  background: #B83232;
}

/* line 266, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-reg-other {
  background: #B8BFC7;
}

/* line 270, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-reg-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 276, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-reg-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.8125rem;
}

/* line 283, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-reg-party {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 289, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-reg-dot {
  width: 10px;
  height: 10px;
  border-radius: 2px;
}

/* line 295, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-reg-dot-dem {
  background: #1E5A99;
}

/* line 299, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-reg-dot-rep {
  background: #B83232;
}

/* line 303, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-reg-dot-other {
  background: #B8BFC7;
}

/* line 307, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-reg-name {
  color: #4B5563;
}

/* line 311, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-reg-value {
  font-weight: 600;
  color: #323C47;
}

/* line 316, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-reg-pct {
  color: #9CA3AF;
  font-size: 0.75rem;
  margin-left: 4px;
}

/* line 323, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-demo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 24px;
}

/* line 329, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-demo-item {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid #F3F4F6;
  font-size: 0.8125rem;
}

/* line 337, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-demo-label {
  color: #6B7280;
}

/* line 341, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-demo-value {
  font-weight: 600;
  color: #1F2933;
}

/* line 347, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-turnout-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

/* line 352, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-turnout-table th {
  text-align: left;
  font-weight: 500;
  color: #9CA3AF;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 0 0 8px;
  border-bottom: 1px solid #E5E7EB;
}

/* line 363, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-turnout-table td {
  padding: 8px 0;
  border-bottom: 1px solid #F3F4F6;
  color: #323C47;
}

/* line 369, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-turnout-table .text-right {
  text-align: right;
}

/* line 373, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-turnout-table .turnout-highlight {
  font-weight: 700;
  color: #1A4D7C;
}

/* line 380, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-divider {
  height: 1px;
  background: #E5E7EB;
  margin: 32px 0;
}

/* line 387, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-candidates-intro {
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-bottom: 20px;
  line-height: 1.5;
}

/* line 394, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-office {
  margin-bottom: 24px;
}

/* line 398, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-office-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

/* line 405, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-office-title {
  font-size: 0.875rem;
  font-weight: 700;
  color: #323C47;
  margin: 0;
}

/* line 412, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-office-count {
  font-size: 0.6875rem;
  color: #9CA3AF;
  background: #F3F4F6;
  padding: 2px 8px;
  border-radius: 10px;
}

/* line 420, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-candidate {
  display: grid;
  grid-template-columns: 1fr repeat(4, 80px);
  gap: 8px;
  padding: 10px 12px;
  border-radius: 4px;
  margin-bottom: 4px;
  font-size: 0.8125rem;
  background: #F9FAFB;
}

/* line 430, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-candidate:nth-child(odd) {
  background: white;
  border: 1px solid #F3F4F6;
}

/* line 436, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-candidate-name {
  font-weight: 500;
  color: #323C47;
}

/* line 441, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-candidate-stat {
  text-align: right;
  color: #4B5563;
}

/* line 446, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-candidate-stat-label {
  display: none;
}

/* line 450, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-candidate-header {
  display: grid;
  grid-template-columns: 1fr repeat(4, 80px);
  gap: 8px;
  padding: 0 12px 8px;
  font-size: 0.6875rem;
  font-weight: 500;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 462, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-candidate-header span {
  text-align: right;
}

/* line 465, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-candidate-header span:first-child {
  text-align: left;
}

/* line 470, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-no-data {
  color: #B8BFC7;
}

/* line 475, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-footer {
  padding: 16px 40px;
  background: #F9FAFB;
  border-top: 1px solid #F3F4F6;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.6875rem;
  color: #9CA3AF;
}

/* line 486, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-footer-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* line 492, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-footer-logo {
  height: 22px;
  width: auto;
  opacity: 0.7;
}

/* line 498, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-footer-url {
  font-weight: 500;
  color: #6B7280;
}

/* line 503, app/assets/stylesheets/_sg_pdf_report_v2.scss */
.sg-pdf2-footer-tagline {
  color: #9CA3AF;
}

@media print {
  /* line 509, app/assets/stylesheets/_sg_pdf_report_v2.scss */
  .sg-pdf2 {
    background: white;
    padding: 0;
  }
  /* line 514, app/assets/stylesheets/_sg_pdf_report_v2.scss */
  .sg-pdf2-back {
    display: none;
  }
  /* line 518, app/assets/stylesheets/_sg_pdf_report_v2.scss */
  .sg-pdf2-paper {
    box-shadow: none;
  }
  /* line 522, app/assets/stylesheets/_sg_pdf_report_v2.scss */
  .sg-pdf2-header {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

@media (max-width: 768px) {
  /* line 530, app/assets/stylesheets/_sg_pdf_report_v2.scss */
  .sg-pdf2-body {
    padding: 24px 20px;
  }
  /* line 534, app/assets/stylesheets/_sg_pdf_report_v2.scss */
  .sg-pdf2-header {
    padding: 24px 20px;
  }
  /* line 538, app/assets/stylesheets/_sg_pdf_report_v2.scss */
  .sg-pdf2-stats-banner {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 542, app/assets/stylesheets/_sg_pdf_report_v2.scss */
  .sg-pdf2-columns {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  /* line 547, app/assets/stylesheets/_sg_pdf_report_v2.scss */
  .sg-pdf2-demo-grid {
    grid-template-columns: 1fr;
  }
  /* line 551, app/assets/stylesheets/_sg_pdf_report_v2.scss */
  .sg-pdf2-candidate {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  /* line 556, app/assets/stylesheets/_sg_pdf_report_v2.scss */
  .sg-pdf2-candidate-header {
    display: none;
  }
  /* line 560, app/assets/stylesheets/_sg_pdf_report_v2.scss */
  .sg-pdf2-candidate-stat {
    display: flex;
    justify-content: space-between;
    text-align: left;
  }
  /* line 566, app/assets/stylesheets/_sg_pdf_report_v2.scss */
  .sg-pdf2-candidate-stat-label {
    display: inline;
    color: #9CA3AF;
  }
}

/* line 92, app/assets/stylesheets/application.scss */
html {
  scrollbar-gutter: stable;
}

/* line 96, app/assets/stylesheets/application.scss */
h1, h2, h3 {
  font-family: 'Inter', sans-serif;
}

/* line 100, app/assets/stylesheets/application.scss */
body {
  font-family: 'Inter', sans-serif;
  font-optical-sizing: auto;
  margin: 0;
  padding: 0;
  background-color: #f8f9fa;
}

/* line 108, app/assets/stylesheets/application.scss */
.has-fixed-nav .content-wrapper {
  margin-top: 80px;
  /* Adjust this value based on your navbar height */
}

@media (min-width: 1200px) {
  /* line 113, app/assets/stylesheets/application.scss */
  #sidebarNav {
    border-right: 1px solid var(--blue-grey-100);
    background-color: var(--blue-grey-050);
    /* Fix the sidebar in place at the left */
    position: fixed;
    top: 0;
    left: 0;
    width: 250px;
    height: 100vh;
    z-index: 1030;
    /* keep it above main content */
    /* For the offcanvas-body inside it */
    display: flex;
    flex-direction: column;
  }
  /* line 130, app/assets/stylesheets/application.scss */
  #sidebarNav .offcanvas-body {
    overflow-y: auto;
  }
  /* Ensure the main content is pushed to the right
     so it doesn't hide behind the fixed sidebar */
  /* line 136, app/assets/stylesheets/application.scss */
  main {
    margin-left: 250px;
  }
}

/* Sidebar inside the offcanvas should not force 100vh min-height */
/* line 142, app/assets/stylesheets/application.scss */
#sidebarNav .sidebar {
  min-height: auto;
}

/* Mobile sidebar footer: reset .sidebar chrome so it blends with the offcanvas */
/* line 147, app/assets/stylesheets/application.scss */
#sidebarNav .sidebar-mobile-footer {
  background: transparent;
  padding: 0.75rem 1rem 1rem;
  border-top: 1px solid var(--blue-grey-200);
}

/* line 153, app/assets/stylesheets/application.scss */
.logo-image {
  height: 40px;
  /* Base size - responsive sizing handled in _marketing.scss */
  max-width: 100%;
  object-fit: contain;
}

/* line 159, app/assets/stylesheets/application.scss */
.pricing-btn-outline {
  color: var(--light-blue-vivid-600) !important;
  border-color: var(--light-blue-vivid-600) !important;
  transition: all 0.15s ease-in-out;
}

/* line 165, app/assets/stylesheets/application.scss */
.pricing-btn-outline:hover {
  background-color: var(--light-blue-vivid-600) !important;
  color: white !important;
}

/* line 170, app/assets/stylesheets/application.scss */
.cta-btn {
  background-color: var(--light-blue-vivid-600) !important;
  color: white !important;
  border: none !important;
  transition: all 0.15s ease-in-out;
}

/* line 177, app/assets/stylesheets/application.scss */
.cta-btn:hover {
  background-color: var(--light-blue-vivid-700) !important;
}

/* line 181, app/assets/stylesheets/application.scss */
.navbar.bg-white.border-bottom {
  border-bottom: none !important;
}

/* line 185, app/assets/stylesheets/application.scss */
.navbar {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

@media (max-width: 768px) {
  /* line 185, app/assets/stylesheets/application.scss */
  .navbar {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}

/* line 196, app/assets/stylesheets/application.scss */
#flash-container {
  transition: all 0.3s ease-in-out;
  overflow: hidden;
}

/* line 201, app/assets/stylesheets/application.scss */
.flash-message {
  transition: all 0.3s ease-in-out;
  overflow: hidden;
}

/* line 206, app/assets/stylesheets/application.scss */
.flash-message.closing {
  margin-top: -100%;
  opacity: 0;
}

/* Campaign Finance Dashboard Mobile Improvements */
/* Mobile dashboard header improvements */
@media (max-width: 767px) {
  /* line 216, app/assets/stylesheets/application.scss */
  .campaign-finance-dashboard .d-flex.justify-content-between.align-items-center {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 1rem;
  }
}

/* Make amendment badges smaller on mobile */
@media (max-width: 768px) {
  /* line 226, app/assets/stylesheets/application.scss */
  .activity-item .badge {
    font-size: 0.7rem !important;
    padding: 0.25rem 0.5rem !important;
  }
}

/* Minimal custom styles for preview box */
/* line 233, app/assets/stylesheets/application.scss */
.campaign-finance-preview-box {
  background: linear-gradient(135deg, var(--bs-primary-bg-subtle) 0%, white 100%);
  position: relative;
}

/* line 238, app/assets/stylesheets/application.scss */
.campaign-finance-preview-box::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--bs-primary);
}

/* line 248, app/assets/stylesheets/application.scss */
.preview-icon-circle {
  background: var(--bs-primary);
}

/* line 252, app/assets/stylesheets/application.scss */
.live-indicator {
  background: var(--bs-danger);
}

/* ------------------------------------------------------------------
   Global utility for preview-only blurred amounts
------------------------------------------------------------------*/
/* line 259, app/assets/stylesheets/application.scss */
.obfuscated-amount {
  filter: blur(8px);
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
}
