/* Tema escuro global: grafite neutro, amarelo para destaque e cores semânticas. */
html.ml-dark-mode {
  color-scheme: dark;
  background: #090d14;
  --ml-dark-bg: #090d14;
  --ml-dark-surface: #111720;
  --ml-dark-surface-raised: #18202c;
  --ml-dark-surface-soft: #202a38;
  --ml-dark-border: #303b4b;
  --ml-dark-text: #eef2f7;
  --ml-dark-muted: #a5afbd;
  --ml-dark-accent: #f5cf35;
  --ml-dark-success: #52d28c;
  --ml-dark-danger: #ff7b86;
  --ml-dark-warning: #f8c86a;
}

html.ml-dark-mode body {
  min-height: 100vh;
  color: var(--ml-dark-text) !important;
  background: var(--ml-dark-bg) !important;
}

html.ml-dark-mode :is(.ml-page-column, .layout-main, .ml-footer) {
  color: var(--ml-dark-text) !important;
  background-color: var(--ml-dark-bg) !important;
}

html.ml-dark-mode :is(.ml-header, .ml-nav) {
  color: var(--ml-dark-text) !important;
  background: #0d121a !important;
  border-color: var(--ml-dark-border) !important;
  box-shadow: 12px 0 34px rgba(0, 0, 0, .32) !important;
}

html.ml-dark-mode .ml-sidebar-head {
  background: var(--ml-dark-surface-raised) !important;
  border-color: var(--ml-dark-border) !important;
}

html.ml-dark-mode :is(.ml-logo-mark, .ml-user-avatar) {
  color: #17140a !important;
  background: var(--ml-dark-accent) !important;
}

html.ml-dark-mode :is(
  .ml-logo-title, .ml-user-name, .ml-nav-mobile-head,
  .ml-theme-toggle-copy strong
) {
  color: var(--ml-dark-text) !important;
}

html.ml-dark-mode :is(
  .ml-logo-subtitle, .ml-user-role, .ml-nav-label,
  .ml-theme-toggle-copy small
) {
  color: var(--ml-dark-muted) !important;
}

html.ml-dark-mode :is(
  .ml-link, .ml-theme-toggle, .ml-user-pill, .ml-user-logout,
  .ml-menu-toggle, .ml-nav-close
) {
  color: var(--ml-dark-text) !important;
  background: var(--ml-dark-surface) !important;
  border-color: var(--ml-dark-border) !important;
}

html.ml-dark-mode :is(.ml-menu-toggle, .ml-nav-close):hover {
  color: var(--ml-dark-accent) !important;
  background: var(--ml-dark-surface-soft) !important;
}

html.ml-dark-mode :is(.ml-link, .ml-theme-toggle):hover,
html.ml-dark-mode .ml-link.active {
  color: var(--ml-dark-accent) !important;
  background: var(--ml-dark-surface-soft) !important;
  border-color: #625b32 !important;
}

html.ml-dark-mode .ml-link.active {
  box-shadow: inset 4px 0 0 var(--ml-dark-accent) !important;
}

html.ml-dark-mode .ml-theme-toggle-icon {
  color: #17140a !important;
  background: var(--ml-dark-accent) !important;
}

html.ml-dark-mode .ml-theme-toggle-switch {
  background: #465264 !important;
}

html.ml-dark-mode .ml-theme-toggle[aria-pressed="true"] .ml-theme-toggle-switch {
  background: var(--ml-dark-accent) !important;
}

html.ml-dark-mode .ml-theme-toggle-switch i {
  background: #111720 !important;
}

/* Superfícies recorrentes das páginas antigas e novas. */
html.ml-dark-mode .layout-main :is(
  [class$="-card"], [class*="-card "],
  [class$="-panel"], [class*="-panel "],
  [class$="-toolbar"], [class*="-toolbar "],
  [class$="-modal"], [class*="-modal "],
  [class$="-modal-content"], [class*="-modal-content "],
  [class$="-drawer"], [class*="-drawer "],
  [class$="-notice"], [class*="-notice "],
  [class$="-wrapper"], [class*="-wrapper "]
) {
  color: var(--ml-dark-text) !important;
  background: var(--ml-dark-surface) !important;
  border-color: var(--ml-dark-border) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .2) !important;
}

