/*
 * Theme layer (global): Agricola Azul
 * Purpose: centralize cross-module visual tokens and common component styling.
 */

body.theme-global-agricola-azul {
  --ga-primary: var(--ga-hex-2563eb);
  --ga-primary-hover: var(--ga-hex-1d4ed8);
  --ga-primary-soft: var(--ga-hex-eff6ff);
  --ga-primary-soft-2: var(--ga-hex-eaf1ff);
  --ga-accent: var(--ga-hex-0ea5e9);
  --ga-success: var(--ga-hex-059669);
  --ga-warning: var(--ga-hex-d97706);
  --ga-danger: var(--ga-hex-dc2626);
  --ga-text: var(--ga-hex-1e293b);
  --ga-text-sub: var(--ga-hex-64748b);
  --ga-border: var(--ga-hex-dbe7ff);
  --ga-card-border: var(--ga-hex-d8e5ff);
  --ga-card-bg: var(--ga-hex-ffffff);
  --ga-card-bg-soft: var(--ga-hex-f8fbff);
  --ga-shadow-sm: 0 2px 8px var(--ga-rgba-37-99-235-0_08);
  --ga-shadow-md: 0 10px 24px var(--ga-rgba-37-99-235-0_14);
  --ga-focus-shadow: 0 0 0 3px var(--ga-rgba-37-99-235-0_16);
  --ga-topbar-bg: var(--ga-hex-ffffff);
  --ga-topbar-border: var(--ga-hex-dbe7ff);
  --ga-topbar-shadow: 0 2px 8px var(--ga-rgba-37-99-235-0_08);
  --ga-sidebar-from: var(--ga-hex-1e3a8a);
  --ga-sidebar-to: var(--ga-hex-1e40af);
  --ga-sidebar-text: var(--ga-rgba-255-255-255-0_8);
  --ga-sidebar-muted: var(--ga-rgba-255-255-255-0_42);
  --ga-sidebar-hover: var(--ga-rgba-255-255-255-0_1);
  --ga-sidebar-active: var(--ga-rgba-255-255-255-0_14);

  /* Keep compatibility with existing style vars used across modules */
  --primary: var(--ga-primary);
  --primary-500: var(--ga-primary);
  --primary-600: var(--ga-primary);
  --primary-700: var(--ga-primary-hover);
  --primary-100: var(--ga-primary-soft);
  --gray-100: var(--ga-hex-eef3ff);
  --gray-200: var(--ga-hex-dee8ff);
  --gray-500: var(--ga-text-sub);
  --gray-700: var(--ga-hex-334155);
  --gray-800: var(--ga-text);
  --gray-900: var(--ga-hex-0f172a);
  --success: var(--ga-success);
  --warning: var(--ga-warning);
  --danger: var(--ga-danger);
}

body.theme-global-agricola-azul {
  background: linear-gradient(180deg, var(--ga-hex-eef3ff) 0%, var(--ga-hex-f5f9ff) 52%, var(--ga-hex-f7fbff) 100%);
  color: var(--ga-text);
}

body.theme-global-agricola-azul .sidebar {
  background: linear-gradient(180deg, var(--ga-sidebar-from) 0%, var(--ga-sidebar-to) 100%);
}

body.theme-global-agricola-azul .sidebar-brand,
body.theme-global-agricola-azul .quick-selector-btn,
body.theme-global-agricola-azul .nav-item {
  color: var(--ga-sidebar-text);
}

body.theme-global-agricola-azul .sidebar-brand span,
body.theme-global-agricola-azul .nav-section-title {
  color: var(--ga-sidebar-muted);
}

body.theme-global-agricola-azul .nav-item:hover,
body.theme-global-agricola-azul .quick-selector-btn:hover {
  background: var(--ga-sidebar-hover);
  color: var(--ga-hex-ffffff);
}

body.theme-global-agricola-azul .nav-item.active {
  background: var(--ga-sidebar-active);
  color: var(--ga-hex-ffffff);
  border-right: 3px solid var(--ga-hex-60a5fa);
  box-shadow: none;
}

body.theme-global-agricola-azul .main-header {
  background: var(--ga-topbar-bg);
  border-bottom: 1px solid var(--ga-topbar-border);
  box-shadow: var(--ga-topbar-shadow);
}

body.theme-global-agricola-azul .gestor-ventanas {
  background: var(--ga-hex-ffffff);
  border-bottom: 1px solid var(--ga-topbar-border);
}

body.theme-global-agricola-azul .ventana-tab.active {
  background: linear-gradient(135deg, var(--ga-primary), var(--ga-primary-hover));
  border-color: var(--ga-primary-hover);
}

