/*
 * Global override layer (loaded after page CSS).
 * It centralizes shared UI primitives so the theme can be changed in one place.
 */

body.theme-global-agricola-azul {
  --ga-surface-main: var(--ga-hex-ffffff);
  --ga-surface-soft: var(--ga-hex-f8fbff);
  --ga-surface-soft-2: var(--ga-hex-f2f7ff);
  --ga-border-soft: var(--ga-hex-d7e5ff);
  --ga-border-soft-2: var(--ga-hex-e4edff);
  --ga-row-hover: var(--ga-hex-eff5ff);
  --ga-head-a: var(--ga-hex-f4f7fc);
  --ga-head-b: var(--ga-hex-eef3fb);
  --ga-head-text: var(--ga-hex-3f5577);
  --ga-head-sep: var(--ga-hex-d6dfed);
  --ga-sticker-a: var(--ga-hex-3b82f6);
  --ga-sticker-b: var(--ga-hex-1d4ed8);
  --ga-sticker-glow: var(--ga-rgba-37-99-235-0_2);
}

/* Unified surfaces */
body.theme-global-agricola-azul .card,
body.theme-global-agricola-azul .card-ag,
body.theme-global-agricola-azul .parcelas-card,
body.theme-global-agricola-azul .table-card,
body.theme-global-agricola-azul .module-card,
body.theme-global-agricola-azul .panel-card,
body.theme-global-agricola-azul .modal-content {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, var(--ga-surface-main) 0%, var(--ga-surface-soft) 100%) !important;
  border: 1px solid var(--ga-border-soft) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 20px var(--ga-rgba-37-99-235-0_08) !important;
}

body.theme-global-agricola-azul .card:hover,
body.theme-global-agricola-azul .card-ag:hover,
body.theme-global-agricola-azul .parcelas-card:hover,
body.theme-global-agricola-azul .table-card:hover,
body.theme-global-agricola-azul .module-card:hover,
body.theme-global-agricola-azul .panel-card:hover {
  box-shadow: 0 14px 30px var(--ga-rgba-37-99-235-0_14) !important;
}

/* Unified wrappers for data grids */
body.theme-global-agricola-azul .table-responsive,
body.theme-global-agricola-azul .parcelas-table-wrapper,
body.theme-global-agricola-azul .tabla-wrapper,
body.theme-global-agricola-azul .table-container {
  position: relative;
  overflow: auto;
  max-width: 100%;
  background: linear-gradient(180deg, var(--ga-surface-main) 0%, var(--ga-surface-soft) 100%) !important;
  border: 1px solid var(--ga-border-soft) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 18px var(--ga-rgba-37-99-235-0_08) !important;
}

body.theme-global-agricola-azul .table-responsive::before,
body.theme-global-agricola-azul .parcelas-table-wrapper::before,
body.theme-global-agricola-azul .tabla-wrapper::before,
body.theme-global-agricola-azul .table-container::before {
  content: "";
  position: absolute;
  top: 10px;
  right: 12px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ga-hex-60a5fa);
  box-shadow: 0 0 0 3px var(--ga-rgba-96-165-250-0_22);
  z-index: 3;
}

/* Sticker look for card/title icons */
body.theme-global-agricola-azul .card-ag-title i,
body.theme-global-agricola-azul .card-title i,
body.theme-global-agricola-azul .section-title i,
body.theme-global-agricola-azul .module-title i,
body.theme-global-agricola-azul h3 i.bi,
body.theme-global-agricola-azul h4 i.bi,
body.theme-global-agricola-azul h5 i.bi {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-right: 0.4rem;
  border-radius: 9px;
  background: linear-gradient(135deg, var(--ga-sticker-a), var(--ga-sticker-b)) !important;
  color: var(--ga-hex-ffffff) !important;
  border: 1px solid var(--ga-rgba-255-255-255-0_38);
  box-shadow: 0 6px 14px var(--ga-sticker-glow);
}

body.theme-global-agricola-azul .card-ag-header,
body.theme-global-agricola-azul .card-header,
body.theme-global-agricola-azul .table-card .header {
  background: linear-gradient(180deg, var(--ga-rgba-255-255-255-0_98), var(--ga-rgba-245-250-255-0_98));
  border-bottom: 1px solid var(--ga-hex-e5eeff) !important;
}