html.ml-dark-mode .layout-main :is([class*="hero"], [class*="header-card"]) {
  color: var(--ml-dark-text) !important;
  background: linear-gradient(135deg, #171e29, #232d3b) !important;
  border-color: var(--ml-dark-border) !important;
}

/* Cards de navegação: título branco e ícone sem bloco grafite. */
html.ml-dark-mode :is(.home-card, .report-card, .ml-card) {
  --card-accent: var(--ml-dark-text) !important;
  --card-soft: transparent !important;
}

html.ml-dark-mode :is(
  .home-card h3,
  .report-card h3,
  .ml-card-title,
  .home-quick-copy strong,
  .report-quick-chip strong
) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

html.ml-dark-mode :is(
  .home-card-icon,
  .home-quick-icon,
  .card-emoji,
  .report-empty-icon
) {
  color: #fff !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

html.ml-dark-mode :is(.home-card-arrow, .report-card-arrow) {
  color: var(--ml-dark-accent) !important;
  background: transparent !important;
}

html.ml-dark-mode .layout-main :is(h1, h2, h3, h4, h5, h6, strong, b) {
  color: var(--ml-dark-text);
}

html.ml-dark-mode .layout-main :is(p, small, label, .hint, [class*="subtitle"], [class*="description"]) {
  color: var(--ml-dark-muted);
}

html.ml-dark-mode .layout-main a:not([class*="button"]):not([class*="btn"]) {
  color: var(--ml-dark-accent);
}

/* Componentes legados que nao seguem a nomenclatura card/panel. */
html.ml-dark-mode .layout-main :is(
  [class$="-item"], [class*="-item "],
  [class$="-tile"], [class*="-tile "],
  [class$="-block"], [class*="-block "],
  [class$="-section"], [class*="-section "],
  [class$="-summary"], [class*="-summary "]
) {
  color: var(--ml-dark-text) !important;
  background: var(--ml-dark-surface) !important;
  border-color: var(--ml-dark-border) !important;
  box-shadow: none !important;
}

html.ml-dark-mode .layout-main :is(
  .container,
  [class$="-container"], [class*="-container "],
  [class$="-page"], [class*="-page "],
  [class$="-board"], [class*="-board "],
  [class$="-canvas"], [class*="-canvas "],
  [class$="-shell"], [class*="-shell "]
) {
  color: var(--ml-dark-text) !important;
  background: transparent !important;
}

html.ml-dark-mode .layout-main :is(
  [class$="-pill"], [class*="-pill "],
  [class$="-chip"], [class*="-chip "],
  [class$="-badge"], [class*="-badge "],
  [class$="-tag"], [class*="-tag "]
) {
  color: #e8edf4 !important;
  background: var(--ml-dark-surface-soft) !important;
  border-color: #435168 !important;
}

html.ml-dark-mode .layout-main :is(
  button,
  [role="button"],
  .btn,
  [class$="-button"], [class*="-button "],
  [class$="-btn"], [class*="-btn "]
) {
  color: #f4f7fa !important;
  background: var(--ml-dark-surface-soft) !important;
  border-color: #435168 !important;
  box-shadow: none !important;
}

html.ml-dark-mode .layout-main :is(
  button,
  [role="button"],
  .btn,
  [class$="-button"], [class*="-button "],
  [class$="-btn"], [class*="-btn "]
):is(:hover, :focus-visible) {
  color: #fff !important;
  background: #2a3648 !important;
  border-color: var(--ml-dark-accent) !important;
}

html.ml-dark-mode .layout-main :is(
  .primary,
  [class*="--primary"],
  [class*="is-primary"],
  [class*="btn-primary"],
  [class*="button-primary"],
  [aria-selected="true"],
  [aria-pressed="true"]
) {
  color: #17140a !important;
  background: var(--ml-dark-accent) !important;
  border-color: var(--ml-dark-accent) !important;
}

html.ml-dark-mode .layout-main table tbody tr {
  background-color: transparent !important;
}

html.ml-dark-mode .layout-main table tbody tr:nth-child(even) {
  background-color: rgba(255, 255, 255, .025) !important;
}

/* Areas que precisam continuar claras para leitura por camera/impressao. */
html.ml-dark-mode .layout-main :is(
  .pres-qr-box,
  .pres-qr-box canvas,
  .saca-qr-image-shell,
  .wa-qr-frame
) {
  background: #fff !important;
}

html.ml-dark-mode :is(input, select, textarea) {
  color: var(--ml-dark-text) !important;
  background: #0d131c !important;
  border-color: #3a4658 !important;
  caret-color: var(--ml-dark-accent);
}

html.ml-dark-mode :is(input, select, textarea)::placeholder {
  color: #7f8a99 !important;
}

html.ml-dark-mode :is(input, select, textarea):focus {
  border-color: var(--ml-dark-accent) !important;
  outline-color: rgba(245, 207, 53, .28) !important;
}

html.ml-dark-mode table {
  color: var(--ml-dark-text) !important;
  background: var(--ml-dark-surface) !important;
  border-color: var(--ml-dark-border) !important;
}

html.ml-dark-mode table th {
  color: #f4f6f9 !important;
  background: var(--ml-dark-surface-soft) !important;
  border-color: var(--ml-dark-border) !important;
}

html.ml-dark-mode table td {
  color: #dfe5ec;
  border-color: var(--ml-dark-border) !important;
}

html.ml-dark-mode table tbody tr:nth-child(even) {
  background-color: rgba(255, 255, 255, .025);
}

/* Compatibilidade com as paletas locais dos modulos. Cada pagina continua
   usando seus nomes de variaveis, mas recebe os mesmos tons no modo escuro. */
html.ml-dark-mode {
  --bg: var(--ml-dark-bg);
  --bg-color: var(--ml-dark-bg);
  --bg-page: var(--ml-dark-bg);
  --bg-soft: var(--ml-dark-surface-raised);
  --bg-card: var(--ml-dark-surface);
  --card-bg: var(--ml-dark-surface);
  --card-border: var(--ml-dark-border);
  --surface: var(--ml-dark-surface);
  --surface-soft: var(--ml-dark-surface-raised);
  --text: var(--ml-dark-text);
  --ink: var(--ml-dark-text);
  --text-main: var(--ml-dark-text);
  --text-soft: var(--ml-dark-muted);
  --text-muted: var(--ml-dark-muted);
  --muted: var(--ml-dark-muted);
  --font-color: var(--ml-dark-text);
  --font-color-sub: var(--ml-dark-muted);
  --border: var(--ml-dark-border);
  --border-soft: var(--ml-dark-border);
  --line: var(--ml-dark-border);
  --primary: var(--ml-dark-accent);
  --primary-strong: #d8b72e;
  --primary-soft: rgba(245, 207, 53, .13);

  --ml-bg: var(--ml-dark-bg);
  --ml-white: var(--ml-dark-surface);
  --ml-text: var(--ml-dark-text);
  --ml-muted: var(--ml-dark-muted);
  --ml-border: var(--ml-dark-border);
  --ml-shell-surface: #0d121a;
  --ml-shell-soft: var(--ml-dark-surface-raised);
  --ml-shell-text: var(--ml-dark-text);
  --ml-shell-muted: var(--ml-dark-muted);
  --ml-shell-border: var(--ml-dark-border);
  --ml-blue: var(--ml-dark-accent);
  --ml-blue-dark: #d8b72e;

  --meli-bg: var(--ml-dark-bg);
  --meli-blue: var(--ml-dark-accent);
  --meli-blue-dark: #d8b72e;
  --meli-blue-deep: var(--ml-dark-surface-raised);

  --am-bg: var(--ml-dark-bg);
  --am-surface: rgba(17, 23, 32, .96);
  --am-surface-strong: var(--ml-dark-surface-raised);
  --am-ink: var(--ml-dark-text);
  --am-muted: #bac4d1;
  --am-line: var(--ml-dark-border);
  --am-blue: var(--ml-dark-accent);
  --am-blue-dark: #f5cf35;
  --am-amber: #f5cf35;
  --am-amber-soft: rgba(245, 207, 53, .14);
  --am-slate: #b4bfcc;
  --am-shadow-soft: 0 20px 50px rgba(0, 0, 0, .24);
  --am-shadow-card: 0 12px 30px rgba(0, 0, 0, .2);

  --app-bg: var(--ml-dark-bg);
  --app-panel: var(--ml-dark-surface);
  --app-ink: var(--ml-dark-text);
  --app-muted: var(--ml-dark-muted);
  --app-border: var(--ml-dark-border);
  --app-blue: var(--ml-dark-accent);

  --audit-bg: var(--ml-dark-bg);
  --audit-surface: var(--ml-dark-surface);
  --audit-border: var(--ml-dark-border);
  --audit-text: var(--ml-dark-text);
  --audit-muted: var(--ml-dark-muted);
  --audit-blue: var(--ml-dark-accent);

  --health-bg: var(--ml-dark-bg);
  --health-surface: var(--ml-dark-surface);
  --health-border: var(--ml-dark-border);
  --health-text: var(--ml-dark-text);
  --health-muted: var(--ml-dark-muted);
  --health-primary: var(--ml-dark-accent);

  --wi-bg: var(--ml-dark-bg);
  --wi-line: var(--ml-dark-border);
  --wi-muted: var(--ml-dark-muted);
  --wi-blue: var(--ml-dark-accent);

  --ib-bg: var(--ml-dark-bg);
  --ib-ink: var(--ml-dark-text);
  --ib-muted: var(--ml-dark-muted);
  --ib-line: var(--ml-dark-border);
  --ib-blue: var(--ml-dark-accent);
  --ib-blue-strong: #d8b72e;

  --cop-bg: var(--ml-dark-bg);
  --cop-paper: var(--ml-dark-surface);
  --cop-line: #526074;
  --cop-line-soft: var(--ml-dark-border);
  --cop-text: var(--ml-dark-text);
  --cop-muted: var(--ml-dark-muted);
  --cop-blue: var(--ml-dark-accent);
  --cop-blue-strong: #d8b72e;
  --cop-white: var(--ml-dark-text);

  --col-bg: var(--ml-dark-bg);
  --col-surface: var(--ml-dark-surface);
  --col-surface-soft: var(--ml-dark-surface-raised);
  --col-border: var(--ml-dark-border);
  --col-border-strong: #4a586c;
  --col-text: var(--ml-dark-text);
  --col-muted: var(--ml-dark-muted);
  --col-primary: var(--ml-dark-accent);
  --col-primary-dark: #d8b72e;
  --col-primary-soft: rgba(245, 207, 53, .12);

  --csv-surface: var(--ml-dark-surface);
  --csv-ink: var(--ml-dark-text);
  --csv-muted: var(--ml-dark-muted);
  --csv-line: var(--ml-dark-border);
  --csv-blue: var(--ml-dark-accent);
  --csv-blue-dark: #d8b72e;
  --csv-blue-soft: rgba(245, 207, 53, .12);

  --dc-bg: var(--ml-dark-bg);
  --dc-surface: var(--ml-dark-surface);
  --dc-surface-soft: var(--ml-dark-surface-raised);
  --dc-ink: var(--ml-dark-text);
  --dc-muted: var(--ml-dark-muted);
  --dc-line: var(--ml-dark-border);
  --dc-blue: var(--ml-dark-accent);
  --dc-blue-dark: #d8b72e;
  --dc-navy: var(--ml-dark-surface-raised);

  --es-bg: var(--ml-dark-bg);
  --es-card: var(--ml-dark-surface);
  --es-ink: var(--ml-dark-text);
  --es-muted: var(--ml-dark-muted);
  --es-line: var(--ml-dark-border);
  --es-blue: var(--ml-dark-accent);
  --es-blue-dark: #d8b72e;
  --es-yellow-soft: rgba(245, 207, 53, .12);

  --movies-bg: var(--ml-dark-bg);
  --movies-surface: var(--ml-dark-surface);
  --movies-ink: var(--ml-dark-text);
  --movies-muted: var(--ml-dark-muted);
  --movies-border: var(--ml-dark-border);
  --movies-blue: var(--ml-dark-accent);

  --outbox-ink: var(--ml-dark-text);
  --outbox-muted: var(--ml-dark-muted);
  --outbox-line: var(--ml-dark-border);
  --outbox-surface: var(--ml-dark-surface);
  --outbox-soft: var(--ml-dark-surface-raised);
  --outbox-blue: var(--ml-dark-accent);
  --outbox-blue-bright: #f7d95c;

  --fg-bg: var(--ml-dark-bg);
  --fg-surface: var(--ml-dark-surface);
  --fg-ink: var(--ml-dark-text);
  --fg-ink-soft: #c8d0da;
  --fg-muted: var(--ml-dark-muted);
  --fg-border: var(--ml-dark-border);
  --fg-accent: var(--ml-dark-accent);
  --fg-accent-strong: #d8b72e;
  --fg-accent-cool: var(--ml-dark-accent);

  --home-bg: var(--ml-dark-bg);
  --home-surface: var(--ml-dark-surface);
  --home-text: var(--ml-dark-text);
  --home-muted: var(--ml-dark-muted);
  --home-border: var(--ml-dark-border);
  --home-blue: var(--ml-dark-accent);
  --home-blue-dark: #d8b72e;

  --it-card: var(--ml-dark-surface);
  --it-soft: var(--ml-dark-surface-raised);
  --it-ink: var(--ml-dark-text);
  --it-muted: var(--ml-dark-muted);
  --it-border: var(--ml-dark-border);
  --it-blue: var(--ml-dark-accent);
  --it-blue-dark: #d8b72e;

  --motion-soft: var(--ml-dark-surface-raised);
  --motion-ink: var(--ml-dark-text);
  --motion-muted: var(--ml-dark-muted);
  --motion-line: var(--ml-dark-border);
  --motion-blue: var(--ml-dark-accent);
  --motion-navy: var(--ml-dark-surface-raised);

  --oi-bg: var(--ml-dark-bg);
  --oi-surface: var(--ml-dark-surface);
  --oi-border: var(--ml-dark-border);
  --oi-text: var(--ml-dark-text);
  --oi-muted: var(--ml-dark-muted);
  --oi-blue: var(--ml-dark-accent);

  --pt-bg: var(--ml-dark-bg);
  --pt-surface: var(--ml-dark-surface);
  --pt-border: var(--ml-dark-border);
  --pt-text: var(--ml-dark-text);
  --pt-muted: var(--ml-dark-muted);
  --pt-blue: var(--ml-dark-accent);

  --profile-bg: linear-gradient(180deg, #111720, #090d14);
  --profile-card: rgba(17, 23, 32, .96);
  --profile-border: var(--ml-dark-border);
  --profile-text: var(--ml-dark-text);
  --profile-muted: var(--ml-dark-muted);
  --profile-blue: var(--ml-dark-accent);
  --profile-blue-dark: #d8b72e;

  --ps-bg: var(--ml-dark-bg);
  --ps-paper: var(--ml-dark-surface);
  --ps-paper-strong: var(--ml-dark-surface-raised);
  --ps-line: #566274;
  --ps-line-soft: var(--ml-dark-border);
  --ps-text: var(--ml-dark-text);
  --ps-muted: #b8c2ce;
  --ps-blue: var(--ml-dark-accent);
  --lab-panel: var(--ml-dark-surface-raised);

  --quiz-ink: var(--ml-dark-text);
  --quiz-text: #c3ccd8;
  --quiz-border: var(--ml-dark-border);
  --quiz-blue: var(--ml-dark-accent);
  --quiz-blue-strong: #d8b72e;
  --quiz-blue-soft: rgba(245, 207, 53, .12);

  --ranking-ink: var(--ml-dark-text);
  --ranking-text: #c3ccd8;
  --ranking-border: var(--ml-dark-border);
  --ranking-blue: var(--ml-dark-accent);
  --ranking-blue-strong: #d8b72e;
  --ranking-blue-soft: rgba(245, 207, 53, .12);

  --fech-bg: var(--ml-dark-bg);
  --fech-bg-soft: var(--ml-dark-surface-raised);
  --fech-card: rgba(17, 23, 32, .96);
  --fech-border: var(--ml-dark-border);
  --fech-text: var(--ml-dark-text);
  --fech-muted: var(--ml-dark-muted);
  --fech-primary: var(--ml-dark-accent);
  --fech-primary-strong: #d8b72e;

  --ow-surface: var(--ml-dark-surface);
  --ow-ink: var(--ml-dark-text);
  --ow-muted: var(--ml-dark-muted);
  --ow-border: var(--ml-dark-border);
  --ow-blue: var(--ml-dark-accent);
  --ow-blue-soft: rgba(245, 207, 53, .12);
  --ow-navy: var(--ml-dark-surface-raised);

  --dash-bg: var(--ml-dark-bg);
  --dash-surface: var(--ml-dark-surface);
  --dash-ink: var(--ml-dark-text);
  --dash-muted: var(--ml-dark-muted);
  --dash-border: var(--ml-dark-border);
  --dash-blue: var(--ml-dark-accent);
  --dash-navy: var(--ml-dark-surface-raised);

  --na-bg: var(--ml-dark-bg);
  --na-surface: var(--ml-dark-surface);
  --na-ink: var(--ml-dark-text);
  --na-muted: var(--ml-dark-muted);
  --na-border: var(--ml-dark-border);
  --na-blue: var(--ml-dark-accent);
  --na-navy: var(--ml-dark-surface-raised);

  --sum-bg: var(--ml-dark-bg);
  --sum-surface: var(--ml-dark-surface);
  --sum-ink: var(--ml-dark-text);
  --sum-muted: var(--ml-dark-muted);
  --sum-border: var(--ml-dark-border);
  --sum-blue: var(--ml-dark-accent);
  --sum-navy: var(--ml-dark-surface-raised);

  --spa-bg: var(--ml-dark-bg);
  --spa-surface: var(--ml-dark-surface);
  --spa-ink: var(--ml-dark-text);
  --spa-muted: var(--ml-dark-muted);
  --spa-border: var(--ml-dark-border);
  --spa-blue: var(--ml-dark-accent);
  --spa-navy: var(--ml-dark-surface-raised);

  --sam-bg: var(--ml-dark-bg);
  --sam-ink: var(--ml-dark-text);
  --sam-muted: var(--ml-dark-muted);
  --sam-border: var(--ml-dark-border);
  --sam-blue: var(--ml-dark-accent);
  --sam-navy: var(--ml-dark-surface-raised);

  --saca-bg: var(--ml-dark-bg);
  --saca-card: var(--ml-dark-surface);
  --saca-ink: var(--ml-dark-text);
  --saca-muted: var(--ml-dark-muted);
  --saca-line: var(--ml-dark-border);
  --saca-blue: var(--ml-dark-accent);
  --saca-blue-dark: #d8b72e;

  --she-bg: linear-gradient(180deg, #111720, #090d14);
  --she-surface: rgba(17, 23, 32, .96);
  --she-surface-strong: var(--ml-dark-surface-raised);
  --she-border: var(--ml-dark-border);
  --she-border-strong: #4a586c;
  --she-text: var(--ml-dark-text);
  --she-muted: var(--ml-dark-muted);
  --she-accent: var(--ml-dark-accent);
  --she-accent-soft: rgba(245, 207, 53, .12);

  --voice-blue: var(--ml-dark-accent);

  --wa-bg: linear-gradient(180deg, #111720, #090d14);
  --wa-surface: var(--ml-dark-surface);
  --wa-surface-alt: var(--ml-dark-surface-raised);
  --wa-border: var(--ml-dark-border);
  --wa-text: var(--ml-dark-text);
  --wa-muted: var(--ml-dark-muted);
  --wa-primary: var(--ml-dark-accent);
  --wa-primary-dark: #d8b72e;

  --ytm-surface: var(--ml-dark-surface);
  --ytm-ink: var(--ml-dark-text);
  --ytm-muted: var(--ml-dark-muted);
  --ytm-border: var(--ml-dark-border);
  --ytm-blue: var(--ml-dark-accent);
}

/* AM Sort possui muitos fundos claros fixos alem das variaveis da pagina. */
html.ml-dark-mode body.-relatorios-sort-am-sort .am-board {
  color: var(--ml-dark-text) !important;
  background: var(--ml-dark-bg) !important;
}

html.ml-dark-mode body.-relatorios-sort-am-sort :is(.am-glow--one, .am-glow--two) {
  opacity: .12 !important;
  filter: grayscale(1) blur(24px) !important;
}

html.ml-dark-mode body.-relatorios-sort-am-sort :is(
  .am-topbar,
  .am-hero,
  .am-shift-monitor,
  .am-kpi-card,
  .am-panel,
  .am-table-panel,
  .am-history-feed
) {
  color: var(--ml-dark-text) !important;
  background: var(--ml-dark-surface) !important;
  border-color: var(--ml-dark-border) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .2) !important;
}

html.ml-dark-mode body.-relatorios-sort-am-sort :is(
  .am-turno-filter,
  .am-history-select,
  .am-topbar-link,
  .am-hero-meta span,
  .am-hero-public-note,
  .spotlight-mini-grid article,
  .am-podium-item,
  .am-next-ranks-list span,
  .am-chart-card,
  .am-storage-card,
  .am-insight-card,
  .am-street-summary,
  .am-street-summary-list span,
  .am-visible-pill,
  .table-wrapper,
  .am-history-card,
  .am-history-meta span,
  .am-shift-tabs,
  .am-shift-summary article,
  .am-shift-productivity-legend,
  .am-shift-loading,
  .am-shift-empty
) {
  color: var(--ml-dark-text) !important;
  background: var(--ml-dark-surface-raised) !important;
  border-color: var(--ml-dark-border) !important;
}

html.ml-dark-mode body.-relatorios-sort-am-sort :is(.am-hero-spotlight, .am-topbar-link--primary) {
  color: #fff !important;
  background: #202a38 !important;
  border: 1px solid #596980 !important;
  box-shadow: none !important;
}

html.ml-dark-mode body.-relatorios-sort-am-sort .am-topbar-mark {
  color: #17140a !important;
  background: var(--ml-dark-accent) !important;
}

html.ml-dark-mode body.-relatorios-sort-am-sort :is(
  .am-topbar-copy strong,
  .am-hero h1,
  .am-panel-header h2,
  .am-kpi-value,
  .am-podium-copy strong,
  .am-insight-card strong,
  .am-history-card strong,
  .colaborador-headline strong
) {
  color: #fff !important;
}

html.ml-dark-mode body.-relatorios-sort-am-sort :is(
  .am-subtitle,
  .am-topbar-copy small,
  .am-history-form-label,
  .am-kpi-label,
  .am-kpi-note,
  .am-podium-copy small,
  .am-next-ranks p,
  .am-insight-card span,
  .am-insight-card small,
  .am-search-field span,
  .colaborador-headline span,
  .am-history-card small,
  .am-shift-monitor__description,
  .am-shift-summary span,
  .am-shift-summary small
) {
  color: #bac4d1 !important;
}

html.ml-dark-mode body.-relatorios-sort-am-sort :is(
  .am-eyebrow,
  .am-panel-eyebrow,
  .am-hero h1 span,
  .am-hero-reset-link,
  .am-topbar-link:not(.am-topbar-link--primary),
  .am-street-summary strong,
  .am-visible-pill,
  .average-cell,
  .am-history-time
) {
  color: var(--ml-dark-accent) !important;
}

html.ml-dark-mode body.-relatorios-sort-am-sort :is(.am-search-field input, .am-search-field select) {
  color: var(--ml-dark-text) !important;
  background: #0d131c !important;
  border-color: #3b485b !important;
}

html.ml-dark-mode body.-relatorios-sort-am-sort :is(.am-shift-table, .report-table) {
  color: var(--ml-dark-text) !important;
  background: var(--ml-dark-surface) !important;
}

html.ml-dark-mode body.-relatorios-sort-am-sort :is(.am-shift-table th, .report-table thead th) {
  color: #fff !important;
  background: #202a38 !important;
  border-color: var(--ml-dark-border) !important;
}

html.ml-dark-mode body.-relatorios-sort-am-sort :is(.am-shift-table td, .report-table td) {
  color: #e1e7ee;
  border-color: var(--ml-dark-border) !important;
}

html.ml-dark-mode body.-relatorios-sort-am-sort :is(
  .report-table tbody tr:nth-child(even),
  .report-table tbody tr.is-elite,
  .am-shift-table tbody tr:hover
) {
  background: rgba(255, 255, 255, .035) !important;
}

html.ml-dark-mode body.-relatorios-sort-am-sort :is(
  .rank-badge,
  .rua-badge,
  .am-shift-rank,
  .am-shift-total,
  .am-shift-hour.is-neutral,
  .am-shift-hour.is-empty
) {
  color: #f0f3f7 !important;
  background: #263143 !important;
}

/* Alertas reconhecíveis, sem saturação excessiva. */
html.ml-dark-mode :is(
  [class*="success"], [class*="-ok"], [class*="is-ok"],
  [class*="cell-ok"], [class*="is-complete"]
) {
  color: var(--ml-dark-success) !important;
}

html.ml-dark-mode :is(
  [class*="danger"], [class*="error"], [class*="critical"],
  [class*="cell-low"]
) {
  color: var(--ml-dark-danger) !important;
}

html.ml-dark-mode :is([class*="warning"], [class*="warn"], [class*="pending"]) {
  color: var(--ml-dark-warning) !important;
}

/* Meta Caixa TV: grafite com destaque amarelo, sem azul dominante. */
html.ml-dark-mode :is(.mc-tv-body, .mc-tv-container) {
  --bg: var(--ml-dark-bg);
  --surface: var(--ml-dark-surface);
  --text: var(--ml-dark-text);
  --text-muted: var(--ml-dark-muted);
  --primary: var(--ml-dark-accent);
  --accent: #8b7928;
  --success: var(--ml-dark-success);
  --success-bg: rgba(82, 210, 140, .13);
  --danger: var(--ml-dark-danger);
  --danger-bg: rgba(255, 123, 134, .13);
  --border: var(--ml-dark-border);
  color: var(--ml-dark-text) !important;
  background: var(--ml-dark-bg) !important;
}

html.ml-dark-mode :is(.mc-tv-rank-card, .mc-tv-vol-card, .mc-tv-table) {
  color: var(--ml-dark-text) !important;
  background: var(--ml-dark-surface) !important;
  border-color: var(--ml-dark-border) !important;
}

html.ml-dark-mode .mc-tv-table th {
  background: var(--ml-dark-surface-soft) !important;
}

html.ml-dark-mode .mc-tv-rank-1 {
  border-color: var(--ml-dark-accent) !important;
}

html.ml-dark-mode :is(.mc-tv-header h1, .mc-tv-rank-card .total, .mc-tv-total, #mc-timer-value) {
  color: var(--ml-dark-accent) !important;
}

html.ml-dark-mode .mc-tv-cell-ok {
  color: var(--ml-dark-success) !important;
  background: rgba(82, 210, 140, .13) !important;
}

html.ml-dark-mode .mc-tv-cell-low {
  color: var(--ml-dark-danger) !important;
  background: rgba(255, 123, 134, .13) !important;
}

/* Central de Relatorios: os componentes claros da pagina precisam de uma
   paleta escura propria para manter titulos e informacoes legiveis. */
html.ml-dark-mode body.-relatorios {
  --report-bg: #090d14;
  --report-surface: #111720;
  --report-text: #f8fafc;
  --report-muted: #c7d0dc;
  --report-border: #344154;
  --report-blue: #f5cf35;
  --report-blue-dark: #f5cf35;
  --report-yellow: #18202c;
  --report-yellow-strong: #f5cf35;
}

html.ml-dark-mode body.-relatorios .page-bg {
  background: #090d14 !important;
}

html.ml-dark-mode body.-relatorios #bg-canvas {
  opacity: 0.12;
  filter: grayscale(1);
}

html.ml-dark-mode body.-relatorios :is(.report-hero, .report-toolbar, .report-empty-state) {
  background: #111720 !important;
  border-color: #344154 !important;
}

html.ml-dark-mode body.-relatorios .report-hero-main {
  background: #18202c !important;
}

html.ml-dark-mode body.-relatorios .report-overview {
  background: #1b2430 !important;
  border-left: 1px solid #344154 !important;
}

html.ml-dark-mode body.-relatorios :is(
  .report-hero h1,
  .report-toolbar-copy h2,
  .report-grid-heading h2,
  .report-card h3,
  .report-quick-chip strong,
  .report-empty-state h3
) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

html.ml-dark-mode body.-relatorios :is(
  .report-hero-copy,
  .report-overview p,
  .report-overview-stats span,
  .report-grid-heading > p,
  .report-card .card-content p,
  .report-card-spotlight,
  .report-empty-state p
) {
  color: #c7d0dc !important;
}

html.ml-dark-mode body.-relatorios :is(
  .report-kicker,
  .report-section-kicker
) {
  color: #f5cf35 !important;
}

html.ml-dark-mode body.-relatorios :is(.report-overview-label, .report-overview-stats strong) {
  color: #f8fafc !important;
}

html.ml-dark-mode body.-relatorios .report-kicker-dot {
  background: #f5cf35 !important;
  box-shadow: 0 0 0 4px rgba(245, 207, 53, 0.15) !important;
}

html.ml-dark-mode body.-relatorios .report-hero-copy strong {
  color: #fff !important;
}

html.ml-dark-mode body.-relatorios :is(
  .report-overview-stats,
  .report-overview p,
  .report-card-footer
) {
  border-color: #344154 !important;
}

html.ml-dark-mode body.-relatorios .report-quick-chip {
  color: #fff !important;
  background: #202a38 !important;
  border-color: #435168 !important;
  box-shadow: none !important;
}

html.ml-dark-mode body.-relatorios .report-quick-chip:hover,
html.ml-dark-mode body.-relatorios .report-quick-chip:focus-visible {
  background: #293548 !important;
  border-color: #f5cf35 !important;
}

html.ml-dark-mode body.-relatorios .report-quick-chip > span:last-child {
  color: #f5cf35 !important;
}

html.ml-dark-mode body.-relatorios :is(
  .report-toolbar-status,
  .layout-controls button,
  .report-filter-chip
) {
  color: #e8edf4 !important;
  background: #18202c !important;
  border-color: #3b485b !important;
  box-shadow: none !important;
}

html.ml-dark-mode body.-relatorios .report-toolbar-status strong {
  color: #fff !important;
}

html.ml-dark-mode body.-relatorios .report-toolbar-status span {
  color: #c7d0dc !important;
}

html.ml-dark-mode body.-relatorios :is(.layout-controls button, .report-filter-chip):hover,
html.ml-dark-mode body.-relatorios :is(.layout-controls button, .report-filter-chip):focus-visible {
  color: #fff !important;
  background: #273244 !important;
  border-color: #f5cf35 !important;
}

html.ml-dark-mode body.-relatorios .report-filter-chip.is-active,
html.ml-dark-mode body.-relatorios #save-layout {
  color: #17140a !important;
  background: #f5cf35 !important;
  border-color: #f5cf35 !important;
}

html.ml-dark-mode body.-relatorios .report-card {
  background: #111720 !important;
  border-color: #344154 !important;
  box-shadow: none !important;
}

html.ml-dark-mode body.-relatorios .report-card:hover,
html.ml-dark-mode body.-relatorios .report-card:focus-visible {
  background: #18202c !important;
  border-color: #596980 !important;
}

html.ml-dark-mode body.-relatorios .report-card-category {
  color: #bdc7d4 !important;
}

html.ml-dark-mode body.-relatorios .report-card-badge {
  color: #f1f5f9 !important;
  background: #263143 !important;
  border-color: #445269 !important;
}

html.ml-dark-mode body.-relatorios .report-search input {
  color: #f8fafc !important;
  background: #0d131c !important;
  border-color: #3b485b !important;
}

html.ml-dark-mode body.-relatorios .report-search input::placeholder {
  color: #aeb9c8 !important;
  opacity: 1;
}

html.ml-dark-mode body.-relatorios :is(.report-toolbar-row, .report-layout-help) {
  border-color: #344154 !important;
}

html.ml-dark-mode body.-relatorios .report-layout-help {
  color: #d7dee8 !important;
  background: #18202c !important;
}

html.ml-dark-mode body.-relatorios :is(.report-search-icon, .report-drag-handle) {
  color: #c7d0dc !important;
}

@media print {
  html.ml-dark-mode {
    color-scheme: light;
    background: #fff !important;
  }

  html.ml-dark-mode :is(body, .layout-main, .ml-page-column) {
    color: #111 !important;
    background: #fff !important;
  }
}
