/*
  Tema empresarial - Paleta en uso: AZUL CORPORATIVO (Opción A)

  Otras opciones por si quieres cambiar (sustituir valores de :root):
  — Opción A "Azul corporativo" (actual): primary #1e3a5f, navbar #1e3a5f, bg #f0f4f8
  — Opción B "Slate/Teal": primary #0f766e, navbar #0f766e, bg #f1f5f9
  — Opción C "Índigo sobrio": primary #4f46e5, navbar #3730a3, bg #f5f3ff
*/

:root {
  --vd-primary: #1e3a5f;
  --vd-primary-hover: #2d4a6f;
  --vd-primary-light: #dbeafe;
  --vd-secondary: #475569;
  --vd-secondary-hover: #64748b;
  --vd-success: #059669;
  --vd-success-hover: #047857;
  --vd-danger: #dc2626;
  --vd-danger-hover: #b91c1c;
  --vd-info: #1e40af;
  --vd-bg-page: #f0f4f8;
  --vd-bg-card: #ffffff;
  --vd-border: #e2e8f0;
  --vd-text: #1e293b;
  --vd-text-muted: #64748b;
  --vd-navbar: #1e3a5f;
  --vd-navbar-text: #ffffff;
  --vd-navbar-hover: rgba(255,255,255,0.9);
  --vd-shadow: 0 1px 3px rgba(30, 58, 95, 0.12);
  --vd-focus-ring: rgba(30, 58, 95, 0.4);
}

body {
  background-color: var(--vd-bg-page);
  color: var(--vd-text);
}

/* Navbar */
.navbar {
  background-color: var(--vd-navbar) !important;
  border-bottom: none !important;
  box-shadow: var(--vd-shadow) !important;
}
.navbar .navbar-brand,
.navbar .nav-link {
  color: var(--vd-navbar-text) !important;
}
.navbar .nav-link:hover {
  color: var(--vd-navbar-hover) !important;
}
.navbar .navbar-toggler {
  border-color: rgba(255,255,255,0.5);
  color: var(--vd-navbar-text);
}
.navbar .navbar-toggler-icon {
  filter: brightness(0) invert(1);
}

/* Contenedor principal */
main {
  background-color: var(--vd-bg-card);
  border-radius: 8px;
  box-shadow: var(--vd-shadow);
  padding: 1.5rem 1.5rem 2rem !important;
  border: 1px solid var(--vd-border);
}

/* Títulos */
h1, h2, h3, h4 {
  color: var(--vd-text);
}
h2 {
  font-weight: 600;
  border-bottom: 2px solid var(--vd-primary);
  padding-bottom: 0.35rem;
  margin-bottom: 0.5rem;
}
.text-muted {
  color: var(--vd-text-muted) !important;
}

/* Botones */
.btn-primary {
  background-color: var(--vd-primary);
  border-color: var(--vd-primary);
}
.btn-primary:hover {
  background-color: var(--vd-primary-hover);
  border-color: var(--vd-primary-hover);
}
.btn-success {
  background-color: var(--vd-success);
  border-color: var(--vd-success);
}
.btn-success:hover {
  background-color: var(--vd-success-hover);
  border-color: var(--vd-success-hover);
}
.btn-danger {
  background-color: var(--vd-danger);
  border-color: var(--vd-danger);
}
.btn-danger:hover {
  background-color: var(--vd-danger-hover);
  border-color: var(--vd-danger-hover);
}
.btn-outline-primary {
  color: var(--vd-primary);
  border-color: var(--vd-primary);
}
.btn-outline-primary:hover {
  background-color: var(--vd-primary);
  border-color: var(--vd-primary);
  color: #fff;
}
.btn-outline-secondary {
  color: var(--vd-secondary);
  border-color: var(--vd-border);
}
.btn-outline-secondary:hover {
  background-color: var(--vd-secondary);
  border-color: var(--vd-secondary);
  color: #fff;
}
.btn-outline-danger {
  color: var(--vd-danger);
  border-color: var(--vd-danger);
}
.btn-outline-danger:hover {
  background-color: var(--vd-danger);
  border-color: var(--vd-danger);
  color: #fff;
}

/* Focus en controles */
.btn:focus, .btn:active:focus,
.form-control:focus, .form-select:focus,
.form-check-input:focus {
  box-shadow: 0 0 0 0.2rem var(--vd-focus-ring) !important;
  border-color: var(--vd-primary);
}

/* Tablas */
.table {
  color: var(--vd-text);
}
.table-light {
  background-color: var(--vd-primary-light) !important;
  color: var(--vd-primary);
  font-weight: 600;
}
.table-bordered {
  border-color: var(--vd-border) !important;
}
.table-bordered th,
.table-bordered td {
  border-color: var(--vd-border) !important;
}
.table-hover tbody tr:hover {
  background-color: rgba(30, 58, 95, 0.06);
}

/* Badges */
.badge.bg-secondary {
  background-color: var(--vd-secondary) !important;
}

/* Alertas */
.alert-success {
  background-color: #d1fae5;
  border-color: var(--vd-success);
  color: #065f46;
}
.alert-danger {
  background-color: #fee2e2;
  border-color: var(--vd-danger);
  color: #991b1b;
}
.alert-info {
  background-color: #cffafe;
  border-color: var(--vd-info);
  color: #0e7490;
}

/* Footer */
.footer {
  background-color: var(--vd-bg-card) !important;
  border-top: 1px solid var(--vd-border) !important;
  color: var(--vd-text-muted) !important;
}
.footer a {
  color: var(--vd-primary) !important;
}

/* Modal */
.modal-header {
  background-color: var(--vd-primary);
  color: var(--vd-navbar-text);
  border-bottom: none;
}
.modal-header .btn-close {
  filter: brightness(0) invert(1);
}
.modal-content {
  border: 1px solid var(--vd-border);
  box-shadow: 0 4px 20px rgba(30, 58, 95, 0.15);
}

/* Toasts de la app (Edit) */
.toast-venta.success { background: var(--vd-success); color: #fff; }
.toast-venta.error { background: var(--vd-danger); color: #fff; }
.toast-venta.info { background: var(--vd-info); color: #fff; }

/* Separadores */
hr {
  border-color: var(--vd-border);
  opacity: 1;
}