/* Allow report selectors (dropdowns) to escape card bounds */
body.theme-global-agricola-azul .selector-card,
body.theme-global-agricola-azul .selector-card .parcelas-card__body,
body.theme-global-agricola-azul .selector-card .dropdown {
  overflow: visible !important;
}

body.theme-global-agricola-azul .selector-card {
  position: relative;
  z-index: 120;
}

body.theme-global-agricola-azul .selector-card .dropdown-menu {
  z-index: 3000 !important;
}

/* Table base */
body.theme-global-agricola-azul table.table,
body.theme-global-agricola-azul .table-modern,
body.theme-global-agricola-azul .tabla-informe,
body.theme-global-agricola-azul .table-informe,
body.theme-global-agricola-azul .suelos-table,
body.theme-global-agricola-azul .zv-table {
  margin-bottom: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
}

/* Table headers */
body.theme-global-agricola-azul table.table thead th,
body.theme-global-agricola-azul .table-modern thead th,
body.theme-global-agricola-azul .tabla-informe thead th,
body.theme-global-agricola-azul .table-informe thead th,
body.theme-global-agricola-azul .suelos-table th,
body.theme-global-agricola-azul .zv-table th,
body.theme-global-agricola-azul [id^="tabla"] thead th {
  position: relative;
  background: linear-gradient(135deg, var(--ga-head-a), var(--ga-head-b)) !important;
  color: var(--ga-head-text) !important;
  border-bottom: 1px solid var(--ga-head-sep) !important;
  font-weight: 600 !important;
  font-size: 0.78rem !important;
  text-transform: uppercase;
  letter-spacing: 0.05em !important;
  white-space: nowrap;
}

body.theme-global-agricola-azul table.table thead th:first-child,
body.theme-global-agricola-azul .table-modern thead th:first-child,
body.theme-global-agricola-azul .tabla-informe thead th:first-child,
body.theme-global-agricola-azul .table-informe thead th:first-child,
body.theme-global-agricola-azul [id^="tabla"] thead th:first-child {
  border-top-left-radius: 12px;
  padding-left: 1.9rem !important;
}

body.theme-global-agricola-azul table.table thead th:last-child,
body.theme-global-agricola-azul .table-modern thead th:last-child,
body.theme-global-agricola-azul .tabla-informe thead th:last-child,
body.theme-global-agricola-azul .table-informe thead th:last-child,
body.theme-global-agricola-azul [id^="tabla"] thead th:last-child {
  border-top-right-radius: 12px;
}

/* Small "sticker pin" on table headers */
body.theme-global-agricola-azul table.table thead th:first-child::before,
body.theme-global-agricola-azul .table-modern thead th:first-child::before,
body.theme-global-agricola-azul .tabla-informe thead th:first-child::before,
body.theme-global-agricola-azul .table-informe thead th:first-child::before,
body.theme-global-agricola-azul [id^="tabla"] thead th:first-child::before {
  content: "";
  position: absolute;
  left: 0.75rem;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  transform: translateY(-50%);
  background: var(--ga-hex-2563eb);
  box-shadow: 0 0 0 3px var(--ga-rgba-37-99-235-0_18);
}

body.theme-global-agricola-azul table.table thead th + th,
body.theme-global-agricola-azul .table-modern thead th + th,
body.theme-global-agricola-azul .tabla-informe thead th + th,
body.theme-global-agricola-azul .table-informe thead th + th,
body.theme-global-agricola-azul [id^="tabla"] thead th + th {
  border-left: 1px solid var(--ga-hex-e1e8f4) !important;
}

/* Table rows */
body.theme-global-agricola-azul table.table tbody td,
body.theme-global-agricola-azul .table-modern tbody td,
body.theme-global-agricola-azul .tabla-informe tbody td,
body.theme-global-agricola-azul .table-informe tbody td,
body.theme-global-agricola-azul .suelos-table td,
body.theme-global-agricola-azul .zv-table td,
body.theme-global-agricola-azul [id^="tabla"] tbody td {
  background: transparent !important;
  color: var(--ga-text) !important;
  border-bottom: 1px solid var(--ga-hex-e7edf8) !important;
  vertical-align: middle;
}

body.theme-global-agricola-azul table.table tbody tr:nth-child(even),
body.theme-global-agricola-azul .table-modern tbody tr:nth-child(even),
body.theme-global-agricola-azul .tabla-informe tbody tr:nth-child(even),
body.theme-global-agricola-azul .table-informe tbody tr:nth-child(even),
body.theme-global-agricola-azul [id^="tabla"] tbody tr:nth-child(even) {
  background: var(--ga-hex-f7fafd) !important;
}

