/* ══════════════════════════════════════════════════════════════
   Dark Theme — Login & Consultas
   Escopo: body.dark-page
   ══════════════════════════════════════════════════════════════ */

/* ── Página ───────────────────────────────────────────────── */
body.dark-page {
  background: #000;
  color: #e8e8e8;
}

body.dark-page h1,
body.dark-page h2,
body.dark-page h3,
body.dark-page h4 {
  color: #f0f0f0;
}

/* ── Boot splash (consultas) ──────────────────────────────── */
body.dark-page .boot-splash {
  background: #000;
}

body.dark-page .boot-splash__message {
  color: #6b7280;
}

body.dark-page .boot-splash__spinner {
  border-color: #2a2a2a;
  border-top-color: #3b82f6;
}

/* ── Login — shell & card ─────────────────────────────────── */
body.dark-page .login-shell {
  background: #000;
}

body.dark-page .login-panel {
  background: #111;
  border: 1px solid #252525;
  box-shadow: 0 16px 60px rgba(0, 0, 0, 0.85);
}

/* ── Auth: labels, inputs, senha ─────────────────────────── */
body.dark-page .auth-field__label {
  color: #7a7a7a;
}

body.dark-page .auth-input {
  background: #191919;
  border-color: #2e2e2e;
  color: #f0f0f0;
}

body.dark-page .auth-input::placeholder {
  color: #424242;
}

body.dark-page .auth-input:focus {
  background: #1d1d1d;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.14);
}

body.dark-page .auth-input[aria-invalid="true"] {
  border-color: #d97706;
  box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.12);
}

body.dark-page .password-toggle {
  color: #555;
}

body.dark-page .password-toggle:hover,
body.dark-page .password-toggle:focus {
  background: rgba(255, 255, 255, 0.06);
  box-shadow: none;
  color: #ccc;
}

body.dark-page .field-error {
  color: #fbbf24;
}

/* ── Esqueci senha ────────────────────────────────────────── */
body.dark-page .login-panel__link {
  color: #60a5fa;
}

body.dark-page .login-panel__link:hover,
body.dark-page .login-panel__link:focus {
  color: #93c5fd;
}

/* ── Botões: apenas o que realmente muda no dark ─────────── */
/* O azul padrão (#4f7ee8) de buttons.css já funciona no fundo preto.
   Só sobrescrevemos o que ficaria ilegível: btn-cancel é cinza claro. */
body.dark-page .btn-opcao--primary {
  background: #3b82f6;
}

body.dark-page .btn-opcao--primary:hover,
body.dark-page .btn-opcao--primary:focus {
  background: #2563eb;
}

body.dark-page .btn-opcao--success {
  background: #059669;
}

body.dark-page .btn-opcao--success:hover,
body.dark-page .btn-opcao--success:focus {
  background: #047857;
}

body.dark-page .btn-grande,
body.dark-page .btn-pequeno,
body.dark-page .btn-neutral-dark {
  background: #27272a;
  color: #d4d4d4;
}

body.dark-page .btn-grande:hover,
body.dark-page .btn-grande:focus,
body.dark-page .btn-pequeno:hover,
body.dark-page .btn-pequeno:focus,
body.dark-page .btn-neutral-dark:hover,
body.dark-page .btn-neutral-dark:focus {
  background: #3f3f46;
  color: #fff;
  box-shadow: none;
}

body.dark-page .btn-danger {
  background: #dc2626;
}

body.dark-page .btn-danger:hover,
body.dark-page .btn-danger:focus {
  background: #b91c1c;
}

body.dark-page .btn-exit {
  background: #b91c1c;
}

body.dark-page .btn-exit:hover,
body.dark-page .btn-exit:focus {
  background: #991b1b;
}

body.dark-page .btn-cancel {
  background: #27272a;
  color: #d4d4d4;
}

body.dark-page .btn-cancel:hover,
body.dark-page .btn-cancel:focus {
  background: #3f3f46;
  color: #fff;
}

body.dark-page .btn-cancel--danger {
  background: #dc2626;
  color: #fff;
}