body.theme-global-agricola-azul .page-title {
  color: var(--ga-hex-102a4d);
}

body.theme-global-agricola-azul .page-subtitle {
  color: var(--ga-text-sub);
}

/* Common cards across modules */
body.theme-global-agricola-azul .card-ag,
body.theme-global-agricola-azul .parcelas-card,
body.theme-global-agricola-azul .modal-content {
  background: linear-gradient(180deg, var(--ga-card-bg) 0%, var(--ga-card-bg-soft) 100%);
  border: 1px solid var(--ga-card-border);
  box-shadow: var(--ga-shadow-sm);
}

body.theme-global-agricola-azul .card-ag:hover,
body.theme-global-agricola-azul .parcelas-card:hover {
  box-shadow: var(--ga-shadow-md);
}

body.theme-global-agricola-azul .card-ag-header,
body.theme-global-agricola-azul .parcelas-card__header {
  border-bottom: 1px solid var(--ga-hex-e7efff);
}

/* Buttons */
body.theme-global-agricola-azul .btn-primary-ag,
body.theme-global-agricola-azul .btn.btn-primary,
body.theme-global-agricola-azul .btn.btn-pill.btn-primary {
  background: linear-gradient(135deg, var(--ga-primary), var(--ga-primary-hover));
  border-color: var(--ga-primary);
  color: var(--ga-hex-ffffff);
}

body.theme-global-agricola-azul .btn-primary-ag:hover,
body.theme-global-agricola-azul .btn.btn-primary:hover,
body.theme-global-agricola-azul .btn.btn-pill.btn-primary:hover {
  background: linear-gradient(135deg, var(--ga-primary-hover), var(--ga-hex-1e40af));
  border-color: var(--ga-primary-hover);
}

body.theme-global-agricola-azul .btn-outline-ag,
body.theme-global-agricola-azul .btn.btn-outline-primary,
body.theme-global-agricola-azul .btn.btn-pill.btn-outline-secondary {
  border-color: var(--ga-hex-9fc2ff);
  color: var(--ga-hex-1d4ed8);
  background: var(--ga-hex-ffffff);
}

body.theme-global-agricola-azul .btn-outline-ag:hover,
body.theme-global-agricola-azul .btn.btn-outline-primary:hover,
body.theme-global-agricola-azul .btn.btn-pill.btn-outline-secondary:hover {
  background: var(--ga-primary-soft);
  border-color: var(--ga-hex-60a5fa);
  color: var(--ga-hex-1e3a8a);
}

/* Forms */
body.theme-global-agricola-azul .form-control,
body.theme-global-agricola-azul .form-select {
  border-color: var(--ga-hex-c9ddff);
  background: var(--ga-hex-ffffff);
  color: var(--ga-text);
}

body.theme-global-agricola-azul .form-control:focus,
body.theme-global-agricola-azul .form-select:focus {
  border-color: var(--ga-primary);
  box-shadow: var(--ga-focus-shadow);
}

body.theme-global-agricola-azul .input-group-text {
  border-color: var(--ga-hex-c9ddff);
  background: var(--ga-hex-f2f7ff);
  color: var(--ga-hex-355588);
}

/* Tables */
body.theme-global-agricola-azul .table {
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--ga-hex-e2ecff);
}

body.theme-global-agricola-azul .table thead th,
body.theme-global-agricola-azul .table-modern thead th {
  background: var(--ga-hex-f3f8ff);
  color: var(--ga-hex-3e5d8d);
  border-bottom: 1px solid var(--ga-hex-dbe8ff);
}

body.theme-global-agricola-azul .table tbody tr:hover,
body.theme-global-agricola-azul .table-modern tbody tr:hover {
  background: var(--ga-hex-f7faff);
}

/* Utility surfaces */
body.theme-global-agricola-azul .context-chip {
  background: var(--ga-primary-soft);
  color: var(--ga-hex-1e4fb4);
  border: 1px solid var(--ga-hex-bad3ff);
}

body.theme-global-agricola-azul .empty-state,
body.theme-global-agricola-azul .empty-state-sm {
  background: var(--ga-hex-f8fbff);
  border: 1px dashed var(--ga-hex-c7dcff);
  border-radius: 14px;
}

/* Mobile header stays readable */
@media (max-width: 991.98px) {
  body.theme-global-agricola-azul .main-header {
    background: linear-gradient(135deg, var(--ga-hex-1e3a8a), var(--ga-hex-1e40af));
    border-bottom: 0;
  }
}