body.theme-global-agricola-azul table.table tbody tr:hover,
body.theme-global-agricola-azul .table-modern tbody tr:hover,
body.theme-global-agricola-azul .tabla-informe tbody tr:hover,
body.theme-global-agricola-azul .table-informe tbody tr:hover,
body.theme-global-agricola-azul [id^="tabla"] tbody tr:hover {
  background: var(--ga-hex-f0f5fc) !important;
}

/* Selected row emphasis */
body.theme-global-agricola-azul table.table tbody tr.selected-row,
body.theme-global-agricola-azul table.table tbody tr.fila-seleccionada,
body.theme-global-agricola-azul [id^="tabla"] tbody tr.selected-row,
body.theme-global-agricola-azul [id^="tabla"] tbody tr.fila-seleccionada {
  background: var(--ga-rgba-37-99-235-0_08) !important;
  box-shadow: inset 3px 0 0 var(--ga-primary);
}

body.theme-global-agricola-azul table.table thead .sort-ind,
body.theme-global-agricola-azul .table-modern thead .sort-ind,
body.theme-global-agricola-azul [id^="tabla"] thead .sort-ind {
  color: var(--ga-hex-8ea4c2) !important;
  opacity: 0.9;
}

body.theme-global-agricola-azul table.table tbody td .btn,
body.theme-global-agricola-azul .table-modern tbody td .btn,
body.theme-global-agricola-azul [id^="tabla"] tbody td .btn {
  height: 34px;
  padding: 0.3rem 0.9rem;
  border-radius: 999px !important;
  font-size: 0.84rem;
  font-weight: 600;
  box-shadow: 0 2px 8px var(--ga-rgba-15-23-42-0_08);
}

body.theme-global-agricola-azul table.table tbody td .btn.btn-outline-danger,
body.theme-global-agricola-azul .table-modern tbody td .btn.btn-outline-danger,
body.theme-global-agricola-azul [id^="tabla"] tbody td .btn.btn-outline-danger {
  border-width: 2px;
}

/* Small thematic drawings/icons inside table cells */
body.theme-global-agricola-azul .ga-cell-icon {
  margin-right: 0.35rem;
  font-size: 0.86em;
  vertical-align: -0.05em;
}

body.theme-global-agricola-azul .ga-icon-ok { color: var(--ga-hex-059669); }
body.theme-global-agricola-azul .ga-icon-warn { color: var(--ga-hex-d97706); }
body.theme-global-agricola-azul .ga-icon-info { color: var(--ga-hex-2563eb); }
body.theme-global-agricola-azul .ga-icon-danger { color: var(--ga-hex-dc2626); }
body.theme-global-agricola-azul .ga-icon-work { color: var(--ga-hex-475569); }
body.theme-global-agricola-azul .ga-icon-riego { color: var(--ga-hex-0284c7); }
body.theme-global-agricola-azul .ga-icon-abonado { color: var(--ga-hex-ca8a04); }
body.theme-global-agricola-azul .ga-icon-fito { color: var(--ga-hex-dc2626); }
body.theme-global-agricola-azul .ga-icon-laboreo { color: var(--ga-hex-475569); }
body.theme-global-agricola-azul .ga-icon-siembra { color: var(--ga-hex-16a34a); }
body.theme-global-agricola-azul .ga-icon-cosecha { color: var(--ga-hex-7c3aed); }
body.theme-global-agricola-azul .ga-icon-labor { color: var(--ga-hex-0f766e); }
body.theme-global-agricola-azul .ga-icon-maquina { color: var(--ga-hex-475569); }
body.theme-global-agricola-azul .ga-icon-seguro { color: var(--ga-hex-1d4ed8); }
body.theme-global-agricola-azul .ga-icon-energia { color: var(--ga-hex-eab308); }
body.theme-global-agricola-azul .ga-icon-renta { color: var(--ga-hex-0369a1); }
body.theme-global-agricola-azul .ga-icon-pac { color: var(--ga-hex-2563eb); }
body.theme-global-agricola-azul .ga-icon-indemn { color: var(--ga-hex-7c3aed); }
body.theme-global-agricola-azul .ga-icon-ingreso { color: var(--ga-hex-16a34a); }
body.theme-global-agricola-azul .ga-icon-gasto { color: var(--ga-hex-dc2626); }
body.theme-global-agricola-azul .ga-icon-balance { color: var(--ga-hex-1d4ed8); }

