:root {
  color-scheme: light;
  --theme-bg: #f8fafc;
  --theme-surface: #ffffff;
  --theme-surface-alt: #f1f5f9;
  --theme-text: #172033;
  --theme-muted: #64748b;
  --theme-border: #dbe3ec;
  --theme-link: #2563eb;
  --theme-shadow: 0 14px 34px rgba(15, 23, 42, 0.12);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --theme-bg: #0b1220;
  --theme-surface: #111b2e;
  --theme-surface-alt: #172235;
  --theme-text: #e8edf5;
  --theme-muted: #a8b3c4;
  --theme-border: #34445c;
  --theme-link: #7cb7ff;
  --theme-shadow: 0 16px 40px rgba(0, 0, 0, 0.34);

  --color-dark: #f1f5f9;
  --color-light: #0b1220;
  --color-primary: #63c66d;
  --color-secondary: #ffb447;
  --bg: var(--theme-bg);
  --bg-color: var(--theme-bg);
  --bg-light: var(--theme-surface-alt);
  --card: var(--theme-surface);
  --card-bg: var(--theme-surface);
  --coop-green: #63c66d;
  --coop-green-soft: #173925;
  --coop-ink: var(--theme-text);
  --coop-line: var(--theme-border);
  --coop-muted: var(--theme-muted);
  --coop-surface: var(--theme-surface);
  --text: var(--theme-text);
  --text-dark: var(--theme-text);
  --text-gray: var(--theme-muted);
  --text-main: var(--theme-text);
  --text-sub: var(--theme-muted);
  --muted: var(--theme-muted);
  --border: var(--theme-border);
  --border-color: var(--theme-border);
  --line: var(--theme-border);
  --primary: #65a9ff;
  --primary-color: #65a9ff;
  --primary-dark: #9bc8ff;
  --primary-hover: #8dc2ff;
  --primary-soft: #172f50;
  --danger: #ff7b86;
  --danger-color: #ff7b86;
  --error-color: #ff8c95;
  --success: #61d18a;
  --success-color: #61d18a;
  --warning: #f4c15d;
  --purple: #c4a7ff;
  --slate: #a8b3c4;
}

.site-theme-toggle {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 2147483000;
  width: auto;
  min-height: 46px;
  padding: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  border: 1px solid rgba(100, 116, 139, 0.35);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #1e293b;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.2);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  cursor: pointer;
  font: inherit;
  line-height: 1;
  transition: transform 160ms ease, background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}

.site-theme-toggle:hover { transform: translateY(-2px); }
.site-theme-toggle:active { transform: translateY(0); }
.site-theme-toggle:focus-visible {
  outline: 3px solid #60a5fa;
  outline-offset: 3px;
}