body.dark-page .btn-cancel--danger:hover,
body.dark-page .btn-cancel--danger:focus {
  background: #b91c1c;
}

body.dark-page .shortcut-key {
  opacity: 0.5;
}

/* ── App shell (consultas) ────────────────────────────────── */
body.dark-page.consultation-page .app-shell {
  background: #111;
  border: 1px solid #1e1e1e;
  box-shadow: 0 16px 60px rgba(0, 0, 0, 0.8);
  color: #e8e8e8;
}

/* ── Input de placa ───────────────────────────────────────── */
body.dark-page .input-plate {
  background: #191919;
  border-color: #2e2e2e;
  color: #f0f0f0;
}

body.dark-page .input-plate::placeholder {
  color: #424242;
}

body.dark-page .input-plate:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.14);
}

/* ── Icon buttons ─────────────────────────────────────────── */
body.dark-page .icon-button {
  color: #6b7280;
}

body.dark-page .icon-button:hover,
body.dark-page .icon-button:focus {
  background: rgba(255, 255, 255, 0.07);
  box-shadow: none;
  color: #e8e8e8;
}

/* ── Menu lateral ─────────────────────────────────────────── */
body.dark-page .app-menu-backdrop {
  background: rgba(0, 0, 0, 0.75);
}

body.dark-page .app-menu {
  background: #0d0d0d;
  border-right: 1px solid #1a1a1a;
  box-shadow: 6px 0 40px rgba(0, 0, 0, 0.95);
}

body.dark-page .app-menu__item,
body.dark-page .app-menu__logout {
  background: #191919;
  border-color: #252525;
  color: #c8c8c8;
}

body.dark-page .app-menu__item:hover,
body.dark-page .app-menu__item:focus {
  background: #222;
  box-shadow: none;
  color: #fff;
}

body.dark-page .app-menu__item--highlight {
  background: #180f03;
  border-color: #3a2200;
  color: #f59e0b;
  font-weight: 600;
}

body.dark-page .app-menu__item--highlight:hover,
body.dark-page .app-menu__item--highlight:focus {
  background: #1e1504;
  color: #fbbf24;
}

body.dark-page .app-menu__item--convenio {
  background: #0a1520;
  border-color: #1a3a55;
  color: #60a5fa;
}

body.dark-page .app-menu__item--convenio:hover,
body.dark-page .app-menu__item--convenio:focus {
  background: #0d1c2a;
  color: #93c5fd;
}

body.dark-page .app-menu__item--payments {
  background: #071b11;
  border-color: #14532d;
  color: #4ade80;
}

body.dark-page .app-menu__item--payments:hover,
body.dark-page .app-menu__item--payments:focus {
  background: #0a2417;
  color: #86efac;
}

body.dark-page .app-menu__account {
  border-top-color: #1e1e1e;
}

body.dark-page .app-menu__account-name {
  color: #404040;
}

body.dark-page .app-menu__account-email {
  color: #6b7280;
}

body.dark-page .app-menu__logout {
  background: #160606;
  border-color: #2e0f0f;
  color: #ef4444;
}

body.dark-page .app-menu__logout:hover,
body.dark-page .app-menu__logout:focus {
  background: #1c0808;
  box-shadow: none;
  color: #f87171;
}

/* ── Pendências a confirmar ───────────────────────────────── */
body.dark-page .pending-payments__title {
  color: #555;
}

body.dark-page .pending-payments__item {
  background: #181818;
  border: 1px solid #242424;
  box-shadow: none;
  color: #c8c8c8;
}

/* ── Quick cash ───────────────────────────────────────────── */
body.dark-page .quick-cash-actions__button {
  background: #1c1c1c;
  border: 1px solid #2a2a2a;
  color: #c8c8c8;
}

body.dark-page .quick-cash-actions__button:hover,
body.dark-page .quick-cash-actions__button:focus {
  background: #242424;
  box-shadow: none;
  color: #fff;
}

/* ── Modais (ambas as páginas) ────────────────────────────── */
body.dark-page .modal-bg {
  background: rgba(0, 0, 0, 0.8);
}