/* "Sticker" mini drawing look, like the reference theme */
body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.22rem;
  height: 1.22rem;
  border-radius: 999px;
  border: 1px solid rgba(37, 99, 235, 0.2);
  background: rgba(37, 99, 235, 0.08);
  padding: 0.08rem;
}

body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon.ga-icon-riego,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon.ga-icon-riego,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon.ga-icon-riego {
  border-color: rgba(14, 165, 233, 0.3);
  background: rgba(14, 165, 233, 0.13);
}

body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon.ga-icon-abonado,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon.ga-icon-abonado,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon.ga-icon-abonado {
  border-color: rgba(245, 158, 11, 0.34);
  background: rgba(245, 158, 11, 0.14);
}

body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon.ga-icon-fito,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon.ga-icon-fito,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon.ga-icon-fito {
  border-color: rgba(239, 68, 68, 0.34);
  background: rgba(239, 68, 68, 0.14);
}

body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon.ga-icon-laboreo,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon.ga-icon-laboreo,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon.ga-icon-laboreo {
  border-color: rgba(100, 116, 139, 0.32);
  background: rgba(100, 116, 139, 0.14);
}

body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon.ga-icon-siembra,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon.ga-icon-siembra,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon.ga-icon-siembra {
  border-color: rgba(34, 197, 94, 0.3);
  background: rgba(34, 197, 94, 0.13);
}

body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon.ga-icon-cosecha,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon.ga-icon-cosecha,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon.ga-icon-cosecha {
  border-color: rgba(139, 92, 246, 0.32);
  background: rgba(139, 92, 246, 0.14);
}

body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon.ga-icon-labor,
body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon.ga-icon-maquina,
body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon.ga-icon-seguro,
body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon.ga-icon-energia,
body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon.ga-icon-renta,
body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon.ga-icon-pac,
body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon.ga-icon-indemn,
body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon.ga-icon-ingreso,
body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon.ga-icon-gasto,
body.theme-global-agricola-azul table.table tbody td > .ga-cell-icon.ga-icon-balance,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon.ga-icon-labor,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon.ga-icon-maquina,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon.ga-icon-seguro,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon.ga-icon-energia,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon.ga-icon-renta,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon.ga-icon-pac,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon.ga-icon-indemn,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon.ga-icon-ingreso,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon.ga-icon-gasto,
body.theme-global-agricola-azul .table-modern tbody td > .ga-cell-icon.ga-icon-balance,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon.ga-icon-labor,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon.ga-icon-maquina,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon.ga-icon-seguro,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon.ga-icon-energia,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon.ga-icon-renta,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon.ga-icon-pac,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon.ga-icon-indemn,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon.ga-icon-ingreso,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon.ga-icon-gasto,
body.theme-global-agricola-azul [id^="tabla"] tbody td > .ga-cell-icon.ga-icon-balance {
  border-color: rgba(37, 99, 235, 0.20);
  background: rgba(37, 99, 235, 0.08);
}

body.theme-global-agricola-azul .ga-status-chip .ga-cell-icon {
  width: auto;
  height: auto;
  border: 0;
  background: transparent;
  padding: 0;
  margin-right: 0.16rem;
}

body.theme-global-agricola-azul .ga-status-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  padding: 0.16rem 0.58rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.2;
  border: 1px solid transparent;
}

body.theme-global-agricola-azul .ga-status-chip.ga-status-ok {
  color: var(--ga-hex-047857);
  background: var(--ga-rgba-16-185-129-0_12);
  border-color: var(--ga-rgba-16-185-129-0_24);
}

body.theme-global-agricola-azul .ga-status-chip.ga-status-warn {
  color: var(--ga-hex-9a3412);
  background: var(--ga-rgba-245-158-11-0_13);
  border-color: var(--ga-rgba-245-158-11-0_26);
}

body.theme-global-agricola-azul .ga-status-chip.ga-status-info {
  color: var(--ga-hex-1d4ed8);
  background: var(--ga-rgba-59-130-246-0_12);
  border-color: var(--ga-rgba-59-130-246-0_25);
}

body.theme-global-agricola-azul .ga-status-chip.ga-status-danger {
  color: var(--ga-hex-b91c1c);
  background: var(--ga-rgba-239-68-68-0_11);
  border-color: var(--ga-rgba-239-68-68-0_24);
}