.site-theme-toggle__option {
  appearance: none;
  -webkit-appearance: none;
  min-width: 34px;
  height: 34px;
  padding: 0 8px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #64748b;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.site-theme-toggle__label {
  padding: 0 7px 0 8px;
  color: #475569;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.site-theme-toggle__option[data-theme-mode="auto"] { min-width: 48px; }
.site-theme-toggle__option:hover { background: rgba(100, 116, 139, 0.12); }
.site-theme-toggle__option:focus-visible {
  outline: 2px solid #60a5fa;
  outline-offset: -2px;
}
.site-theme-toggle__option.is-active {
  background: #1e293b;
  color: #ffffff;
  box-shadow: 0 3px 10px rgba(15, 23, 42, 0.22);
}

html[data-theme="dark"] .site-theme-toggle {
  border-color: rgba(148, 163, 184, 0.34);
  background: rgba(17, 27, 46, 0.94);
  color: #f8fafc;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.46);
}

html[data-theme="dark"] .site-theme-toggle__option { color: #a8b3c4; }
html[data-theme="dark"] .site-theme-toggle__label { color: #cbd5e1; }
html[data-theme="dark"] .site-theme-toggle__option:hover { background: rgba(148, 163, 184, 0.14); }
html[data-theme="dark"] .site-theme-toggle__option.is-active {
  background: #e8edf5;
  color: #0b1220;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.34);
}

html[data-theme="dark"] body {
  background-color: var(--theme-bg) !important;
  background-image: none !important;
  color: var(--theme-text);
}

html[data-theme="dark"] a:not(.btn):not([class*="text-"]) { color: var(--theme-link); }

html[data-theme="dark"] :is(
  .card, .panel, .modal-content, .modal-box, .custom-modal-box, .dropdown-menu,
  .offcanvas, .toast, .list-group-item, .list-panel, .detail-panel, .list-item,
  .list-summary-card, .dashboard-card, .signup-wrapper, .quick-card, .hof-row,
  .profile-summary-card, .account-card, .copy-help-sheet, .result-card,
  .service-box, .feature-card, .content-card, .empty-box, .gate-card,
  .hero-shell, .system-summary, .real-screen-panel, .modal-card, .broker-card,
  .modal-body-scroll, .attachment-item, .preview-list, .manifesto-box,
  .library-summary-card, .signature-telegram-panel
) {
  background-color: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text);
  box-shadow: var(--theme-shadow);
}

html[data-theme="dark"] :is(
  .bg-white, .bg-body, .bg-light, .bg-body-tertiary, .table-light,
  .list-panel, .list-summary-card, .result-header, .revision-history-item,
  .signatures-item, .flow-box, .modal-header, .modal-footer
) {
  background-color: var(--theme-surface-alt) !important;
  color: var(--theme-text) !important;
}

html[data-theme="dark"] :is(.text-dark, .text-body, .form-title, .count-val,
  .profile-summary-value, .timeline-content h5, .quick-title, .quick-election-title,
  .hof-rank, .hof-name, .detail-title, .detail-content, .signatures-title,
  .signatures-name, .list-title, .account-num, .broker-title, h1, h2, h3, h4, h5, h6) {
  color: var(--theme-text) !important;
}

html[data-theme="dark"] :is(.text-muted, .count-title, .profile-summary-label,
  .timeline-date, .timeline-content p, .quick-desc, .quick-meta, .hof-season-label,
  .hof-meta, .detail-meta, .list-sub, .list-summary, .footer-note, .sub, .hint,
  p.desc, .bank-name, .amount-label, .broker-copy, .broker-status, #message) {
  color: var(--theme-muted) !important;
}

html[data-theme="dark"] :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  textarea, select, .form-control, .form-select, .input, .input-group-text
) {
  background-color: #0d1728 !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}

html[data-theme="dark"] :is(input, textarea)::placeholder { color: #7f8da2 !important; opacity: 1; }
html[data-theme="dark"] :is(input, textarea, select):disabled { opacity: 0.72; }

html[data-theme="dark"] :is(.table, table) {
  --bs-table-bg: transparent;
  --bs-table-color: var(--theme-text);
  --bs-table-border-color: var(--theme-border);
  --bs-table-striped-bg: rgba(148, 163, 184, 0.07);
  --bs-table-hover-bg: rgba(96, 165, 250, 0.1);
  color: var(--theme-text);
  border-color: var(--theme-border);
}

html[data-theme="dark"] :is(hr, .border, .border-top, .border-bottom, .border-start, .border-end,
  .accordion-item, .nav-tabs, .list-group-item, .modal-header, .modal-footer) {
  border-color: var(--theme-border) !important;
}

html[data-theme="dark"] :is(.btn-light, .btn-outline-dark, .btn-copy, .btn-outline, .btn-back,
  .menu-btn, .btn-nav, .tab-btn, .list-filter-chip, .revision-history-toggle,
  .btn-close-modal, .file-custom-label, .list-tab-btn:not(.active)) {
  background-color: var(--theme-surface-alt) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}

html[data-theme="dark"] :is(.btn-light, .btn-outline-dark, .btn-copy, .btn-outline, .btn-back,
  .menu-btn, .btn-nav, .tab-btn, .list-filter-chip, .revision-history-toggle,
  .btn-close-modal, .file-custom-label, .list-tab-btn:not(.active)):hover {
  background-color: #22314a !important;
  border-color: #6b83a5 !important;
}

html[data-theme="dark"] :is(.navbar, .top-nav, .header, #header.header-scrolled, #header.header-inner-pages) {
  background-color: rgba(11, 18, 32, 0.96) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text);
}

html[data-theme="dark"] :is(.accordion-button, .accordion-body, .nav-link, .dropdown-item) {
  background-color: var(--theme-surface) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"] .accordion-button:not(.collapsed) { background-color: #19314d !important; }

html[data-theme="dark"] #loadingOverlay { background: rgba(11, 18, 32, 0.96) !important; }
html[data-theme="dark"] .timeline-item::before { background: var(--theme-surface) !important; }
html[data-theme="dark"] .progress { background-color: #26344a; }

html[data-theme="dark"][data-theme-page="index"] :is(#status, #activities, #partners, #faq) {
  background: var(--theme-surface-alt) !important;
}
html[data-theme="dark"][data-theme-page="index"] :is(#ops-system, #game-hall) {
  background: var(--theme-bg) !important;
}
html[data-theme="dark"][data-theme-page="index"] :is(.count-box, .activity-card, .ops-system-card) {
  background-color: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="index"] :is(
  .home-news-tabs, .external-news-item, .external-news-empty, .home-quiz-card
) {
  background-color: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="index"] .home-news-tab:not(.active) {
  background-color: transparent !important;
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="index"] .home-quiz-card {
  background: linear-gradient(135deg, #172a22 0%, #2f2918 100%) !important;
}
html[data-theme="dark"][data-theme-page="index"] :is(.home-quiz-lead, .external-news-title) {
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="index"] :is(
  .home-quiz-subcopy, .external-news-meta, .external-news-summary
) { color: var(--theme-muted) !important; }
html[data-theme="dark"][data-theme-page="index"] .home-quiz-icon {
  background: #3a3015 !important;
  box-shadow: inset 0 0 0 1px #705c23;
}
html[data-theme="dark"][data-theme-page="index"] #partners .btn-get-started {
  border-color: var(--theme-text) !important;
  color: var(--theme-text) !important;
}

html[data-theme="dark"] :is(.quick-blue, .winner-row, .success, .status-box) {
  background: #142f4f !important;
  border-color: #315d8e !important;
  color: #cfe5ff !important;
}
html[data-theme="dark"] .quick-orange { background: #3a2818 !important; border-color: #76502c !important; }
html[data-theme="dark"] .quick-green { background: #153526 !important; border-color: #2d6b4a !important; }
html[data-theme="dark"] .quick-purple { background: #2a2144 !important; border-color: #5f4c87 !important; }
html[data-theme="dark"] .quick-gray { background: #172235 !important; border-color: var(--theme-border) !important; }
html[data-theme="dark"] .hof-tabs { background: #1c2940; }
html[data-theme="dark"] .account-card { background-color: var(--theme-surface-alt) !important; }
html[data-theme="dark"] .chip {
  background-color: #1b3555 !important;
  border-color: #365f8c !important;
  color: #b8d8ff !important;
}

html[data-theme="dark"] :is(.candidate-card, .cand-card, .option-card) {
  background-color: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"] :is(.btn-binary, .modal-text-box, .cand-photo-wrapper, .info-box, .consent-box) {
  background-color: var(--theme-surface-alt) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"] :is(
  .modal-info-val, .manifesto-text, .profile-table td, .preview-val,
  .attachment-title, .attachment-name, .status-line, .signature-telegram-title,
  .signature-telegram-help, .list-summary-value, .library-summary-card .value
) { color: var(--theme-text) !important; }
html[data-theme="dark"] :is(
  .modal-info-label, .profile-table th, .preview-label, .attachment-meta,
  .signature-telegram-meta, .list-summary-label, .list-summary-desc,
  .library-summary-card .label, .library-summary-card .desc, .library-helper
) { color: var(--theme-muted) !important; }
html[data-theme="dark"] .signature-telegram-panel { background-image: none !important; }
html[data-theme="dark"] .cand-dist-badge { background-color: #17365b !important; }
html[data-theme="dark"] :is(.candidate-card.selected, .option-card.selected) {
  background-color: #17365b !important;
  border-color: #69aefc !important;
}

html[data-theme="dark"] :is(.modal-overlay, .custom-modal-overlay, .copy-help-overlay) {
  background-color: rgba(2, 6, 23, 0.78) !important;
}

html[data-theme="dark"] [style*="background:white"],
html[data-theme="dark"] [style*="background: white"],
html[data-theme="dark"] [style*="background:#fff"],
html[data-theme="dark"] [style*="background: #fff"],
html[data-theme="dark"] [style*="background:#ffffff"],
html[data-theme="dark"] [style*="background: #ffffff"] {
  background-color: var(--theme-surface) !important;
}

html[data-theme="dark"] [style*="color:#0f172a"],
html[data-theme="dark"] [style*="color: #0f172a"],
html[data-theme="dark"] [style*="color:#1e293b"],
html[data-theme="dark"] [style*="color: #1e293b"],
html[data-theme="dark"] [style*="color:#1f2937"],
html[data-theme="dark"] [style*="color: #1f2937"],
html[data-theme="dark"] [style*="color:#333"],
html[data-theme="dark"] [style*="color: #333"] {
  color: var(--theme-text) !important;
}

/* Bootstrap utility colors and inline muted colors need dark counterparts too. */
html[data-theme="dark"]:not([data-theme-page^="erp-"]) :is(.text-secondary, .text-muted) {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"]:not([data-theme-page^="erp-"]) .text-primary { color: #9bc8ff !important; }
html[data-theme="dark"]:not([data-theme-page^="erp-"]) .text-success { color: #86e2a7 !important; }
html[data-theme="dark"]:not([data-theme-page^="erp-"]) .text-danger { color: #ff9aa4 !important; }
html[data-theme="dark"]:not([data-theme-page^="erp-"]) .text-warning { color: #f9d487 !important; }
html[data-theme="dark"]:not([data-theme-page^="erp-"]) .text-info { color: #8ee7f4 !important; }

html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color:#334155"],
html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color: #334155"] {
  color: var(--theme-text) !important;
}
html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color:#475569"],
html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color: #475569"],
html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color:#64748b"],
html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color: #64748b"],
html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color:#6b7280"],
html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color: #6b7280"],
html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color:#666"],
html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color: #666"],
html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color:#555"],
html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color: #555"] {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color: rgb(71, 85, 105)"],
html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color: rgb(100, 116, 139)"],
html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color: rgb(107, 114, 128)"],
html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color: rgb(102, 102, 102)"],
html[data-theme="dark"]:not([data-theme-page^="erp-"]) [style*="color: rgb(85, 85, 85)"] {
  color: var(--theme-muted) !important;
}

html[data-theme="dark"]:not([data-theme-page^="erp-"]) :is(
  .btn-outline-primary, .btn-outline-secondary, .btn-outline-success,
  .btn-outline-danger, .btn-outline-warning
) {
  background-color: var(--theme-surface-alt) !important;
  border-color: #61718a !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"]:not([data-theme-page^="erp-"]) :is(
  .btn-outline-primary, .btn-outline-secondary, .btn-outline-success,
  .btn-outline-danger, .btn-outline-warning
):hover,
html[data-theme="dark"]:not([data-theme-page^="erp-"]) :is(
  .btn-outline-primary, .btn-outline-secondary, .btn-outline-success,
  .btn-outline-danger, .btn-outline-warning
):focus-visible {
  background-color: #263751 !important;
  border-color: #8194b0 !important;
  color: #f8fafc !important;
}
html[data-theme="dark"]:not([data-theme-page^="erp-"]) :is(.btn-info, .btn-warning) {
  color: #07121f !important;
}
html[data-theme="dark"]:not([data-theme-page^="erp-"]) :is(.badge.bg-warning, .badge.bg-info) {
  color: #101820 !important;
}
html[data-theme="dark"]:not([data-theme-page^="erp-"]) .btn-close {
  filter: invert(1) grayscale(100%) brightness(190%);
  opacity: 0.84;
}

html[data-theme="dark"] #impact.village-impact {
  color: var(--theme-text);
  background: radial-gradient(circle at 50% 0%, rgba(99, 198, 109, 0.12), transparent 42%),
    linear-gradient(180deg, #0b1220 0%, #111b2e 100%) !important;
}
html[data-theme="dark"] :is(.village-map-shell, .village-demo-notice) {
  background-color: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="index"] .village-map-shell {
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.38) !important;
}
html[data-theme="dark"][data-theme-page="index"] .village-map-container {
  background: #0f1a28 !important;
  filter: none;
}
html[data-theme="dark"][data-theme-page="index"] .village-map-background {
  filter: brightness(0.64) saturate(0.76) contrast(1.06);
}
html[data-theme="dark"][data-theme-page="index"] .village-stat-bubble {
  color: #f4fbf5 !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.86);
}
html[data-theme="dark"][data-theme-page="index"] .village-stat-bubble strong {
  color: #9be7a4 !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.9);
}
html[data-theme="dark"][data-theme-page="index"] :is(
  .village-summary-strip, .village-mobile-region-strip, .timeline-tab-bar
) {
  background: #0d1727 !important;
  border-color: var(--theme-border) !important;
}
html[data-theme="dark"][data-theme-page="index"] .village-summary-card {
  background: linear-gradient(145deg, #17263a 0%, #111b2e 100%) !important;
  border-color: var(--theme-border) !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2);
}
html[data-theme="dark"][data-theme-page="index"] .village-summary-label,
html[data-theme="dark"][data-theme-page="index"] .village-summary-meta {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="index"] .village-summary-value {
  color: #7fda88 !important;
}
html[data-theme="dark"][data-theme-page="index"] .village-summary-meta strong {
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="index"] .village-mobile-region-item {
  background: var(--theme-surface-alt) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="index"] .village-mobile-region-item[data-zone="vault"] {
  background: #2f2717 !important;
}
html[data-theme="dark"][data-theme-page="index"] .timeline-tab-button:not(.is-active) {
  background: var(--theme-surface-alt) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="index"] .timeline-tab-button.is-active {
  color: #07150a !important;
}
html[data-theme="dark"][data-theme-page="index"] #public-stats-timestamp.village-stats-timestamp {
  background: var(--theme-surface-alt) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="index"] .village-impact-actions .btn-get-started {
  background: #71d17b !important;
  border-color: #71d17b !important;
  color: #07150a !important;
  box-shadow: 0 10px 24px rgba(46, 125, 50, 0.3);
}
html[data-theme="dark"][data-theme-page="index"] .village-impact-actions .btn-get-started:hover,
html[data-theme="dark"][data-theme-page="index"] .village-impact-actions .btn-get-started:focus-visible {
  background: #8be293 !important;
  border-color: #8be293 !important;
  color: #07150a !important;
}

html[data-theme="dark"][data-theme-page="index"] :is(
  .progress-scroll-hint, #impact .village-impact-heading p, #impact .village-impact-header p
) {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="index"] .progress-scroll-button {
  background: var(--theme-surface-alt) !important;
  border-color: var(--theme-border) !important;
  color: #8be293 !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.24);
}
html[data-theme="dark"][data-theme-page="index"] .progress-scroll-button:hover,
html[data-theme="dark"][data-theme-page="index"] .progress-scroll-button:focus-visible {
  background: #244830 !important;
  border-color: #63a875 !important;
  color: #d8f7df !important;
}
html[data-theme="dark"][data-theme-page="index"] .get-started-btn[style*="background:var(--color-primary)"] {
  color: #07150a !important;
}

html[data-theme="dark"][data-theme-page="index"] :is(
  .activity-card, .activity-empty-state, .activity-load-more-card,
  .external-news-detail-content, .clients .partner-card
) {
  background: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="index"] :is(
  .activity-card-title, .activity-detail-content, .external-news-detail-title,
  .external-news-detail-summary, .clients .partner-text
) {
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="index"] :is(
  .activity-card-summary, .activity-empty-state, .external-news-detail-hint,
  .home-news-source-note
) {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="index"] :is(
  .activity-card-date, .activity-card-link, .home-news-source-note strong,
  .external-news-detail-meta
) {
  color: #8be3ac !important;
}
html[data-theme="dark"][data-theme-page="index"] .activity-load-more-card {
  background: linear-gradient(135deg, #142d21, #2f2918) !important;
  border-color: #4f7259 !important;
  color: #a8e8b8 !important;
}
html[data-theme="dark"][data-theme-page="index"] .activity-load-more-card:hover,
html[data-theme="dark"][data-theme-page="index"] .activity-load-more-card:focus-visible {
  background: linear-gradient(135deg, #1a3b2a, #3a321d) !important;
  border-color: #75aa82 !important;
  color: #d8f7df !important;
}
html[data-theme="dark"][data-theme-page="index"] :is(
  .external-news-detail-header, .external-news-detail-body, .external-news-detail-footer
) {
  background: var(--theme-surface-alt) !important;
  border-color: var(--theme-border) !important;
}
html[data-theme="dark"][data-theme-page="index"] .external-news-more-btn:hover,
html[data-theme="dark"][data-theme-page="index"] .external-news-more-btn:focus-visible {
  background: #22314a !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="index"] .clients .partner-card:hover {
  background: linear-gradient(135deg, #627287 0%, #4c5c71 100%) !important;
  border-color: #63a875 !important;
}
/*
 * 단체 로고는 투명 배경, 검은 글자, 흰 배경 포함 파일이 섞여 있습니다.
 * 밝고 균일한 배경만 브라우저에서 투명화하며 로고의 원래 색과 검은 글자는 보존합니다.
 */
html[data-theme="dark"][data-theme-page="index"] .clients .partner-card {
  background: linear-gradient(135deg, #536277 0%, #414f64 100%) !important;
  border-color: #718198 !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}
html[data-theme="dark"][data-theme-page="index"] .clients .partner-card img {
  filter:
    grayscale(100%)
    drop-shadow(1px 0 0 rgba(255, 255, 255, 0.42))
    drop-shadow(-1px 0 0 rgba(255, 255, 255, 0.42))
    drop-shadow(0 1px 0 rgba(255, 255, 255, 0.32))
    drop-shadow(0 -1px 0 rgba(255, 255, 255, 0.32)) !important;
  opacity: 0.84 !important;
}
html[data-theme="dark"][data-theme-page="index"] .clients .partner-card:hover img {
  filter: drop-shadow(0 2px 3px rgba(255, 255, 255, 0.3)) !important;
  opacity: 1 !important;
}
html[data-theme="dark"][data-theme-page="index"] .partner-logo-renderer.is-background-cleaned .partner-logo-original {
  opacity: 0 !important;
  visibility: hidden !important;
}
html[data-theme="dark"][data-theme-page="index"] .partner-logo-renderer.is-background-cleaned .partner-logo-cleaned {
  display: block;
  filter:
    grayscale(100%)
    drop-shadow(1px 0 0 rgba(255, 255, 255, 0.42))
    drop-shadow(-1px 0 0 rgba(255, 255, 255, 0.42)) !important;
  opacity: 0.84 !important;
}
html[data-theme="dark"][data-theme-page="index"] .partner-card:hover .partner-logo-renderer.is-background-cleaned .partner-logo-cleaned {
  filter: none !important;
  opacity: 1 !important;
  transform: scale(1.05);
}
html[data-theme="dark"][data-theme-page="index"] .clients .partner-text {
  color: #f1f5f9 !important;
}
html[data-theme="dark"][data-theme-page="index"] .clients .partner-card:hover .partner-text {
  color: #c9f7d5 !important;
}
html[data-theme="dark"][data-theme-page="index"] #partnerDetailModal .partner-modal-logo-stage {
  background: linear-gradient(135deg, #536277 0%, #414f64 100%) !important;
  border-color: #718198 !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"][data-theme-page="index"] #partnerDetailModal .partner-modal-logo-renderer.is-background-cleaned .partner-logo-cleaned {
  filter: drop-shadow(0 1px 2px rgba(255, 255, 255, 0.36)) !important;
  opacity: 1 !important;
}
html[data-theme="dark"][data-theme-page="index"] #partnerDetailModal #pt-modal-text-logo {
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="index"] .faq :is(.list-group-item, .faq-list > li) {
  background: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
}
html[data-theme="dark"][data-theme-page="index"] .faq :is(.question-block, .answer-block) {
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="index"] .faq .answer-block {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="index"] .faq .q-icon {
  color: #8be293 !important;
}
html[data-theme="dark"][data-theme-page="index"] .faq .toggle-icon {
  color: #b8c2d0 !important;
}

html[data-theme="dark"][data-theme-page="index"] :is(.ops-system-shell, .ops-system-row) {
  background: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="index"] .ops-system-row {
  background: var(--theme-surface-alt) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.24);
}
html[data-theme="dark"][data-theme-page="index"] :is(.ops-system-lead, .ops-system-row h4) {
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="index"] :is(.ops-system-subcopy, .ops-system-row p) {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="index"] .ops-system-row .icon {
  background: #173925 !important;
  color: #7fda88 !important;
}
html[data-theme="dark"][data-theme-page="index"] .ops-system-actions .btn-success {
  background: #71d17b !important;
  border-color: #71d17b !important;
  color: #07150a !important;
}

html[data-theme="dark"][data-theme-page="coop_system"] :is(.real-screen-card, .cta-panel) {
  background: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
  box-shadow: var(--theme-shadow);
}
html[data-theme="dark"][data-theme-page="coop_system"] .feature-panel {
  background: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
  box-shadow: var(--theme-shadow);
}
html[data-theme="dark"][data-theme-page="coop_system"] .feature-panel .section-title p {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="coop_system"] :is(.real-screen-card-head, .real-screen-frame) {
  background: var(--theme-surface-alt) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="coop_system"] .real-screen-card-head span,
html[data-theme="dark"][data-theme-page="coop_system"] .cta-panel p {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="coop_system"] .real-screen-badge {
  background: #173925 !important;
  color: #7fda88 !important;
}
html[data-theme="dark"][data-theme-page="coop_system"] .real-screen-frame iframe {
  background: var(--theme-bg) !important;
}
html[data-theme="dark"][data-theme-page="coop_system"] .cta-panel .btn-success {
  background: #71d17b !important;
  border-color: #71d17b !important;
  color: #07150a !important;
}
html[data-theme="dark"][data-theme-page="coop_system"] .system-summary-note {
  color: var(--theme-muted) !important;
}

html[data-theme="dark"][data-theme-page^="coop_system_"][data-theme-page$="_preview"] :is(
  .side, .content, .step, .detail-modal, .row, .cert, .field, .meta,
  .telegram, .body-box, .line-box, .mini, .canvas
) {
  background: var(--theme-surface-alt) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page^="coop_system_"][data-theme-page$="_preview"] :is(
  .panel-head, .card-head, .toolbar, .cert-top
) {
  background: #0d1727 !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page^="coop_system_"][data-theme-page$="_preview"] :is(
  h1, h2, h3, h4, strong, td, .cert-body, .meta span, .telegram strong
) {
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page^="coop_system_"][data-theme-page$="_preview"] :is(
  small, .helper, .field b, .row b, .meta b, .profile small,
  .menu-item span, .row small, .telegram p
) {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page^="coop_system_"][data-theme-page$="_preview"] :is(
  thead th, .tabs span, .subtabs span, .btn-outline, .menu-item
) {
  background: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page^="coop_system_"][data-theme-page$="_preview"] :is(
  .badge, .status.green, .tabs .active, .subtabs .active, .menu-item.active
) {
  background: #173925 !important;
  border-color: #2f6b43 !important;
  color: #8be293 !important;
}
html[data-theme="dark"][data-theme-page^="coop_system_"][data-theme-page$="_preview"] .status.blue {
  background: #17365b !important;
  color: #b8d8ff !important;
}
html[data-theme="dark"][data-theme-page^="coop_system_"][data-theme-page$="_preview"] .status.orange {
  background: #3a2818 !important;
  color: #ffd19a !important;
}
html[data-theme="dark"][data-theme-page^="coop_system_"][data-theme-page$="_preview"] .profile {
  background: #172f50 !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page^="coop_system_"][data-theme-page$="_preview"] .telegram-card {
  background: #142f4f !important;
  border-color: #315d8e !important;
}

html[data-theme="dark"][data-theme-page="membermanage"] #selectedBadgeInfo {
  background-color: var(--theme-surface-alt) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}

html[data-theme="dark"][data-theme-page="membermanage"] #selectedBadgeInfo :is(h6, .text-dark) {
  color: var(--theme-text) !important;
}

html[data-theme="dark"][data-theme-page="membermanage"] #selectedBadgeInfo :is(.text-muted, .text-secondary) {
  color: var(--theme-muted) !important;
}

html[data-theme="dark"][data-theme-page="membermanage"] #selectedBadgeInfo .bg-white {
  background-color: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
}

html[data-theme="dark"][data-theme-page="membermanage"] .notice-mini-item:hover {
  background-color: #22314a !important;
  color: var(--theme-text) !important;
}

html[data-theme="dark"][data-theme-page="membermanage"] #participationHistoryModal .participation-history-tabs {
  background: #0d1728 !important;
}
html[data-theme="dark"][data-theme-page="membermanage"] #participationHistoryModal .participation-history-tab {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="membermanage"] #participationHistoryModal .participation-history-tab.active {
  background: var(--theme-surface-alt) !important;
  color: var(--theme-text) !important;
  box-shadow: 0 2px 9px rgba(0, 0, 0, 0.3) !important;
}
html[data-theme="dark"][data-theme-page="membermanage"] #participationHistoryModal .participation-history-item,
html[data-theme="dark"][data-theme-page="membermanage"] #participationHistoryModal .participation-photo-thumb {
  background: var(--theme-surface-alt) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="membermanage"] #participationHistoryModal :is(
  .participation-history-meta, .text-secondary, .text-muted
) {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="membermanage"] #participationHistoryModal .btn-outline-secondary {
  background: #0d1728 !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="membermanage"] #participationHistoryModal .btn-close {
  filter: invert(1) grayscale(100%) brightness(190%);
  opacity: 0.82;
}
html[data-theme="dark"][data-theme-page="membermanage"] #participationHistoryModal .participation-status-attended,
html[data-theme="dark"][data-theme-page="membermanage"] #participationHistoryModal .badge.bg-success-subtle {
  background: #143b2a !important;
  border-color: #2d6b4a !important;
  color: #9be7b6 !important;
}
html[data-theme="dark"][data-theme-page="membermanage"] #participationHistoryModal .participation-status-absent {
  background: #4a2028 !important;
  border-color: #7a3542 !important;
  color: #fda4af !important;
}
html[data-theme="dark"][data-theme-page="membermanage"] #participationHistoryModal .participation-status-excused,
html[data-theme="dark"][data-theme-page="membermanage"] #participationHistoryModal .badge.bg-warning-subtle {
  background: #453014 !important;
  border-color: #76502c !important;
  color: #f9d487 !important;
}
html[data-theme="dark"][data-theme-page="membermanage"] #participationHistoryModal .participation-status-pending {
  background: #26344a !important;
  border-color: var(--theme-border) !important;
  color: #cbd5e1 !important;
}
html[data-theme="dark"][data-theme-page="membermanage"] :is(
  .quick-stage-badge, #quickVoteStage
) {
  background: #17365b !important;
  color: #b8d8ff !important;
}
html[data-theme="dark"][data-theme-page="membermanage"] #hallOfFameCard .hof-tab-btn:not(.active) {
  color: #cbd5e1 !important;
}
html[data-theme="dark"][data-theme-page="membermanage"] #hallOfFameCard .hof-score {
  color: #9bc8ff !important;
}
html[data-theme="dark"][data-theme-page="membermanage"] #hallOfFameCard .hof-celebration {
  background: #453014 !important;
  color: #f9d487 !important;
}
html[data-theme="dark"][data-theme-page="membermanage"] #badgeContainer .badge-item[data-has="true"][style*="background-color:#43a047"] {
  color: #07150a !important;
}
html[data-theme="dark"][data-theme-page="membermanage"] #participationHistoryInfiniteSentinel {
  color: var(--theme-muted) !important;
}