body.dark-page .modal-box {
  background: #141414;
  border: 1px solid #242424;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.9);
  color: #e8e8e8;
}

body.dark-page .modal-box h2,
body.dark-page .modal-box h3,
body.dark-page .modal-feedback h3 {
  color: #f0f0f0;
}

body.dark-page .modal-copy-small,
body.dark-page .modal-feedback .modal-copy-small {
  color: #8c8c8c;
}

body.dark-page .modal-textarea {
  background: #1c1c1c;
  border: 1px solid #2e2e2e;
  color: #f0f0f0;
}

/* Detalhes da entrada */
body.dark-page .entry-result-confirm {
  background: #1a1400;
  border-color: #3d3000;
  color: #fbbf24;
}

body.dark-page .entry-result-detail {
  background: #1c1c1c;
  border-color: #2a2a2a;
  color: #c8c8c8;
}

body.dark-page .entry-result-detail strong {
  color: #93c5fd;
}

body.dark-page .active-entry-adjust-modal__summary-item {
  background: #1c1c1c;
  border-color: #2a2a2a;
}

body.dark-page .active-entry-adjust-modal__summary-label {
  color: #93c5fd;
}

body.dark-page .active-entry-adjust-modal__summary-value {
  color: #d4d4d8;
}

body.dark-page .active-entry-adjust-modal__status {
  background: #111827;
  border-color: #1d4ed8;
  color: #93c5fd;
}

body.dark-page .active-entry-adjust-modal__status[data-state="error"] {
  background: #1c1917;
  border-color: #c2410c;
  color: #fdba74;
}

body.dark-page .active-entry-adjust-modal__warning {
  background: #1a1400;
  border-color: #3d3000;
  color: #fbbf24;
}

/* Modal de desconto */
body.dark-page .desconto-modal {
  background: #141414;
  border: 1px solid #242424;
  color: #e8e8e8;
}

body.dark-page .desconto-modal h3 {
  color: #f0f0f0;
}

body.dark-page .input-desconto {
  background: #191919;
  border-color: #2e2e2e;
  color: #f0f0f0;
}

/* Admin confirm (APC) */
body.dark-page .apc-card {
  background: #141414;
  border: 1px solid #242424;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.9);
}

body.dark-page .apc-title {
  color: #f0f0f0;
}

body.dark-page .apc-desc {
  color: #8c8c8c;
}

body.dark-page .apc-field {
  color: #7a7a7a;
}

/* ── Conteúdo de modal com fundo claro (saida-container, recibo) ── */
/* O fundo claro original (#f7faff) exige texto escuro — desfaz a herança de color: #e8e8e8 */
body.dark-page .saida-container {
  color: #0f172a;
}

body.dark-page .saida-container p,
body.dark-page .saida-container strong,
body.dark-page .saida-container h1,
body.dark-page .saida-container h2,
body.dark-page .saida-container h3 {
  color: #0f172a;
}

/* Botões dentro do saida-container mantêm texto branco */
body.dark-page .saida-container .btn-pag,
body.dark-page .saida-container .btn-pag span {
  color: #fff;
}

/* ── Pátio (yard modal) — itens com fundo claro dentro do modal-box escuro ── */
body.dark-page .yard-item {
  background: #1e2432;
  border-color: #2d3445;
  color: #c8d0e0;
}

body.dark-page .yard-item:hover,
body.dark-page .yard-item:focus {
  background: #232e45;
  border-color: #3b5278;
}

body.dark-page .yard-item__body,
body.dark-page .yard-item__plate,
body.dark-page .yard-item__time,
body.dark-page .yard-item__size {
  color: #c8d0e0;
}

body.dark-page .yard-search-input {
  background: #191919;
  border-color: #2e2e2e;
  color: #f0f0f0;
}

body.dark-page .yard-search-input::placeholder {
  color: #424242;
}

body.dark-page .yard-sort-control select {
  background: #191919;
  border-color: #2e2e2e;
  color: #d0d0d0;
}

body.dark-page .yard-helper-text,
body.dark-page .yard-sort-control span {
  color: #6b7280;
}