/* Informe totals/balance: slightly stronger tones, readable text, fixed on hover */
body.theme-global-agricola-azul .tabla-informe tr.total-gastos-row,
body.theme-global-agricola-azul table.table tr.total-gastos-row {
  background: linear-gradient(135deg, #b7d5ff, #f6b3b3) !important;
  color: #0f2b4a !important;
}

body.theme-global-agricola-azul .tabla-informe tr.total-ingresos-row,
body.theme-global-agricola-azul table.table tr.total-ingresos-row {
  background: linear-gradient(135deg, #b7d5ff, #b9efc9) !important;
  color: #103f30 !important;
}

body.theme-global-agricola-azul .tabla-informe tr.balance-row.balance-positive,
body.theme-global-agricola-azul table.table tr.balance-row.balance-positive {
  background: linear-gradient(135deg, #b7d5ff, #b9efc9) !important;
  color: #103f30 !important;
}

body.theme-global-agricola-azul .tabla-informe tr.balance-row.balance-negative,
body.theme-global-agricola-azul table.table tr.balance-row.balance-negative {
  background: linear-gradient(135deg, #b7d5ff, #f6b3b3) !important;
  color: #0f2b4a !important;
}

body.theme-global-agricola-azul .tabla-informe tr.balance-row.balance-neutral,
body.theme-global-agricola-azul .tabla-informe tr.balance-row,
body.theme-global-agricola-azul table.table tr.balance-row.balance-neutral,
body.theme-global-agricola-azul table.table tr.balance-row {
  background: linear-gradient(135deg, #b7d5ff, #d5deeb) !important;
  color: #0f2b4a !important;
}

body.theme-global-agricola-azul .tabla-informe tr.total-gastos-row td,
body.theme-global-agricola-azul .tabla-informe tr.total-ingresos-row td,
body.theme-global-agricola-azul .tabla-informe tr.balance-row td,
body.theme-global-agricola-azul table.table tr.total-gastos-row td,
body.theme-global-agricola-azul table.table tr.total-ingresos-row td,
body.theme-global-agricola-azul table.table tr.balance-row td {
  background: transparent !important;
  color: inherit !important;
  border-color: rgba(148, 163, 184, 0.25) !important;
  font-weight: 700 !important;
}

body.theme-global-agricola-azul .tabla-informe tr.total-gastos-row:hover,
body.theme-global-agricola-azul table.table tr.total-gastos-row:hover {
  background: linear-gradient(135deg, #b7d5ff, #f6b3b3) !important;
  color: #0f2b4a !important;
}

body.theme-global-agricola-azul .tabla-informe tr.total-ingresos-row:hover,
body.theme-global-agricola-azul table.table tr.total-ingresos-row:hover {
  background: linear-gradient(135deg, #b7d5ff, #b9efc9) !important;
  color: #103f30 !important;
}

body.theme-global-agricola-azul .tabla-informe tr.balance-row.balance-positive:hover,
body.theme-global-agricola-azul table.table tr.balance-row.balance-positive:hover {
  background: linear-gradient(135deg, #b7d5ff, #b9efc9) !important;
  color: #103f30 !important;
}

body.theme-global-agricola-azul .tabla-informe tr.balance-row.balance-negative:hover,
body.theme-global-agricola-azul table.table tr.balance-row.balance-negative:hover {
  background: linear-gradient(135deg, #b7d5ff, #f6b3b3) !important;
  color: #0f2b4a !important;
}

body.theme-global-agricola-azul .tabla-informe tr.balance-row:hover,
body.theme-global-agricola-azul table.table tr.balance-row:hover {
  background: linear-gradient(135deg, #b7d5ff, #d5deeb) !important;
  color: #0f2b4a !important;
}

body.theme-global-agricola-azul .tabla-informe tr.total-gastos-row:hover td,
body.theme-global-agricola-azul .tabla-informe tr.total-ingresos-row:hover td,
body.theme-global-agricola-azul .tabla-informe tr.balance-row:hover td,
body.theme-global-agricola-azul table.table tr.total-gastos-row:hover td,
body.theme-global-agricola-azul table.table tr.total-ingresos-row:hover td,
body.theme-global-agricola-azul table.table tr.balance-row:hover td {
  background: transparent !important;
  color: inherit !important;
}

/* Informe bottom balance alerts (all reports) */
body.theme-global-agricola-azul #balanceFinal,
body.theme-global-agricola-azul #balanceFinalExp,
body.theme-global-agricola-azul #cBalanceFinal,
body.theme-global-agricola-azul .alert.balance-neutral {
  background: linear-gradient(135deg, #b7d5ff, #d5deeb) !important;
  color: #0f2b4a !important;
  border-color: rgba(51, 65, 85, 0.2) !important;
}

body.theme-global-agricola-azul #balanceFinal.balance-positive,
body.theme-global-agricola-azul #balanceFinalExp.balance-positive,
body.theme-global-agricola-azul #cBalanceFinal.balance-positive,
body.theme-global-agricola-azul .alert.balance-positive {
  background: linear-gradient(135deg, #b7d5ff, #b9efc9) !important;
  color: #103f30 !important;
  border-color: rgba(22, 163, 74, 0.28) !important;
}

body.theme-global-agricola-azul #balanceFinal.balance-negative,
body.theme-global-agricola-azul #balanceFinalExp.balance-negative,
body.theme-global-agricola-azul #cBalanceFinal.balance-negative,
body.theme-global-agricola-azul .alert.balance-negative {
  background: linear-gradient(135deg, #b7d5ff, #f6b3b3) !important;
  color: #0f2b4a !important;
  border-color: rgba(220, 38, 38, 0.28) !important;
}

body.theme-global-agricola-azul #balanceFinal:hover,
body.theme-global-agricola-azul #balanceFinalExp:hover,
body.theme-global-agricola-azul #cBalanceFinal:hover,
body.theme-global-agricola-azul .alert.balance-neutral:hover {
  background: linear-gradient(135deg, #b7d5ff, #d5deeb) !important;
  color: #0f2b4a !important;
}

body.theme-global-agricola-azul #balanceFinal.balance-positive:hover,
body.theme-global-agricola-azul #balanceFinalExp.balance-positive:hover,
body.theme-global-agricola-azul #cBalanceFinal.balance-positive:hover,
body.theme-global-agricola-azul .alert.balance-positive:hover {
  background: linear-gradient(135deg, #b7d5ff, #b9efc9) !important;
  color: #103f30 !important;
}

body.theme-global-agricola-azul #balanceFinal.balance-negative:hover,
body.theme-global-agricola-azul #balanceFinalExp.balance-negative:hover,
body.theme-global-agricola-azul #cBalanceFinal.balance-negative:hover,
body.theme-global-agricola-azul .alert.balance-negative:hover {
  background: linear-gradient(135deg, #b7d5ff, #f6b3b3) !important;
  color: #0f2b4a !important;
}

/* Forms */
body.theme-global-agricola-azul .form-control,
body.theme-global-agricola-azul .form-select,
body.theme-global-agricola-azul select,
body.theme-global-agricola-azul input[type="text"],
body.theme-global-agricola-azul input[type="number"],
body.theme-global-agricola-azul input[type="date"],
body.theme-global-agricola-azul textarea {
  border: 1px solid var(--ga-hex-c9ddff) !important;
  border-radius: 10px !important;
  background: var(--ga-hex-ffffff) !important;
  color: var(--ga-text) !important;
}

body.theme-global-agricola-azul .form-control:focus,
body.theme-global-agricola-azul .form-select:focus,
body.theme-global-agricola-azul select:focus,
body.theme-global-agricola-azul input:focus,
body.theme-global-agricola-azul textarea:focus {
  border-color: var(--ga-primary) !important;
  box-shadow: 0 0 0 3px var(--ga-rgba-37-99-235-0_16) !important;
}

/* Shared action buttons */
body.theme-global-agricola-azul .btn {
  border-radius: 10px;
}

body.theme-global-agricola-azul .btn.btn-primary,
body.theme-global-agricola-azul .btn.btn-success {
  background: linear-gradient(135deg, var(--ga-primary), var(--ga-primary-hover)) !important;
  border-color: var(--ga-primary) !important;
  color: var(--ga-hex-ffffff) !important;
}

body.theme-global-agricola-azul .btn.btn-primary:hover,
body.theme-global-agricola-azul .btn.btn-success:hover {
  background: linear-gradient(135deg, var(--ga-primary-hover), var(--ga-hex-1e40af)) !important;
  border-color: var(--ga-primary-hover) !important;
}

body.theme-global-agricola-azul .btn.btn-outline-primary,
body.theme-global-agricola-azul .btn.btn-outline-secondary {
  border-color: var(--ga-hex-aecbff) !important;
  color: var(--ga-hex-1e40af) !important;
  background: var(--ga-hex-ffffff) !important;
}

body.theme-global-agricola-azul .btn.btn-outline-primary:hover,
body.theme-global-agricola-azul .btn.btn-outline-secondary:hover {
  background: var(--ga-surface-soft-2) !important;
}

/* Quick access cards (dashboard and modules) */
body.theme-global-agricola-azul .quick-action-item,
body.theme-global-agricola-azul .quick-link-card,
body.theme-global-agricola-azul .shortcut-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, var(--ga-surface-main) 0%, var(--ga-surface-soft-2) 100%) !important;
  border: 1px solid var(--ga-border-soft) !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 14px var(--ga-rgba-37-99-235-0_09) !important;
}

/* Sticker pin on quick actions */
body.theme-global-agricola-azul .quick-action-item::after,
body.theme-global-agricola-azul .quick-link-card::after,
body.theme-global-agricola-azul .shortcut-card::after {
  content: "";
  position: absolute;
  top: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ga-hex-60a5fa);
  box-shadow: 0 0 0 3px var(--ga-rgba-96-165-250-0_25);
}

body.theme-global-agricola-azul .quick-action-item i,
body.theme-global-agricola-azul .quick-link-card i,
body.theme-global-agricola-azul .shortcut-card i {
  color: var(--ga-primary) !important;
}

/* KPI/economic cards without blobs, but with clean sticker style */
body.theme-global-agricola-azul .stat-item::before,
body.theme-global-agricola-azul .stat-item::after,
body.theme-global-agricola-azul .economic-item::before,
body.theme-global-agricola-azul .economic-item::after {
  content: none !important;
}

body.theme-global-agricola-azul .stat-item,
body.theme-global-agricola-azul .economic-item,
body.theme-global-agricola-azul .satellite-stat {
  border-radius: 14px !important;
  border: 1px solid var(--ga-rgba-255-255-255-0_3) !important;
}

body.theme-global-agricola-azul .quick-action-item::before,
body.theme-global-agricola-azul .quick-link-card::before,
body.theme-global-agricola-azul .shortcut-card::before {
  content: none !important;
}

/* Typography hierarchy (dashboard + reports + cards) */
body.theme-global-agricola-azul h1,
body.theme-global-agricola-azul h2,
body.theme-global-agricola-azul h3,
body.theme-global-agricola-azul h4,
body.theme-global-agricola-azul h5 {
  color: var(--ga-hex-102a43);
  letter-spacing: 0.01em;
}

body.theme-global-agricola-azul .parcelas-mini-hero h2,
body.theme-global-agricola-azul .hero-content h2,
body.theme-global-agricola-azul .dashboard-title {
  font-weight: 800 !important;
  font-size: clamp(1.38rem, 1.1rem + 1.1vw, 1.95rem) !important;
  line-height: 1.2 !important;
}

body.theme-global-agricola-azul .parcelas-card__title,
body.theme-global-agricola-azul .section-title,
body.theme-global-agricola-azul .card-title {
  font-weight: 700 !important;
  font-size: clamp(1.02rem, 0.95rem + 0.48vw, 1.24rem) !important;
}

body.theme-global-agricola-azul .section-subtitle,
body.theme-global-agricola-azul .hero-content p,
body.theme-global-agricola-azul .text-muted {
  color: var(--ga-hex-4f678a) !important;
}

/* Unified visual states */
body.theme-global-agricola-azul .ga-state-card,
body.theme-global-agricola-azul .empty-state,
body.theme-global-agricola-azul .empty-state-sm,
body.theme-global-agricola-azul .no-data,
body.theme-global-agricola-azul .loading-state {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  min-height: 72px;
  padding: 0.9rem 1rem;
  border-radius: 12px;
  border: 1px dashed var(--ga-hex-c7d8f2);
  background: linear-gradient(180deg, var(--ga-hex-f9fbff), var(--ga-hex-f2f7ff));
  color: var(--ga-hex-304868);
  font-weight: 600;
}

body.theme-global-agricola-azul .ga-state-card i,
body.theme-global-agricola-azul .empty-state i,
body.theme-global-agricola-azul .empty-state-sm i,
body.theme-global-agricola-azul .no-data i,
body.theme-global-agricola-azul .loading-state i {
  color: var(--ga-hex-2563eb);
}

body.theme-global-agricola-azul .ga-state-card.ga-state-loading,
body.theme-global-agricola-azul .loading-state {
  border-style: solid;
  border-color: var(--ga-hex-cad9f2);
}

body.theme-global-agricola-azul .ga-state-card.ga-state-error {
  border-color: rgba(220, 38, 38, 0.28);
  background: linear-gradient(180deg, #fff7f7, #ffecec);
  color: #7f1d1d;
}

body.theme-global-agricola-azul .ga-state-card.ga-state-error i {
  color: #dc2626;
}

body.theme-global-agricola-azul .ga-state-card.ga-state-no-perm {
  border-color: rgba(217, 119, 6, 0.28);
  background: linear-gradient(180deg, #fffaf2, #fff3dc);
  color: #92400e;
}

body.theme-global-agricola-azul .ga-state-card.ga-state-no-perm i {
  color: #d97706;
}

/* Sticky table headers + improved table density */
body.theme-global-agricola-azul .table-responsive table.table thead th,
body.theme-global-agricola-azul .parcelas-table-wrapper table.table thead th,
body.theme-global-agricola-azul .tabla-wrapper table.table thead th,
body.theme-global-agricola-azul .table-container table.table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 5 !important;
}

body.theme-global-agricola-azul table.table thead th,
body.theme-global-agricola-azul .table-modern thead th,
body.theme-global-agricola-azul [id^="tabla"] thead th {
  padding: 0.78rem 0.62rem !important;
}

body.theme-global-agricola-azul table.table tbody td,
body.theme-global-agricola-azul .table-modern tbody td,
body.theme-global-agricola-azul [id^="tabla"] tbody td {
  padding: 0.74rem 0.62rem !important;
}

/* Read-only modal mode for "Ver" actions */
body.theme-global-agricola-azul .modal.ga-readonly-mode .modal-header {
  position: relative;
}

body.theme-global-agricola-azul .modal .ga-readonly-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-left: 0.6rem;
  padding: 0.22rem 0.56rem;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  color: #0f2b4a;
  border: 1px solid rgba(37, 99, 235, 0.24);
  background: rgba(191, 219, 254, 0.75);
}

body.theme-global-agricola-azul .modal.ga-readonly-mode input:not([type="hidden"]),
body.theme-global-agricola-azul .modal.ga-readonly-mode select,
body.theme-global-agricola-azul .modal.ga-readonly-mode textarea {
  background: #f3f7ff !important;
  border-color: #d8e4fa !important;
  color: #334155 !important;
}

body.theme-global-agricola-azul .modal.ga-readonly-mode [contenteditable="true"] {
  background: #f3f7ff !important;
  border-color: #d8e4fa !important;
}

/* Accessibility and focus */
body.theme-global-agricola-azul a:focus-visible,
body.theme-global-agricola-azul button:focus-visible,
body.theme-global-agricola-azul input:focus-visible,
body.theme-global-agricola-azul select:focus-visible,
body.theme-global-agricola-azul textarea:focus-visible,
body.theme-global-agricola-azul [tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.42) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

body.theme-global-agricola-azul .btn,
body.theme-global-agricola-azul .nav-item,
body.theme-global-agricola-azul .quick-action-item {
  min-height: 36px;
}

@media (max-width: 992px) {
  body.theme-global-agricola-azul table.table thead th,
  body.theme-global-agricola-azul .table-modern thead th,
  body.theme-global-agricola-azul [id^="tabla"] thead th {
    font-size: 0.72rem !important;
    padding: 0.56rem 0.46rem !important;
  }

  body.theme-global-agricola-azul table.table tbody td,
  body.theme-global-agricola-azul .table-modern tbody td,
  body.theme-global-agricola-azul [id^="tabla"] tbody td {
    font-size: 0.86rem !important;
    padding: 0.54rem 0.46rem !important;
  }

  body.theme-global-agricola-azul table.table tbody td .btn,
  body.theme-global-agricola-azul .table-modern tbody td .btn,
  body.theme-global-agricola-azul [id^="tabla"] tbody td .btn {
    height: 30px;
    padding: 0.24rem 0.66rem;
    font-size: 0.77rem;
  }

  body.theme-global-agricola-azul .ga-cell-icon {
    margin-right: 0.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