html[data-theme="dark"][data-theme-page="vote-index"] :is(.item-card, .status-banner) {
  background: var(--theme-surface-alt) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="vote-index"] .badge.open {
  background: #143b2a !important;
  color: #9be7b6 !important;
}
html[data-theme="dark"][data-theme-page="vote-index"] .badge.ready {
  background: #17365b !important;
  color: #b8d8ff !important;
}
html[data-theme="dark"][data-theme-page="vote-index"] .badge.closed {
  background: #26344a !important;
  color: #cbd5e1 !important;
}
html[data-theme="dark"][data-theme-page="vote-index"] .badge.warning {
  background: #453014 !important;
  color: #f9d487 !important;
}
html[data-theme="dark"][data-theme-page="vote-index"] .badge.purple {
  background: #2a2144 !important;
  color: #d8c7ff !important;
}
html[data-theme="dark"][data-theme-page="vote-index"] .btn.primary,
html[data-theme="dark"][data-theme-page="vote-poll_vote"] .btn.primary {
  color: #0b1220 !important;
}

html[data-theme="dark"][data-theme-page="vote-vote"] .container {
  background: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
  box-shadow: var(--theme-shadow) !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] :is(
  .action-area, .modal-header, .modal-footer, .profile-table th, .profile-table td,
  .manifesto-title, .manifesto-img, .candidate-img
) {
  border-color: var(--theme-border) !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] .candidate-img {
  background: #0d1728 !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] :is(
  #voter-info, .vote-complete-note, .ballot-status-text, .vote-empty-state, .binary-help
) {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] .ballot-status.open {
  color: #9be7b6 !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] .ballot-status.nomination {
  color: #f9d487 !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] :is(.manifesto-content-text, .manifesto-text) {
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] :is(.district-notice, .uncontested-notice, .uncontested-candidate) {
  background: #143b2a !important;
  border-color: #2d6b4a !important;
  color: #9be7b6 !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] :is(
  .district-notice strong, .uncontested-notice strong, .uncontested-notice-detail,
  .uncontested-candidate h3, .uncontested-candidate p
) {
  color: #9be7b6 !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] .btn-binary.btn-yes.selected {
  background: #143b2a !important;
  border-color: #61d18a !important;
  color: #9be7b6 !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] .btn-binary.btn-no.selected {
  background: #4a2028 !important;
  border-color: #ff7b86 !important;
  color: #fda4af !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] .vote-close-fallback {
  background: var(--theme-bg) !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] .vote-close-fallback-card {
  background: var(--theme-surface) !important;
  border: 1px solid var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] .vote-close-fallback-copy {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] .vote-close-fallback-button {
  background: var(--theme-surface-alt) !important;
  border: 1px solid var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] .btn-submit:disabled {
  background: #3b4a5f !important;
  color: #cbd5e1 !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] :is(.btn-submit, .btn-uncontested):not(:disabled) {
  color: #07150a !important;
}
html[data-theme="dark"][data-theme-page="vote-vote"] .btn-confirm {
  color: #0b1220 !important;
}

