/*
 * TerraLens — modo escuro. ARQUIVO GERADO por docs/ui-ux/theme_build.py a partir de
 * docs/ui-ux/theme-dark.src.css; edite a fonte e rode o gerador.
 * Escolha do usuário (botão no app, cookie tl_theme) ou tema do sistema.
 * O relatório PDF continua claro; o mapa-base não muda.
 */
:root { color-scheme: light dark; }
:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"] { color-scheme: dark; }

/* Escolha explícita: escuro */
:root[data-theme="dark"] {
  /* Paleta escura */
  --dk-bg: #031c18;
  --dk-surface: #0a2a24;
  --dk-raised: #103a32;
  --dk-hover: #0e332c;
  --dk-selected: #134437;
  --dk-rule: #24514a;
  --dk-rule-2: #173f37;
  --dk-control: #4f8378;      /* borda de campos: 3:1 sobre a superfície */
  --dk-text: #e8f0eb;
  --dk-text-2: #a8bfb5;
  --dk-accent: #5cc995;
  --dk-accent-2: #7dd8ab;
  --dk-on-accent: #031c18;
  --dk-ochre: #e3b45f;
  --dk-ochre-bg: #2c2711;
  --dk-error: #f2948a;
  --dk-error-bg: #3a1d1b;
  --dk-success-bg: #12402f;
  --dk-info-bg: #16304a;
  --dk-info: #a9cdf5;
  --dk-focus: #7ab8f5;

  /* Tokens do produto (tokens.css / app.css) */
  --tl-bg: var(--dk-bg);
  --tl-surface: var(--dk-surface);
  --tl-header: var(--dk-surface);
  --tl-header-text: var(--dk-text);
  --tl-header-border: var(--dk-rule);
  --tl-border: var(--dk-rule);
  --tl-text: var(--dk-text);
  --tl-text-muted: var(--dk-text-2);
  --tl-navy-900: var(--dk-text);
  --tl-slate-700: var(--dk-text-2);
  --tl-green-700: var(--dk-accent);
  --tl-green-900: var(--dk-accent);
  --tl-accent: var(--dk-accent);
  --tl-accent-contrast: var(--dk-on-accent);
  --tl-focus: var(--dk-focus);
  --tl-selection-bg: var(--dk-selected);
  --tl-success: var(--dk-accent);
  --tl-success-bg: var(--dk-success-bg);
  --tl-warning: var(--dk-ochre);
  --tl-warning-bg: var(--dk-ochre-bg);
  --tl-danger: var(--dk-error);
  --tl-danger-bg: var(--dk-error-bg);
  --tl-unknown-bg: var(--dk-raised);
  --tl-shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);
  --tl-shadow-md: 0 2px 8px rgba(0, 0, 0, .45);

  /* Direção v2 (v2.css) */
  --v2-ink: var(--dk-text);
  --v2-ink-2: var(--dk-text-2);
  --v2-forest: var(--dk-accent);
  --v2-forest-2: var(--dk-accent-2);
  --v2-stone: var(--dk-bg);
  --v2-sheet: var(--dk-surface);
  --v2-rule: var(--dk-rule);
  --v2-rule-2: var(--dk-rule-2);
  --v2-ochre: var(--dk-ochre);
  --v2-ochre-bg: var(--dk-ochre-bg);
  --v2-error: var(--dk-error);
  --v2-error-bg: var(--dk-error-bg);
  --v2-focus: var(--dk-focus);

  /* Site público (site.css) e aliases antigos */
  --ink: var(--dk-text);
  --ink-2: var(--dk-text-2);
  --muted: var(--dk-text-2);
  --forest: var(--dk-accent);
  --forest-d: var(--dk-accent-2);
  --stone: var(--dk-bg);
  --sheet: var(--dk-surface);
  --paper: var(--dk-bg);
  --panel: var(--dk-surface);
  --line: var(--dk-rule);
  --rule: var(--dk-rule);
  --navy: var(--dk-text);
  --slate: var(--dk-text-2);
  --amber: var(--dk-ochre);
  --ochre: var(--dk-ochre);
  --ochre-bg: var(--dk-ochre-bg);
  --warn-bg: var(--dk-ochre-bg);
  --focus: var(--dk-focus);
}
:root[data-theme="dark"] /* Ações primárias: texto escuro sobre o verde clareado. */ body.tl-workspace .btn-primary, :root[data-theme="dark"] body.tl-access .btn-primary, :root[data-theme="dark"] body.tl-workspace .button:not(.btn-secondary), :root[data-theme="dark"] body.tl-workspace button[type="submit"]:not(.btn-secondary):not(.btn-ghost):not(.tl-menu-signout), :root[data-theme="dark"] body.tl-access button[type="submit"], :root[data-theme="dark"] .tl-avatar, :root[data-theme="dark"] .btn-danger, :root[data-theme="dark"] .site-header .button.primary, :root[data-theme="dark"] .button.primary { color: var(--dk-on-accent) !important;
}
:root[data-theme="dark"] body.tl-workspace .btn-primary:hover, :root[data-theme="dark"] .button.primary:hover { background: var(--dk-accent-2);
}
:root[data-theme="dark"] .btn-danger { background: var(--dk-error);
}
:root[data-theme="dark"] /* Campos e controles */ input[type=text], :root[data-theme="dark"] input[type=email], :root[data-theme="dark"] input[type=password], :root[data-theme="dark"] input[type=search], :root[data-theme="dark"] input[type=file], :root[data-theme="dark"] select, :root[data-theme="dark"] textarea {
  background: var(--dk-bg); color: var(--dk-text); border-color: var(--dk-control);
}
:root[data-theme="dark"] body.tl-workspace input, :root[data-theme="dark"] body.tl-workspace select, :root[data-theme="dark"] body.tl-workspace textarea, :root[data-theme="dark"] body.tl-access input, :root[data-theme="dark"] body.tl-access select { background: var(--dk-bg); color: var(--dk-text); border-color: var(--dk-control);
}
:root[data-theme="dark"] ::placeholder { color: #7f9a90;
}
:root[data-theme="dark"] body.tl-workspace .btn-secondary, :root[data-theme="dark"] body.tl-workspace .file-select { background: var(--dk-surface); color: var(--dk-text); border-color: var(--dk-control);
}
:root[data-theme="dark"] body.tl-workspace .btn-secondary:hover, :root[data-theme="dark"] body.tl-workspace .file-select:hover { background: var(--dk-hover); border-color: var(--dk-accent);
}
:root[data-theme="dark"] /* Pílulas e avisos (estado, não gravidade) */ .pill, :root[data-theme="dark"] .pill-unchanged, :root[data-theme="dark"] .pill-no_candidate, :root[data-theme="dark"] body.tl-workspace .pill { background: var(--dk-raised); color: var(--dk-text-2);
}
:root[data-theme="dark"] .pill-completed_with_warnings, :root[data-theme="dark"] .pill-unknown, :root[data-theme="dark"] .pill-outside, :root[data-theme="dark"] .pill-skipped_unknown_coverage, :root[data-theme="dark"] .pill-change.review_required, :root[data-theme="dark"] body.tl-workspace .pill-warning { color: var(--dk-ochre);
}
:root[data-theme="dark"] body.tl-workspace .pill-completed, :root[data-theme="dark"] body.tl-workspace .pill-success, :root[data-theme="dark"] body.tl-workspace .pill-valid { background: var(--dk-success-bg); color: #9fe3c1;
}
:root[data-theme="dark"] body.tl-workspace .pill.pill-preview { background: var(--dk-info-bg); color: var(--dk-info);
}
:root[data-theme="dark"] body.tl-workspace .notice, :root[data-theme="dark"] body.tl-access .notice { background: var(--dk-surface); color: var(--dk-text); border-left-color: var(--dk-control);
}
:root[data-theme="dark"] body.tl-workspace .notice-warning, :root[data-theme="dark"] body.tl-access .notice-warning { background: var(--dk-ochre-bg); color: #f3d9a4; border-left-color: var(--dk-ochre);
}
:root[data-theme="dark"] body.tl-workspace .notice-error, :root[data-theme="dark"] body.tl-access .notice-error { background: var(--dk-error-bg); color: #f8c4bd; border-left-color: var(--dk-error);
}
:root[data-theme="dark"] body.tl-workspace .notice-success, :root[data-theme="dark"] body.tl-access .notice-success { background: var(--dk-success-bg); color: #b9ebd1; border-left-color: var(--dk-accent);
}
:root[data-theme="dark"] .card-success-zero { border-left-color: #6f8b80;
}
:root[data-theme="dark"] .card-outside, :root[data-theme="dark"] .card-unknown { border-left-color: #6f8b80;
}
:root[data-theme="dark"] .empty-state { background: rgba(10, 42, 36, .6);
}
:root[data-theme="dark"] /* Tabelas */ .data-table th { color: var(--dk-text);
}
:root[data-theme="dark"] .tl-workspace .data-table th, :root[data-theme="dark"] body.tl-workspace .data-table th { background: var(--dk-raised); color: var(--dk-text-2);
}
:root[data-theme="dark"] .tl-workspace .data-table tbody tr:hover, :root[data-theme="dark"] body.tl-workspace .data-table tbody tr:hover { background: var(--dk-hover);
}
:root[data-theme="dark"] /* Menus, :root[data-theme="dark"] navegação e página de resultado */ .tl-menu-panel { box-shadow: 0 10px 30px rgba(0, 0, 0, .5);
}
:root[data-theme="dark"] .tl-menu-panel a:hover, :root[data-theme="dark"] .tl-menu-panel a:focus-visible, :root[data-theme="dark"] .tl-account > summary:hover, :root[data-theme="dark"] body.tl-workspace .tl-appbar button.tl-menu-signout:hover, :root[data-theme="dark"] .tl-menu-signout:hover { background: var(--dk-hover) !important;
}
:root[data-theme="dark"] .tl-menu-panel a[aria-current] { background: var(--dk-selected);
}
:root[data-theme="dark"] .tl-workspace .tl-menu-backdrop:not([hidden]), :root[data-theme="dark"] .tl-menu-backdrop { background: rgba(0, 0, 0, .55);
}
:root[data-theme="dark"] .page-result .report-nav a:hover { border-bottom-color: var(--dk-control);
}
:root[data-theme="dark"] .page-result .theme-nav-item:hover { background: var(--dk-hover);
}
:root[data-theme="dark"] .page-result .theme-nav-item.is-active, :root[data-theme="dark"] .page-result .evidence-table tr.is-active td, :root[data-theme="dark"] .page-result tbody.theme-list > tr.is-active { background: var(--dk-selected);
}
:root[data-theme="dark"] .page-result .tag-neutral, :root[data-theme="dark"] .tag-soon, :root[data-theme="dark"] .tag-neutral-inline { background: var(--dk-raised); color: var(--dk-text-2);
}
:root[data-theme="dark"] .settings-aside a:hover, :root[data-theme="dark"] .help-toc a:hover { background: var(--dk-hover);
}
:root[data-theme="dark"] .finding.is-active { box-shadow: 0 0 0 2px rgba(122, 184, 245, .35);
}
:root[data-theme="dark"] .swatch { border-color: var(--dk-control);
}
:root[data-theme="dark"] .swatch.finding { border-color: var(--dk-ochre);
}
:root[data-theme="dark"] .swatch.active { background: rgba(92, 201, 149, .3);
}
:root[data-theme="dark"] /* Mapa web: tiles sem alteração; painéis e controles no tema escuro. */ .map-frame, :root[data-theme="dark"] .map-frame .map, :root[data-theme="dark"] .map { background: #10251f;
}
:root[data-theme="dark"] .map-infobox, :root[data-theme="dark"] .map-picker { background: var(--dk-surface); color: var(--dk-text); border-color: var(--dk-rule);
}
:root[data-theme="dark"] .map-zoom-hint { background: rgba(10, 42, 36, .92); color: var(--dk-text);
}
:root[data-theme="dark"] .map-frame.is-wheel-armed .map-zoom-hint { background: var(--dk-accent); color: var(--dk-on-accent);
}
:root[data-theme="dark"] .leaflet-container { background: #10251f;
}
:root[data-theme="dark"] .leaflet-bar a, :root[data-theme="dark"] .leaflet-bar a:hover, :root[data-theme="dark"] .leaflet-control-layers, :root[data-theme="dark"] .leaflet-popup-content-wrapper, :root[data-theme="dark"] .leaflet-popup-tip {
  background: var(--dk-surface); color: var(--dk-text); border-color: var(--dk-rule);
}
:root[data-theme="dark"] .leaflet-bar a:hover { background: var(--dk-hover);
}
:root[data-theme="dark"] .leaflet-bar a.leaflet-disabled { background: var(--dk-bg); color: #5b756c;
}
:root[data-theme="dark"] .leaflet-control-attribution { background: rgba(3, 28, 24, .82) !important; color: var(--dk-text-2);
}
:root[data-theme="dark"] .leaflet-control-attribution a { color: var(--dk-accent);
}
:root[data-theme="dark"] .leaflet-control-scale-line { background: rgba(3, 28, 24, .75); color: var(--dk-text); border-color: var(--dk-text-2);
}
:root[data-theme="dark"] /* Prévias e ilustrações do esqueleto (placeholders) */ .placeholder-line { background: repeating-linear-gradient(90deg, var(--dk-raised) 0 12px, var(--dk-rule-2) 12px 24px);
}
:root[data-theme="dark"] .rt-org, :root[data-theme="dark"] .future-dropzone { border-color: var(--dk-control);
}
:root[data-theme="dark"] .rt-grid i { background: var(--dk-raised);
}
:root[data-theme="dark"] .rt-map { background: linear-gradient(135deg, var(--dk-raised), var(--dk-surface));
}
:root[data-theme="dark"] .report-thumb-page { background: #f7f8f6;
}
:root[data-theme="dark"] /* miniatura do PDF: o relatório é sempre claro */ /* Marca: variante clara do logotipo (via <picture>), :root[data-theme="dark"] sem filtros. */ /* Site público: componentes com cor fixa */ .site-header, :root[data-theme="dark"] .site-footer { background: var(--dk-surface);
}
:root[data-theme="dark"] .button.secondary { background: transparent; color: var(--dk-text); border-color: var(--dk-control);
}
:root[data-theme="dark"] .button.secondary:hover { background: var(--dk-hover);
}
:root[data-theme="dark"] .badge.live { color: #9fe3c1; border-color: var(--dk-accent); background: var(--dk-success-bg);
}
:root[data-theme="dark"] .badge.soon { color: var(--dk-ochre); border-color: #7a6431; background: var(--dk-ochre-bg);
}
:root[data-theme="dark"] .preview-banner { color: #f3d9a4;
}
:root[data-theme="dark"] .hero-figure, :root[data-theme="dark"] .report-sheet { border-color: var(--dk-rule);
}
:root[data-theme="dark"] .closing { background: var(--dk-raised);
}
:root[data-theme="dark"] .closing h2 { color: var(--dk-text);
}
:root[data-theme="dark"] .contact-form input, :root[data-theme="dark"] .contact-form select { background: var(--dk-bg); color: var(--dk-text); border-color: var(--dk-control);
}
:root[data-theme="dark"] .contact-form fieldset[disabled] input, :root[data-theme="dark"] .contact-form fieldset[disabled] select { opacity: .7;
}
:root[data-theme="dark"] /* Miniatura do relatório: papel claro, :root[data-theme="dark"] com as cores do tema claro. */ .report-sheet, :root[data-theme="dark"] .report-thumb-page { --ink: #16212e; --ink-2: #4a5867; --rule: #d9ded7; --forest: #17583d;
  --v2-ink: #16212e; --v2-ink-2: #4a5867; --v2-rule: #d9ded7; --v2-forest: #17583d; color: #16212e;
}
:root[data-theme="dark"] /* === Feedback do teste === */ .tl-feedback-btn { background: var(--dk-accent); color: var(--dk-on-accent); border-color: var(--dk-rule);
}
:root[data-theme="dark"] .tl-feedback { background: var(--dk-surface); color: var(--dk-text); border-color: var(--dk-rule);
}
:root[data-theme="dark"] .tl-feedback textarea { background: var(--dk-bg); color: var(--dk-text); border-color: var(--dk-control);
}
:root[data-theme="dark"] .tl-feedback-status.is-error { color: var(--dk-error);
}

