/* LPGest — capa nocturna compartida.
   Usa tokens semánticos para que las pantallas con CSS propio mantengan
   jerarquía, contraste y estados consistentes sin alterar el tema claro. */

:root[data-theme="dark"] {
  color-scheme: dark;
  --dm-app: #0d1421;
  --dm-card: #151f2e;
  --dm-raised: #1a2637;
  --dm-muted: #202d40;
  --dm-hover: #26364c;
  --dm-border: #2d3b50;
  --dm-border-strong: #40516a;
  --dm-text: #dbe3ee;
  --dm-text-strong: #f4f7fb;
  --dm-text-muted: #9eacc0;
  --dm-brand: #a8bfe0;
  --dm-focus: rgba(112, 154, 232, .38);
  --dm-success: #4ade80;
  --dm-warning: #fbbf24;
  --dm-danger: #fb7185;
}

[data-theme="dark"] body,
[data-theme="dark"] .main,
[data-theme="dark"] .content {
  background: var(--dm-app);
  color: var(--dm-text);
}

/* Superficies compartidas */
[data-theme="dark"] .card,
[data-theme="dark"] .card-body,
[data-theme="dark"] .table-wrapper,
[data-theme="dark"] .form-container,
[data-theme="dark"] .modal-box,
[data-theme="dark"] .action-panel,
[data-theme="dark"] .action-panel-form {
  background: var(--dm-card);
  color: var(--dm-text);
  border-color: var(--dm-border);
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .modal-title {
  background: var(--dm-raised);
  color: var(--dm-text-strong);
  border-color: var(--dm-border);
}

[data-theme="dark"] .field label,
[data-theme="dark"] .form-label,
[data-theme="dark"] legend {
  color: var(--dm-text);
}

/* Acceso: los títulos originales usan colores fijos del tema claro. */
[data-theme="dark"] .login-right-header h2 {
  color: var(--dm-text-strong);
}

[data-theme="dark"] .login-right-header p {
  color: var(--dm-text-muted);
}

[data-theme="dark"] .login-company-chip {
  background: var(--dm-raised);
  color: var(--dm-brand);
  border-color: var(--dm-border-strong);
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
  color: #7f8ea4;
  opacity: 1;
}

[data-theme="dark"] input:disabled,
[data-theme="dark"] input[readonly],
[data-theme="dark"] select:disabled,
[data-theme="dark"] textarea:disabled {
  background: #17202e;
  color: #8290a4;
  border-color: #273448;
  opacity: 1;
}

[data-theme="dark"] input:focus-visible,
[data-theme="dark"] select:focus-visible,
[data-theme="dark"] textarea:focus-visible,
[data-theme="dark"] button:focus-visible,
[data-theme="dark"] a:focus-visible {
  outline: 2px solid #709ae8;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px var(--dm-focus);
}

/* Navegación, búsqueda y controles secundarios */
[data-theme="dark"] .topbar-title,
[data-theme="dark"] .topbar-user {
  color: var(--dm-text-strong);
}

[data-theme="dark"] .ph-search,
[data-theme="dark"] .ph-search:focus-within {
  background: var(--dm-raised);
  box-shadow: inset 0 0 0 1px var(--dm-border);
}

[data-theme="dark"] .ph-search-input {
  color: var(--dm-text-strong) !important;
}

[data-theme="dark"] .ph-search-kbd {
  background: var(--dm-muted);
  color: var(--dm-text-muted);
}

[data-theme="dark"] .btn-secondary,
[data-theme="dark"] .fv-head-btn {
  background: var(--dm-raised);
  color: var(--dm-text);
  border-color: var(--dm-border-strong);
}

[data-theme="dark"] .btn-secondary:hover,
[data-theme="dark"] .fv-head-btn:hover {
  background: var(--dm-hover);
  color: var(--dm-text-strong);
  border-color: #5c7394;
}

[data-theme="dark"] .btn-edit {
  background: rgba(112, 154, 232, .12);
  color: #a8c4f2;
  border-color: rgba(112, 154, 232, .36);
}

[data-theme="dark"] .btn-delete {
  background: rgba(251, 113, 133, .09);
  color: var(--dm-danger);
  border-color: rgba(251, 113, 133, .32);
}

/* Tablas y listas comunes */
[data-theme="dark"] .tabla thead th {
  background: var(--dm-raised);
  color: #c8d3e2;
  border-color: var(--dm-border);
}

[data-theme="dark"] .tabla tbody tr,
[data-theme="dark"] .tabla tbody tr:nth-child(even) {
  background: var(--dm-card);
  border-color: var(--dm-border);
}

[data-theme="dark"] .tabla tbody tr:nth-child(even) {
  background: #182334;
}

[data-theme="dark"] .tabla tbody tr:hover,
[data-theme="dark"] .tabla tbody tr:nth-child(even):hover {
  background: var(--dm-hover) !important;
}

[data-theme="dark"] .tabla tbody td {
  color: var(--dm-text);
  border-color: var(--dm-border);
}

[data-theme="dark"] .tabs-nav {
  border-color: var(--dm-border);
}

[data-theme="dark"] .tab-btn {
  color: var(--dm-text-muted);
}

[data-theme="dark"] .tab-btn:hover,
[data-theme="dark"] .tab-btn.active {
  background: var(--dm-raised);
  color: var(--dm-brand);
  border-bottom-color: #709ae8;
}

[data-theme="dark"] .pagination a,
[data-theme="dark"] .pagination span {
  background: var(--dm-card);
  color: var(--dm-text);
  border-color: var(--dm-border);
}

[data-theme="dark"] .pagination a:hover {
  background: var(--dm-hover);
  color: var(--dm-brand);
  border-color: #709ae8;
}

/* Registro de Ventas: elimina las superficies blancas de la captura. */
[data-theme="dark"] .fv-header,
[data-theme="dark"] .fv-body,
[data-theme="dark"] .fv-sale-card,
[data-theme="dark"] .fv-footer-grid,
[data-theme="dark"] .fv-actions,
[data-theme="dark"] .fv-table-tools {
  background: var(--dm-card);
  color: var(--dm-text);
  border-color: var(--dm-border);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .24);
}