html[data-theme="dark"][data-theme-page="vote-vote_login"] :is(
  .bottom-action, .election-list-card, .voter-role-badge
) {
  background: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="vote-vote_login"] .bottom-action {
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.34) !important;
}
html[data-theme="dark"][data-theme-page="vote-vote_login"] :is(.bar-bg, .modal-cand-photo) {
  background: #26344a !important;
  border-color: var(--theme-border) !important;
}
html[data-theme="dark"][data-theme-page="vote-vote_login"] .tab-btn.active {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #0b1220 !important;
}
html[data-theme="dark"][data-theme-page="vote-vote_login"] :is(
  .result-summary, .result-table td, .modal-info-row
) {
  border-color: var(--theme-border) !important;
}
html[data-theme="dark"][data-theme-page="vote-vote_login"] .result-summary {
  background: var(--theme-surface-alt) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="vote-vote_login"] :is(#admin-controls, .no-candidate-notice) {
  background: #453014 !important;
  border-color: #76502c !important;
  color: #f9d487 !important;
}
html[data-theme="dark"][data-theme-page="vote-vote_login"] #admin-controls .btn-admin-shortcut {
  background: #3a2818 !important;
  color: #f9d487 !important;
}
html[data-theme="dark"][data-theme-page="vote-vote_login"] #info-box {
  background: #142f4f !important;
  border-color: #315d8e !important;
  color: #cfe5ff !important;
}
html[data-theme="dark"][data-theme-page="vote-vote_login"] .nomination-intake-notice {
  background: #2a2144 !important;
  border-color: #5f4c87 !important;
  color: #d8c7ff !important;
}
html[data-theme="dark"][data-theme-page="vote-vote_login"] :is(
  .vote-results-announcement, .uncontested-result, .uncontested-winner
) {
  background: #143b2a !important;
  border-color: #2d6b4a !important;
  color: #9be7b6 !important;
}
html[data-theme="dark"][data-theme-page="vote-vote_login"] :is(
  .vote-results-announcement h3, .vote-results-announcement p,
  .uncontested-result div, .uncontested-winner
) {
  color: #9be7b6 !important;
}
html[data-theme="dark"][data-theme-page="vote-vote_login"] :is(
  [style*="color:#666"], [style*="color: #666"], [style*="color:#999"], [style*="color: #999"],
  [style*="color:#64748b"], [style*="color: #64748b"], [style*="color:#94a3b8"], [style*="color: #94a3b8"],
  [style*="color:#4b5563"], [style*="color: #4b5563"]
) {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="vote-vote_login"] :is(
  [style*="color:#334155"], [style*="color: #334155"]
) {
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="vote-vote_login"] .btn-enter:disabled {
  background: #3b4a5f !important;
  color: #cbd5e1 !important;
}
html[data-theme="dark"][data-theme-page="vote-vote_login"] :is(.btn-enter:not(:disabled), .cand-symbol) {
  color: #0b1220 !important;
}