body.dark-page .yard-desktop-rail__panel {
  background: rgba(10, 10, 10, 0.96);
  border-color: #1f2937;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.72);
}

body.dark-page .yard-desktop-rail__eyebrow,
body.dark-page .yard-desktop-rail__status,
body.dark-page .yard-desktop-rail__empty {
  color: #6b7280;
}

body.dark-page .yard-desktop-rail__title {
  color: #e5e7eb;
}

body.dark-page .yard-desktop-rail__count {
  background: #172554;
  border-color: #1d4ed8;
  color: #bfdbfe;
}

body.dark-page .yard-desktop-group__title {
  border-color: #1e3a5f;
  color: #93c5fd;
}

body.dark-page .yard-desktop-card {
  background: linear-gradient(180deg, #161c27 0%, #121826 100%);
  border-color: #243246;
  color: #dbe4f0;
}

body.dark-page .yard-desktop-card:hover,
body.dark-page .yard-desktop-card:focus {
  background: #1a2435;
  border-color: #3b5278;
}

body.dark-page .yard-desktop-card__model {
  color: #e5edf7;
}

body.dark-page .yard-desktop-card__brand {
  color: #94a3b8;
}

body.dark-page .yard-desktop-card__meta {
  color: #dbe4f0;
}

body.dark-page .yard-desktop-card .placa-display--yard-compact {
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.16);
}

/* Cards de resumo (GRANDES/PEQUENOS/TOTAL) mantêm fundo colorido com texto original */

/* Shortcuts panel */
body.dark-page .shortcuts-panel {
  background: #111;
  border-left: 1px solid #222;
  color: #8c8c8c;
}

body.dark-page .shortcuts-panel__title {
  color: #444;
}

body.dark-page .confirmed-payments-focus-card,
body.dark-page .confirmed-payments-results,
body.dark-page .confirmed-payments-history-state,
body.dark-page #confirmed-payments-history-results .confirmed-payments-results {
  background: #141414;
  border-color: #252525;
  box-shadow: none;
}

body.dark-page .confirmed-payments-focus-card {
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, 0.18), transparent 34%),
    linear-gradient(135deg, #121212 0%, #171717 55%, #101827 100%);
}

body.dark-page .confirmed-payments-focus-card__copy h2,
body.dark-page .confirmed-payments-summary h2,
body.dark-page .confirmed-payments-item__code,
body.dark-page .confirmed-payments-item__plate,
body.dark-page .confirmed-payments-history-state strong {
  color: #f8fafc;
}

body.dark-page .confirmed-payments-focus-card__eyebrow,
body.dark-page .confirmed-payments-summary__eyebrow,
body.dark-page .confirmed-payments-summary__count {
  color: #93c5fd;
}

body.dark-page .confirmed-payments-focus-card__note,
body.dark-page .confirmed-payments-summary__helper,
body.dark-page .confirmed-payments-item__moment,
body.dark-page .confirmed-payments-history-state,
body.dark-page .confirmed-payments-modal__meta p,
body.dark-page .confirmed-payments-modal__field span,
body.dark-page .confirmed-payments-history-modal__head p {
  color: #94a3b8;
}

body.dark-page .confirmed-payments-summary__count {
  background: #0b1730;
  border-color: #1d4ed8;
}

body.dark-page .confirmed-payments-results__header {
  background: linear-gradient(180deg, #181818 0%, #111827 100%);
  color: #64748b;
}

body.dark-page .confirmed-payments-item {
  background: #141414;
  border-top-color: #252525;
  color: #e2e8f0;
}

body.dark-page .confirmed-payments-item:hover,
body.dark-page .confirmed-payments-item:focus {
  background: #1a2230;
}

body.dark-page .confirmed-payments-item__payment {
  background: #19212c;
  border-color: #334155;
  color: #dbeafe;
}

body.dark-page .confirmed-payments-toolbar .reprint-field select,
body.dark-page .confirmed-payments-history-form .reprint-field select,
body.dark-page .confirmed-payments-modal__field select {
  background: #161616;
  border-color: #2d2d2d;
  color: #e5e7eb;
}
