/* Modo escuro: ativado por <html data-theme="dark"> (ver theme.js) */

html[data-theme="dark"] {
  color-scheme: dark;
  --bg-page: #0f172a;
  --bg-surface: #1e293b;
  --bg-soft: #172554;
  --bg-muted: #1e293b;
  --primary: #60a5fa;
  --primary-strong: #93c5fd;
  --primary-soft: rgba(96, 165, 250, 0.14);
  --accent: #2dd4bf;
  --accent-soft: rgba(45, 212, 191, 0.16);
  --text: #e2e8f0;
  --muted: #94a3b8;
  --line: #334155;
  --shadow: 0 18px 45px rgba(0, 0, 0, 0.45);
}

html[data-theme="light"] {
  color-scheme: light;
}

html[data-theme="dark"],
html[data-theme="dark"] body {
  background: linear-gradient(180deg, #0b1220 0%, var(--bg-page) 100%) !important;
  color: var(--text);
}

html[data-theme="dark"] #contenedor {
  background: rgba(30, 41, 59, 0.88) !important;
}

html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6 {
  color: var(--text);
}

html[data-theme="dark"] a {
  color: var(--primary);
}

html[data-theme="dark"] .texto-centralizado,
html[data-theme="dark"] .text1,
html[data-theme="dark"] td,
html[data-theme="dark"] th,
html[data-theme="dark"] label {
  color: var(--text);
}

html[data-theme="dark"] .text1Gray,
html[data-theme="dark"] .login-label {
  color: var(--muted);
}

html[data-theme="dark"] .redText {
  color: #fca5a5;
}

/* Tabelas */
html[data-theme="dark"] .editInsert,
html[data-theme="dark"] .table-result-grid,
html[data-theme="dark"] .region-form {
  background: var(--bg-surface);
  border-color: var(--line);
}

html[data-theme="dark"] .editInsert th,
html[data-theme="dark"] .table-result-grid th {
  background: linear-gradient(180deg, #243349 0%, #1e2b40 100%);
  color: var(--primary-strong);
  border-bottom-color: var(--line);
}

html[data-theme="dark"] .editInsert td,
html[data-theme="dark"] .table-result-grid td {
  border-bottom-color: var(--line);
  color: var(--text);
}

html[data-theme="dark"] .table-result-grid tr:nth-child(even) td {
  background-color: #1a2638;
}

html[data-theme="dark"] .table-result-grid tr:hover td {
  background-color: #26364d;
}

html[data-theme="dark"] .region-form-data,
html[data-theme="dark"] .table-result-data-small,
html[data-theme="dark"] .table-example-data {
  background-color: #243349;
  color: var(--text);
}

/* Cartões, abas e painéis do modern-ui.css */
html[data-theme="dark"] #mainTabs .ui-tabs-nav,
html[data-theme="dark"] .session-card,
html[data-theme="dark"] .home-card {
  background: linear-gradient(180deg, #1e293b 0%, #182236 100%);
  border-color: var(--line);
}

html[data-theme="dark"] #mainTabs .ui-tabs-panel,
html[data-theme="dark"] .calendar-board,
html[data-theme="dark"] .home-stat-chip {
  background: rgba(30, 41, 59, 0.75);
  border-color: var(--line);
}

html[data-theme="dark"] .session-card.current-psi {
  background: linear-gradient(180deg, #3a3017 0%, #2e2713 100%);
}

html[data-theme="dark"] .home-hero {
  background: linear-gradient(135deg, rgba(96, 165, 250, 0.16), rgba(45, 212, 191, 0.12), rgba(30, 41, 59, 0.7));
}

html[data-theme="dark"] .agenda-status-pill {
  color: #5eead4;
}

/* Campos de formulário */
html[data-theme="dark"] input[type=text],
html[data-theme="dark"] input[type=password],
html[data-theme="dark"] input[type=email],
html[data-theme="dark"] input[type=number],
html[data-theme="dark"] input[type=date],
html[data-theme="dark"] input[type=time],
html[data-theme="dark"] input[type=search],
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .textarea-dark {
  background-color: #0f172a !important;
  color: var(--text) !important;
  border-color: #475569 !important;
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
  color: #64748b;
}

/* Botões pretos do tema claro ficariam invisíveis sobre fundo escuro */
html[data-theme="dark"] input[type=submit],
html[data-theme="dark"] button:not(#theme-toggle) {
  background-color: #3b82f6;
  border-color: #3b82f6;
  color: #ffffff;
}

/* Alertas (dialogs) */
html[data-theme="dark"] .mensagem-dialog {
  background: #1e293b !important;
  color: #ffffff !important;
}

html[data-theme="dark"] .mensagem-dialog__titulo,
html[data-theme="dark"] .mensagem-dialog__texto {
  color: #ffffff !important;
}

/* Resultado do relatório IA */
html[data-theme="dark"] .relatorioIA,
html[data-theme="dark"] .relatorioIA * {
  color: #ffffff !important;
}

html[data-theme="dark"] .relatorioIA {
  background-color: #1e293b !important;
}

/* Imagem transparente com texto escuro */
html[data-theme="dark"] img[alt="Declaração de Privacidade"] {
  background: #e2e8f0;
  border-radius: 12px;
  padding: 8px;
  box-sizing: border-box;
}

/* Blocos com fundo claro inline */
html[data-theme="dark"] [style*="background-color: whitesmoke"],
html[data-theme="dark"] [style*="background-color:whitesmoke"] {
  background-color: #1e293b !important;
  color: #e2e8f0 !important;
}

/* Tela de escolha de e-mail */
html[data-theme="dark"] #mybody .pac-email-field {
  background-color: var(--bg-surface);
}

html[data-theme="dark"] #mybody .pac-email-field label {
  color: var(--primary-strong);
}

/* Abas jQuery UI */
html[data-theme="dark"] #mainTabs .ui-tabs-nav li a,
html[data-theme="dark"] #mainTabs2 .ui-tabs-nav li a,
html[data-theme="dark"] #tabs .ui-tabs-nav li a,
html[data-theme="dark"] #mainTabs .ui-tabs-nav li.ui-state-active a,
html[data-theme="dark"] #mainTabs2 .ui-tabs-nav li.ui-state-active a,
html[data-theme="dark"] #tabs .ui-tabs-nav li.ui-state-active a {
  color: #1e3a8a !important;
  font-weight: 700;
}

/* Alternador de tema */
#theme-toggle {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 10000;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  background: #ffffff !important;
  color: #1d4ed8 !important;
  font-family: inherit;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.18);
}

html[data-theme="dark"] #theme-toggle {
  background: #1e293b !important;
  color: #e2e8f0 !important;
  border-color: #475569 !important;
}

@media print {
  #theme-toggle {
    display: none;
  }
}

/* Agenda: células vazias (brancas) seguem o tema; texto das sessões é definido inline pelo Java conforme o contraste */
html[data-theme="dark"] table.nested td[bgcolor="#FFFFFF" i] {
  background-color: transparent !important;
}

/* Linhas marcadas em amarelo claro (inline): garantir texto legível */
html[data-theme="dark"] td[style*="#ffffcc" i],
html[data-theme="dark"] td[style*="#ffffcc" i] * {
  color: #222 !important;
}