html[data-theme="dark"][data-theme-page="vote-candidate_apply"] .status-rejected {
  background: #4a2028 !important;
  border-color: #7a3542 !important;
  color: #fda4af !important;
}
html[data-theme="dark"][data-theme-page="vote-candidate_apply"] :is(
  .status-pending, #member-sync-warning, .representative-warning
) {
  background: #453014 !important;
  border-color: #76502c !important;
  color: #f9d487 !important;
}
html[data-theme="dark"][data-theme-page="vote-candidate_apply"] #member-sync-warning a {
  color: #ffd88a !important;
}
html[data-theme="dark"][data-theme-page="vote-candidate_apply"] #rep-member-info {
  background: #143b2a !important;
  border-color: #2d6b4a !important;
  color: #9be7b6 !important;
}
html[data-theme="dark"][data-theme-page="vote-candidate_apply"] #rep-member-info :is(div, span, strong) {
  color: inherit !important;
}
html[data-theme="dark"][data-theme-page="vote-candidate_apply"] .candidate-cancel {
  background: var(--theme-surface-alt) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="vote-candidate_apply"] :is(
  #no-election-msg, #confirm-modal p, .file-info-text
) {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="vote-candidate_apply"] :is(
  [style*="color:#64748b"], [style*="color: #64748b"]
) {
  color: var(--theme-muted) !important;
}
html[data-theme="dark"][data-theme-page="vote-candidate_apply"] :is(
  [style*="color:#2563eb"], [style*="color: #2563eb"]
) {
  color: var(--theme-link) !important;
}
html[data-theme="dark"][data-theme-page="vote-candidate_apply"] #current-proof-area {
  color: #9be7b6 !important;
}
html[data-theme="dark"][data-theme-page="vote-candidate_apply"] :is(.btn-check, .btn-submit):disabled {
  background: #3b4a5f !important;
  color: #cbd5e1 !important;
}
html[data-theme="dark"][data-theme-page="vote-candidate_apply"] :is(.btn-check, .btn-submit):not(:disabled) {
  color: #0b1220 !important;
}
html[data-theme="dark"][data-theme-page="vote-candidate_apply"] .btn-confirm {
  color: #0b1220 !important;
}
html[data-theme="dark"][data-theme-page="vote-candidate_apply"] h3[style*="border-bottom"] {
  border-color: var(--theme-border) !important;
}