[data-theme="dark"] .fv-title,
[data-theme="dark"] .fv-back,
[data-theme="dark"] .fv-label,
[data-theme="dark"] .fv-agregar,
[data-theme="dark"] .fv-items-count strong {
  color: var(--dm-brand);
}

[data-theme="dark"] .fv-head-plain,
[data-theme="dark"] .fv-radio-label,
[data-theme="dark"] .fv-items-count,
[data-theme="dark"] .fv-total-row {
  color: var(--dm-text-muted);
}

[data-theme="dark"] .fv-client-wrap,
[data-theme="dark"] .prod-srch-row,
[data-theme="dark"] .fv-price-input,
[data-theme="dark"] .fv-inp-coment,
[data-theme="dark"] .fv-discount-input {
  background: var(--dm-raised) !important;
  color: var(--dm-text-strong);
  border-color: var(--dm-border-strong);
}

[data-theme="dark"] .fv-client-wrap:focus-within,
[data-theme="dark"] .prod-srch-row:focus-within,
[data-theme="dark"] .fv-price-input:focus,
[data-theme="dark"] .fv-inp-coment:focus {
  background: var(--dm-muted) !important;
  border-color: #709ae8;
  box-shadow: 0 0 0 3px var(--dm-focus);
}

[data-theme="dark"] .fv-number-input {
  background: #242718 !important;
  color: #f5dc83 !important;
  border-color: #6d642f !important;
}