/* Tema do sistema (sem escolha "claro") */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    /* Paleta escura */
    --dk-bg: #031c18;
    --dk-surface: #0a2a24;
    --dk-raised: #103a32;
    --dk-hover: #0e332c;
    --dk-selected: #134437;
    --dk-rule: #24514a;
    --dk-rule-2: #173f37;
    --dk-control: #4f8378;      /* borda de campos: 3:1 sobre a superfície */
    --dk-text: #e8f0eb;
    --dk-text-2: #a8bfb5;
    --dk-accent: #5cc995;
    --dk-accent-2: #7dd8ab;
    --dk-on-accent: #031c18;
    --dk-ochre: #e3b45f;
    --dk-ochre-bg: #2c2711;
    --dk-error: #f2948a;
    --dk-error-bg: #3a1d1b;
    --dk-success-bg: #12402f;
    --dk-info-bg: #16304a;
    --dk-info: #a9cdf5;
    --dk-focus: #7ab8f5;

    /* Tokens do produto (tokens.css / app.css) */
    --tl-bg: var(--dk-bg);
    --tl-surface: var(--dk-surface);
    --tl-header: var(--dk-surface);
    --tl-header-text: var(--dk-text);
    --tl-header-border: var(--dk-rule);
    --tl-border: var(--dk-rule);
    --tl-text: var(--dk-text);
    --tl-text-muted: var(--dk-text-2);
    --tl-navy-900: var(--dk-text);
    --tl-slate-700: var(--dk-text-2);
    --tl-green-700: var(--dk-accent);
    --tl-green-900: var(--dk-accent);
    --tl-accent: var(--dk-accent);
    --tl-accent-contrast: var(--dk-on-accent);
    --tl-focus: var(--dk-focus);
    --tl-selection-bg: var(--dk-selected);
    --tl-success: var(--dk-accent);
    --tl-success-bg: var(--dk-success-bg);
    --tl-warning: var(--dk-ochre);
    --tl-warning-bg: var(--dk-ochre-bg);
    --tl-danger: var(--dk-error);
    --tl-danger-bg: var(--dk-error-bg);
    --tl-unknown-bg: var(--dk-raised);
    --tl-shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);
    --tl-shadow-md: 0 2px 8px rgba(0, 0, 0, .45);

    /* Direção v2 (v2.css) */
    --v2-ink: var(--dk-text);
    --v2-ink-2: var(--dk-text-2);
    --v2-forest: var(--dk-accent);
    --v2-forest-2: var(--dk-accent-2);
    --v2-stone: var(--dk-bg);
    --v2-sheet: var(--dk-surface);
    --v2-rule: var(--dk-rule);
    --v2-rule-2: var(--dk-rule-2);
    --v2-ochre: var(--dk-ochre);
    --v2-ochre-bg: var(--dk-ochre-bg);
    --v2-error: var(--dk-error);
    --v2-error-bg: var(--dk-error-bg);
    --v2-focus: var(--dk-focus);

    /* Site público (site.css) e aliases antigos */
    --ink: var(--dk-text);
    --ink-2: var(--dk-text-2);
    --muted: var(--dk-text-2);
    --forest: var(--dk-accent);
    --forest-d: var(--dk-accent-2);
    --stone: var(--dk-bg);
    --sheet: var(--dk-surface);
    --paper: var(--dk-bg);
    --panel: var(--dk-surface);
    --line: var(--dk-rule);
    --rule: var(--dk-rule);
    --navy: var(--dk-text);
    --slate: var(--dk-text-2);
    --amber: var(--dk-ochre);
    --ochre: var(--dk-ochre);
    --ochre-bg: var(--dk-ochre-bg);
    --warn-bg: var(--dk-ochre-bg);
    --focus: var(--dk-focus);
  }
  :root:not([data-theme="light"]) /* Ações primárias: texto escuro sobre o verde clareado. */ body.tl-workspace .btn-primary, :root:not([data-theme="light"]) body.tl-access .btn-primary, :root:not([data-theme="light"]) body.tl-workspace .button:not(.btn-secondary), :root:not([data-theme="light"]) body.tl-workspace button[type="submit"]:not(.btn-secondary):not(.btn-ghost):not(.tl-menu-signout), :root:not([data-theme="light"]) body.tl-access button[type="submit"], :root:not([data-theme="light"]) .tl-avatar, :root:not([data-theme="light"]) .btn-danger, :root:not([data-theme="light"]) .site-header .button.primary, :root:not([data-theme="light"]) .button.primary { color: var(--dk-on-accent) !important;
  }
  :root:not([data-theme="light"]) body.tl-workspace .btn-primary:hover, :root:not([data-theme="light"]) .button.primary:hover { background: var(--dk-accent-2);
  }
  :root:not([data-theme="light"]) .btn-danger { background: var(--dk-error);
  }
  :root:not([data-theme="light"]) /* Campos e controles */ input[type=text], :root:not([data-theme="light"]) input[type=email], :root:not([data-theme="light"]) input[type=password], :root:not([data-theme="light"]) input[type=search], :root:not([data-theme="light"]) input[type=file], :root:not([data-theme="light"]) select, :root:not([data-theme="light"]) textarea {
    background: var(--dk-bg); color: var(--dk-text); border-color: var(--dk-control);
  }
  :root:not([data-theme="light"]) body.tl-workspace input, :root:not([data-theme="light"]) body.tl-workspace select, :root:not([data-theme="light"]) body.tl-workspace textarea, :root:not([data-theme="light"]) body.tl-access input, :root:not([data-theme="light"]) body.tl-access select { background: var(--dk-bg); color: var(--dk-text); border-color: var(--dk-control);
  }
  :root:not([data-theme="light"]) ::placeholder { color: #7f9a90;
  }
  :root:not([data-theme="light"]) body.tl-workspace .btn-secondary, :root:not([data-theme="light"]) body.tl-workspace .file-select { background: var(--dk-surface); color: var(--dk-text); border-color: var(--dk-control);
  }
  :root:not([data-theme="light"]) body.tl-workspace .btn-secondary:hover, :root:not([data-theme="light"]) body.tl-workspace .file-select:hover { background: var(--dk-hover); border-color: var(--dk-accent);
  }
  :root:not([data-theme="light"]) /* Pílulas e avisos (estado, não gravidade) */ .pill, :root:not([data-theme="light"]) .pill-unchanged, :root:not([data-theme="light"]) .pill-no_candidate, :root:not([data-theme="light"]) body.tl-workspace .pill { background: var(--dk-raised); color: var(--dk-text-2);
  }
  :root:not([data-theme="light"]) .pill-completed_with_warnings, :root:not([data-theme="light"]) .pill-unknown, :root:not([data-theme="light"]) .pill-outside, :root:not([data-theme="light"]) .pill-skipped_unknown_coverage, :root:not([data-theme="light"]) .pill-change.review_required, :root:not([data-theme="light"]) body.tl-workspace .pill-warning { color: var(--dk-ochre);
  }
  :root:not([data-theme="light"]) body.tl-workspace .pill-completed, :root:not([data-theme="light"]) body.tl-workspace .pill-success, :root:not([data-theme="light"]) body.tl-workspace .pill-valid { background: var(--dk-success-bg); color: #9fe3c1;
  }
  :root:not([data-theme="light"]) body.tl-workspace .pill.pill-preview { background: var(--dk-info-bg); color: var(--dk-info);
  }
  :root:not([data-theme="light"]) body.tl-workspace .notice, :root:not([data-theme="light"]) body.tl-access .notice { background: var(--dk-surface); color: var(--dk-text); border-left-color: var(--dk-control);
  }
  :root:not([data-theme="light"]) body.tl-workspace .notice-warning, :root:not([data-theme="light"]) body.tl-access .notice-warning { background: var(--dk-ochre-bg); color: #f3d9a4; border-left-color: var(--dk-ochre);
  }
  :root:not([data-theme="light"]) body.tl-workspace .notice-error, :root:not([data-theme="light"]) body.tl-access .notice-error { background: var(--dk-error-bg); color: #f8c4bd; border-left-color: var(--dk-error);
  }
  :root:not([data-theme="light"]) body.tl-workspace .notice-success, :root:not([data-theme="light"]) body.tl-access .notice-success { background: var(--dk-success-bg); color: #b9ebd1; border-left-color: var(--dk-accent);
  }
  :root:not([data-theme="light"]) .card-success-zero { border-left-color: #6f8b80;
  }
  :root:not([data-theme="light"]) .card-outside, :root:not([data-theme="light"]) .card-unknown { border-left-color: #6f8b80;
  }
  :root:not([data-theme="light"]) .empty-state { background: rgba(10, 42, 36, .6);
  }
  :root:not([data-theme="light"]) /* Tabelas */ .data-table th { color: var(--dk-text);
  }
  :root:not([data-theme="light"]) .tl-workspace .data-table th, :root:not([data-theme="light"]) body.tl-workspace .data-table th { background: var(--dk-raised); color: var(--dk-text-2);
  }
  :root:not([data-theme="light"]) .tl-workspace .data-table tbody tr:hover, :root:not([data-theme="light"]) body.tl-workspace .data-table tbody tr:hover { background: var(--dk-hover);
  }
  :root:not([data-theme="light"]) /* Menus, :root:not([data-theme="light"]) navegação e página de resultado */ .tl-menu-panel { box-shadow: 0 10px 30px rgba(0, 0, 0, .5);
  }
  :root:not([data-theme="light"]) .tl-menu-panel a:hover, :root:not([data-theme="light"]) .tl-menu-panel a:focus-visible, :root:not([data-theme="light"]) .tl-account > summary:hover, :root:not([data-theme="light"]) body.tl-workspace .tl-appbar button.tl-menu-signout:hover, :root:not([data-theme="light"]) .tl-menu-signout:hover { background: var(--dk-hover) !important;
  }
  :root:not([data-theme="light"]) .tl-menu-panel a[aria-current] { background: var(--dk-selected);
  }
  :root:not([data-theme="light"]) .tl-workspace .tl-menu-backdrop:not([hidden]), :root:not([data-theme="light"]) .tl-menu-backdrop { background: rgba(0, 0, 0, .55);
  }
  :root:not([data-theme="light"]) .page-result .report-nav a:hover { border-bottom-color: var(--dk-control);
  }
  :root:not([data-theme="light"]) .page-result .theme-nav-item:hover { background: var(--dk-hover);
  }
  :root:not([data-theme="light"]) .page-result .theme-nav-item.is-active, :root:not([data-theme="light"]) .page-result .evidence-table tr.is-active td, :root:not([data-theme="light"]) .page-result tbody.theme-list > tr.is-active { background: var(--dk-selected);
  }
  :root:not([data-theme="light"]) .page-result .tag-neutral, :root:not([data-theme="light"]) .tag-soon, :root:not([data-theme="light"]) .tag-neutral-inline { background: var(--dk-raised); color: var(--dk-text-2);
  }
  :root:not([data-theme="light"]) .settings-aside a:hover, :root:not([data-theme="light"]) .help-toc a:hover { background: var(--dk-hover);
  }
  :root:not([data-theme="light"]) .finding.is-active { box-shadow: 0 0 0 2px rgba(122, 184, 245, .35);
  }
  :root:not([data-theme="light"]) .swatch { border-color: var(--dk-control);
  }
  :root:not([data-theme="light"]) .swatch.finding { border-color: var(--dk-ochre);
  }
  :root:not([data-theme="light"]) .swatch.active { background: rgba(92, 201, 149, .3);
  }
  :root:not([data-theme="light"]) /* Mapa web: tiles sem alteração; painéis e controles no tema escuro. */ .map-frame, :root:not([data-theme="light"]) .map-frame .map, :root:not([data-theme="light"]) .map { background: #10251f;
  }
  :root:not([data-theme="light"]) .map-infobox, :root:not([data-theme="light"]) .map-picker { background: var(--dk-surface); color: var(--dk-text); border-color: var(--dk-rule);
  }
  :root:not([data-theme="light"]) .map-zoom-hint { background: rgba(10, 42, 36, .92); color: var(--dk-text);
  }
  :root:not([data-theme="light"]) .map-frame.is-wheel-armed .map-zoom-hint { background: var(--dk-accent); color: var(--dk-on-accent);
  }
  :root:not([data-theme="light"]) .leaflet-container { background: #10251f;
  }
  :root:not([data-theme="light"]) .leaflet-bar a, :root:not([data-theme="light"]) .leaflet-bar a:hover, :root:not([data-theme="light"]) .leaflet-control-layers, :root:not([data-theme="light"]) .leaflet-popup-content-wrapper, :root:not([data-theme="light"]) .leaflet-popup-tip {
    background: var(--dk-surface); color: var(--dk-text); border-color: var(--dk-rule);
  }
  :root:not([data-theme="light"]) .leaflet-bar a:hover { background: var(--dk-hover);
  }
  :root:not([data-theme="light"]) .leaflet-bar a.leaflet-disabled { background: var(--dk-bg); color: #5b756c;
  }
  :root:not([data-theme="light"]) .leaflet-control-attribution { background: rgba(3, 28, 24, .82) !important; color: var(--dk-text-2);
  }
  :root:not([data-theme="light"]) .leaflet-control-attribution a { color: var(--dk-accent);
  }
  :root:not([data-theme="light"]) .leaflet-control-scale-line { background: rgba(3, 28, 24, .75); color: var(--dk-text); border-color: var(--dk-text-2);
  }
  :root:not([data-theme="light"]) /* Prévias e ilustrações do esqueleto (placeholders) */ .placeholder-line { background: repeating-linear-gradient(90deg, var(--dk-raised) 0 12px, var(--dk-rule-2) 12px 24px);
  }
  :root:not([data-theme="light"]) .rt-org, :root:not([data-theme="light"]) .future-dropzone { border-color: var(--dk-control);
  }
  :root:not([data-theme="light"]) .rt-grid i { background: var(--dk-raised);
  }
  :root:not([data-theme="light"]) .rt-map { background: linear-gradient(135deg, var(--dk-raised), var(--dk-surface));
  }
  :root:not([data-theme="light"]) .report-thumb-page { background: #f7f8f6;
  }
  :root:not([data-theme="light"]) /* miniatura do PDF: o relatório é sempre claro */ /* Marca: variante clara do logotipo (via <picture>), :root:not([data-theme="light"]) sem filtros. */ /* Site público: componentes com cor fixa */ .site-header, :root:not([data-theme="light"]) .site-footer { background: var(--dk-surface);
  }
  :root:not([data-theme="light"]) .button.secondary { background: transparent; color: var(--dk-text); border-color: var(--dk-control);
  }
  :root:not([data-theme="light"]) .button.secondary:hover { background: var(--dk-hover);
  }
  :root:not([data-theme="light"]) .badge.live { color: #9fe3c1; border-color: var(--dk-accent); background: var(--dk-success-bg);
  }
  :root:not([data-theme="light"]) .badge.soon { color: var(--dk-ochre); border-color: #7a6431; background: var(--dk-ochre-bg);
  }
  :root:not([data-theme="light"]) .preview-banner { color: #f3d9a4;
  }
  :root:not([data-theme="light"]) .hero-figure, :root:not([data-theme="light"]) .report-sheet { border-color: var(--dk-rule);
  }
  :root:not([data-theme="light"]) .closing { background: var(--dk-raised);
  }
  :root:not([data-theme="light"]) .closing h2 { color: var(--dk-text);
  }
  :root:not([data-theme="light"]) .contact-form input, :root:not([data-theme="light"]) .contact-form select { background: var(--dk-bg); color: var(--dk-text); border-color: var(--dk-control);
  }
  :root:not([data-theme="light"]) .contact-form fieldset[disabled] input, :root:not([data-theme="light"]) .contact-form fieldset[disabled] select { opacity: .7;
  }
  :root:not([data-theme="light"]) /* Miniatura do relatório: papel claro, :root:not([data-theme="light"]) com as cores do tema claro. */ .report-sheet, :root:not([data-theme="light"]) .report-thumb-page { --ink: #16212e; --ink-2: #4a5867; --rule: #d9ded7; --forest: #17583d;
    --v2-ink: #16212e; --v2-ink-2: #4a5867; --v2-rule: #d9ded7; --v2-forest: #17583d; color: #16212e;
  }
  :root:not([data-theme="light"]) /* === Feedback do teste === */ .tl-feedback-btn { background: var(--dk-accent); color: var(--dk-on-accent); border-color: var(--dk-rule);
  }
  :root:not([data-theme="light"]) .tl-feedback { background: var(--dk-surface); color: var(--dk-text); border-color: var(--dk-rule);
  }
  :root:not([data-theme="light"]) .tl-feedback textarea { background: var(--dk-bg); color: var(--dk-text); border-color: var(--dk-control);
  }
  :root:not([data-theme="light"]) .tl-feedback-status.is-error { color: var(--dk-error);
  }
}
