/* Ajustes de contraste para o tema claro, aplicados sobre todos os módulos. */
html[data-theme="light"] {
  color-scheme: light;
  --bg: #f2f5f9;
  --s: #ffffff;
  --s2: #eaf0f6;
  --line: #c7d2df;
  --text: #172438;
  --muted: #4f6075;
  --accent: #2d5685;
  --accent-bright: #244c7b;
  --gold: #865b0b;
  --green: #17683f;
  --soft: #30445b;
}

html[data-theme="light"] .tag {
  border: 1px solid #c7d4e3;
  background: #e8eef6;
  color: #284665;
}

html[data-theme="light"] .notice {
  border-color: #d9c17f;
  background: #fff7df;
  color: #554317;
}

/* Dark feature panels keep a light foreground even when the page is light. */
html[data-theme="light"] .hero,
html[data-theme="light"] .home-feature,
html[data-theme="light"] .login aside,
html[data-theme="light"] .city-hero,
html[data-theme="light"] .city-connect {
  --text: #f2f5fa;
  --muted: #c2cedd;
  --line: #40536b;
  --s: #142235;
  --s2: #1b2b40;
  --accent-bright: #a9c8ee;
  --gold: #e2bb61;
  color: var(--text);
}

html[data-theme="light"] .hero,
html[data-theme="light"] .home-feature,
html[data-theme="light"] .login aside {
  --green: #73d5a1;
}

html[data-theme="light"] .citizen-hero {
  border-color: #c4d2e2;
  background:
    radial-gradient(circle at 88% 12%, #4275b81c, transparent 42%),
    linear-gradient(120deg, #ffffff, #e0eaf5);
}

html[data-theme="light"] .citizen-hero > .tag {
  border-color: #c3d3e4;
  background: #eaf1f8;
  color: #294c72;
}

html[data-theme="light"] .city-hero-art {
  color: #f0f5fb;
}

html[data-theme="light"] .city-info-card:hover {
  border-color: #7895b7;
  background: linear-gradient(145deg, #f7faff, #e8eff7);
  color: #172438;
}

html[data-theme="light"] .city-info-card > small,
html[data-theme="light"] .city-info-card > b {
  color: #294f7d;
}

html[data-theme="light"] .city-info-icon,
html[data-theme="light"] .home-module-icon {
  border-color: #bdcde0;
  background: #e8eff7;
  color: #294f7d;
}

html[data-theme="light"] .city-server {
  color: #eef4fb;
}

html[data-theme="light"] .city-server-copy code {
  color: #eef4fb;
}

html[data-theme="light"] .city-status {
  color: #c5d0de;
}

html[data-theme="light"] .support-message {
  border-color: var(--line);
  background: var(--s);
  color: var(--text);
}

html[data-theme="light"] button.danger {
  color: #9f2638;
}

html[data-theme="light"] .penal-selected .selectedrow.not-summed small {
  color: #a62738;
}

html[data-theme="light"] .home-pager button:disabled {
  opacity: .68;
}

html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder {
  color: #61738a;
  opacity: 1;
}

html[data-theme="light"] :is(button, a, input, select, textarea):focus-visible {
  outline: 3px solid #4174ad;
  outline-offset: 2px;
}

html[data-theme="light"] ::selection {
  background: #b9d3f0;
  color: #142235;
}