[data-theme="dark"] .fv-tabla tbody tr,
[data-theme="dark"] .fv-tabla tbody td,
[data-theme="dark"] .fv-tabla .fv-action-col {
  background: var(--dm-card);
  color: var(--dm-text);
  border-color: var(--dm-border);
}

[data-theme="dark"] .fv-tabla tbody tr:hover td,
[data-theme="dark"] .fv-tabla tbody tr:hover .fv-action-col {
  background: var(--dm-hover);
}

[data-theme="dark"] .fv-tabla thead .fv-thead-dark th,
[data-theme="dark"] .fv-tabla thead .fv-action-col {
  background: #111a29 !important;
  color: #d8e2f0 !important;
  border-color: var(--dm-border);
}

[data-theme="dark"] .fv-price-locked,
[data-theme="dark"] .fv-price-input.fv-price-blocked,
[data-theme="dark"] .fv-discount-input.fv-discount-disabled {
  background: #17202e !important;
  color: #75849a;
  border-color: #273448;
}

[data-theme="dark"] .fv-total-row span:last-child,
[data-theme="dark"] .fv-total-final,
[data-theme="dark"] .fv-total-final span:last-child,
[data-theme="dark"] .fv-totals-panel {
  color: var(--dm-text-strong);
}

[data-theme="dark"] .fv-total-final {
  border-color: var(--dm-border-strong);
}

[data-theme="dark"] .fv-send-options,
[data-theme="dark"] .prod-drop,
[data-theme="dark"] .bp-card {
  background: var(--dm-card);
  color: var(--dm-text);
  border-color: var(--dm-border);
}

[data-theme="dark"] .fv-send-options button,
[data-theme="dark"] .prod-drop-item,
[data-theme="dark"] .bp-head,
[data-theme="dark"] .bp-foot {
  color: var(--dm-text);
  border-color: var(--dm-border);
}

[data-theme="dark"] .fv-send-options button:hover,
[data-theme="dark"] .prod-drop-item:hover,
[data-theme="dark"] .prod-drop-item.focused,
[data-theme="dark"] .bp-row:hover,
[data-theme="dark"] .bp-row.is-selected {
  background: var(--dm-hover);
  color: var(--dm-text-strong);
}

/* Panel DGII contiene estilos inline; estas reglas son deliberadamente fuertes. */
[data-theme="dark"] #dgii-panel {
  background: var(--dm-card) !important;
  border-color: #365174 !important;
}

[data-theme="dark"] #dgii-panel > summary,
[data-theme="dark"] #dgii-panel .fv-dgii-grid,
[data-theme="dark"] #dgii-panel .fv-dgii-advanced,
[data-theme="dark"] #dgii-pago-derivado {
  background: var(--dm-raised) !important;
  color: var(--dm-text) !important;
  border-color: var(--dm-border) !important;
}

[data-theme="dark"] #dgii-panel summary strong {
  color: var(--dm-text-strong) !important;
}

[data-theme="dark"] #dgii-panel summary small,
[data-theme="dark"] #dgii-panel label,
[data-theme="dark"] #dgii-panel .fv-dgii-grid > div {
  color: var(--dm-text-muted) !important;
}

/* Calendarios y barras de desplazamiento */
[data-theme="dark"] .flatpickr-calendar,
[data-theme="dark"] .flatpickr-months,
[data-theme="dark"] .flatpickr-weekdays {
  background: var(--dm-card);
  color: var(--dm-text);
  border-color: var(--dm-border);
}

[data-theme="dark"] .flatpickr-day,
[data-theme="dark"] .flatpickr-current-month,
[data-theme="dark"] .flatpickr-weekday {
  color: var(--dm-text);
}

[data-theme="dark"] ::-webkit-scrollbar-track {
  background: #111a28;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #3a4a61;
  border-radius: 6px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #526681;
}

@media (prefers-reduced-motion: reduce) {
  [data-theme="dark"] *,
  [data-theme="dark"] *::before,
  [data-theme="dark"] *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