html[data-theme="dark"][data-theme-page="vote-monitor"] :is(.progress-bg, .result-bar-bg) {
  background: #26344a !important;
}
html[data-theme="dark"][data-theme-page="vote-monitor"] :is(.result-text, #election-title) {
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="vote-monitor"] .progress-bar {
  color: #07121f !important;
}
html[data-theme="dark"][data-theme-page="vote-monitor"] [style*="color:#666"],
html[data-theme="dark"][data-theme-page="vote-monitor"] [style*="color: #666"] {
  color: var(--theme-muted) !important;
}

html[data-theme="dark"][data-theme-page="signup"] .mobile-view-container,
html[data-theme="dark"][data-theme-page="pay"] .container,
html[data-theme="dark"][data-theme-page="vote-index"] .hero,
html[data-theme="dark"][data-theme-page="vote-poll_vote"] .hero {
  background-color: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}

html[data-theme="dark"][data-theme-page="vote-index"] .btn:not(.primary),
html[data-theme="dark"][data-theme-page="vote-poll_vote"] .btn:not(.primary) {
  background-color: var(--theme-surface-alt) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}

html[data-theme="dark"][data-theme-page="auth_callback"] .callback-actions button:not(.primary) {
  background-color: var(--theme-surface-alt) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}

html[data-theme="dark"][data-theme-page="rules"] #btn-bylaws:not(.active),
html[data-theme="dark"][data-theme-page="rules"] #btn-articles:not(.active) {
  background: var(--theme-surface-alt) !important;
  color: var(--theme-muted) !important;
}

