/**
 * ReVision PWA themes — Default + High Contrast 1–3 (aligned with Android SettingsManager).
 */
:root,
[data-revision-theme="default"] {
  --rv-bg: #0b0f14;
  --rv-text: #ffffff;
  --rv-card-bg: #121b25;
  --rv-card-border: rgba(255, 255, 255, 0.1);
  --rv-muted: #a7b6c4;
  --rv-accent: #1d6ea4;
  --rv-accent-soft: #9dc7e5;
  --rv-input-bg: #0b1119;
  --rv-input-border: rgba(255, 255, 255, 0.15);
  --rv-row-border: rgba(255, 255, 255, 0.06);
  --rv-link: #79b8e8;
  --rv-menu-surface: rgba(14, 20, 30, 0.96);
  --rv-menu-item-bg: rgba(255, 255, 255, 0.07);
  --rv-menu-text: rgba(255, 255, 255, 0.94);
  --rv-theme-color: #1d6ea4;
}

[data-revision-theme="hc1"] {
  --rv-bg: #ffffff;
  --rv-text: #000000;
  --rv-card-bg: #f0f0f0;
  --rv-card-border: #000000;
  --rv-muted: #333333;
  --rv-accent: #000000;
  --rv-accent-soft: #000000;
  --rv-input-bg: #ffffff;
  --rv-input-border: #000000;
  --rv-row-border: #000000;
  --rv-link: #000000;
  --rv-menu-surface: #ffffff;
  --rv-menu-item-bg: #f0f0f0;
  --rv-menu-text: #000000;
  --rv-theme-color: #000000;
}

[data-revision-theme="hc2"] {
  --rv-bg: #ffffff;
  --rv-text: #000000;
  --rv-card-bg: #f0f0f0;
  --rv-card-border: #000080;
  --rv-muted: #333333;
  --rv-accent: #000080;
  --rv-accent-soft: #000080;
  --rv-input-bg: #ffffff;
  --rv-input-border: #000080;
  --rv-row-border: #000080;
  --rv-link: #000080;
  --rv-menu-surface: #ffffff;
  --rv-menu-item-bg: #eef0ff;
  --rv-menu-text: #000000;
  --rv-theme-color: #000080;
}

[data-revision-theme="hc3"] {
  --rv-bg: #ffffff;
  --rv-text: #000000;
  --rv-card-bg: #f0f0f0;
  --rv-card-border: #800000;
  --rv-muted: #333333;
  --rv-accent: #800000;
  --rv-accent-soft: #800000;
  --rv-input-bg: #ffffff;
  --rv-input-border: #800000;
  --rv-row-border: #800000;
  --rv-link: #800000;
  --rv-menu-surface: #ffffff;
  --rv-menu-item-bg: #fff0f0;
  --rv-menu-text: #000000;
  --rv-theme-color: #800000;
}

body {
  background: var(--rv-bg) !important;
  color: var(--rv-text) !important;
}

.card,
.shell .card {
  background: var(--rv-card-bg) !important;
  border-color: var(--rv-card-border) !important;
  color: var(--rv-text) !important;
}

.hint,
.voice-row__hint,
.voice-note,
#severityStatus,
.card__eyebrow {
  color: var(--rv-muted) !important;
}

label,
.row label,
.voice-row__label,
.card__title,
.page-title,
.page-heading {
  color: var(--rv-text) !important;
}

select,
input[type="text"],
input[type="email"],
input[type="password"],
textarea {
  background: var(--rv-input-bg) !important;
  color: var(--rv-text) !important;
  border-color: var(--rv-input-border) !important;
}

.row {
  border-bottom-color: var(--rv-row-border) !important;
}

a.link,
.shell a {
  color: var(--rv-link) !important;
}

.theme-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}

.theme-option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 2px solid var(--rv-input-border);
  background: var(--rv-input-bg);
  cursor: pointer;
}

.theme-option:has(input:checked) {
  border-color: var(--rv-accent);
  box-shadow: 0 0 0 1px var(--rv-accent);
}

.theme-option input {
  margin-top: 3px;
  width: 18px;
  height: 18px;
  accent-color: var(--rv-accent);
}

.theme-option__label {
  font-weight: 700;
  font-size: 14px;
}

.theme-option__hint {
  display: block;
  font-size: 12px;
  color: var(--rv-muted);
  margin-top: 2px;
  font-weight: 400;
}

.severity-desc {
  font-size: 12px;
  color: var(--rv-muted);
  margin-top: 6px;
  min-height: 1.2em;
}

[data-revision-theme] .menu-panel {
  background: var(--rv-menu-surface) !important;
  border-color: var(--rv-card-border) !important;
}

[data-revision-theme] .menu-panel a[href],
[data-revision-theme] .menu-panel .menu-tile {
  background: var(--rv-menu-item-bg) !important;
  color: var(--rv-menu-text) !important;
  border-color: var(--rv-card-border) !important;
}

[data-revision-theme] .menu-panel a[href].active,
[data-revision-theme] .menu-panel .menu-tile.active {
  background: var(--rv-accent) !important;
  color: #ffffff !important;
  border-color: var(--rv-accent) !important;
}

[data-revision-theme="hc1"] .menu-panel a[href].active,
[data-revision-theme="hc1"] .menu-panel .menu-tile.active {
  background: #000000 !important;
  color: #ffffff !important;
}

[data-revision-theme] .back-btn {
  background: var(--rv-card-bg) !important;
  color: var(--rv-text) !important;
  border-color: var(--rv-card-border) !important;
}

[data-revision-theme] .menu-btn {
  background: var(--rv-card-bg) !important;
  color: var(--rv-text) !important;
  border-color: var(--rv-card-border) !important;
}