html[data-theme="dark"][data-theme-page="rules"] .btn-group {
  background: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
}
html[data-theme="dark"][data-theme-page="rules"] :is(#btn-bylaws, #btn-articles).active {
  background: #63c990 !important;
  color: #07130b !important;
}
html[data-theme="dark"][data-theme-page="rules"] #search-overlay {
  background: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  box-shadow: 0 5px 18px rgba(0, 0, 0, 0.28) !important;
}
html[data-theme="dark"][data-theme-page="rules"] .article-card {
  background: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22) !important;
}
html[data-theme="dark"][data-theme-page="rules"] .article-title {
  color: #8be293 !important;
}
html[data-theme="dark"][data-theme-page="rules"] .article-content {
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="rules"] .chapter-title {
  background: #172a22 !important;
  border-color: #63c990 !important;
  color: #d7fbe0 !important;
}
html[data-theme="dark"][data-theme-page="rules"] .section-title.searchable-item {
  border-color: #7f91aa !important;
  color: #d6deea !important;
}
html[data-theme="dark"][data-theme-page="rules"] .addenda-title {
  border-color: #7f91aa !important;
  color: #d6deea !important;
}
html[data-theme="dark"][data-theme-page="rules"] :is(.accordion-item, .accordion-button, .accordion-body) {
  background: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}
html[data-theme="dark"][data-theme-page="rules"] .accordion-button:not(.collapsed) {
  background: #17365b !important;
  color: #b8d8ff !important;
}
html[data-theme="dark"][data-theme-page="rules"] .archive-badge {
  background: #52647e !important;
  color: #ffffff !important;
}

html[data-theme="dark"] .attachment-preview-img,
html[data-theme="dark"] .signatures-img {
  background: #ffffff !important;
}

@media (prefers-reduced-motion: reduce) {
  .site-theme-toggle { transition: none; }
}

@media print {
  .site-theme-toggle { display: none !important; }
  html[data-theme="dark"],
  html[data-theme="dark"] body,
  html[data-theme="dark"] :is(.card, .panel, .detail-panel, .list-panel, .modal-content) {
    background: #ffffff !important;
    color: #000000 !important;
    box-shadow: none !important;
  }
  html[data-theme="dark"] body * { color: #000000 !important; text-shadow: none !important; }
  html[data-theme="dark"] a { text-decoration: underline; }
}
