/**
 * Z-INDEX SYSTEM - OCRAI
 * ======================
 *
 * Sistema centralizado de z-index usando variables CSS.
 * Todos los valores están organizados por capas para evitar conflictos visuales.
 *
 * IMPORTANTE:
 * - Usar SIEMPRE estas variables en vez de valores hardcodeados
 * - NO modificar estos valores sin actualizar este comentario
 * - Mantener gaps de 10-100 unidades entre capas para expansión futura
 *
 * ARQUITECTURA DE CAPAS (de menor a mayor):
 * ==========================================
 *
 * CAPA 1: BASE (0-99)
 * -------------------
 * Elementos decorativos y contenido base de página
 *
 * CAPA 2: STICKY CONTENT (100-999)
 * ---------------------------------
 * Headers de tabla, alertas inline, sidebars sticky
 *
 * CAPA 3: DROPDOWNS & POPOVERS (1000-1999)
 * -----------------------------------------
 * Elementos flotantes estándar de Bootstrap
 *
 * CAPA 4: CUSTOM OVERLAYS (2000-9999)
 * ------------------------------------
 * Modales custom de OCRAI, overlays específicos
 *
 * CAPA 5: NAVIGATION (10000-10099)
 * ---------------------------------
 * Navbar principal - debe estar sobre PDFs/iframes embebidos
 *
 * CAPA 6: MODALS OVER NAVBAR (10100-10199)
 * -----------------------------------------
 * Modales Frappe (confirm, prompt) que deben aparecer sobre navbar
 *
 * CAPA 7: SYSTEM OVERLAYS (10200-10299)
 * --------------------------------------
 * Freeze overlay durante operaciones bloqueantes
 *
 * CAPA 8: ALERTS & NOTIFICATIONS (10300+)
 * ----------------------------------------
 * Mensajes, notificaciones, toasts - máxima prioridad visual
 *
 * HISTORIAL:
 * ==========
 * 2025-11-17: Creación del sistema centralizado de z-index
 */

:root {
  /* ========================================
   * CAPA 1: BASE (0-99)
   * ======================================== */

  --z-base: 0;
  --z-decorative: 1;              /* Elementos decorativos (backgrounds sutiles) */
  --z-progress-label: 1;          /* Labels sobre barras de progreso */

  /* ========================================
   * CAPA 2: STICKY CONTENT (100-999)
   * ======================================== */

  --z-sticky-content: 10;         /* Headers sticky, sidebars */
  --z-producto-item: 100;         /* Items de productos en wizard normalización */
  --z-form-group: 100;            /* Form groups con position relative */

  /* ========================================
   * CAPA 3: DROPDOWNS & POPOVERS (1000-1999)
   * ======================================== */

  --z-dropdown: 1000;             /* Bootstrap dropdowns */
  --z-popover: 1010;              /* Bootstrap popovers */
  --z-tooltip: 1020;              /* Bootstrap tooltips */
  --z-modal-nested-backdrop: 1055; /* Backdrop de modales anidados (nivel 1) */
  --z-modal-nested: 1060;         /* Modales anidados (nivel 1) */

  /* ========================================
   * CAPA 4: CUSTOM OVERLAYS (2000-9999)
   * ======================================== */

  --z-ocrai-modal: 2000;          /* Modales custom OCRAI (.ocrai-modal-overlay) */

  /* ========================================
   * CAPA 5: NAVIGATION (10000-10099)
   * ======================================== */

  --z-navbar: 10000;              /* Navbar principal OCRAI */
                                   /* Razón: Debe estar sobre iframes/PDFs embebidos */

  /* ========================================
   * CAPA 6: MODALS OVER NAVBAR (10100-10199)
   * ======================================== */

  --z-modal-backdrop: 10040;      /* Bootstrap modal backdrop (sobre navbar) */
  --z-modal: 10050;               /* Bootstrap modals (sobre navbar) */
                                   /* Usado por: frappe.confirm(), frappe.msgprint() */

  /* ========================================
   * CAPA 7: SYSTEM OVERLAYS (10200-10299)
   * ======================================== */

  --z-freeze: 10200;              /* Freeze overlay (frappe.call con freeze: true) */
                                   /* Razón: Bloquea interacción durante operaciones */

  /* ========================================
   * CAPA 8: ALERTS & NOTIFICATIONS (10300+)
   * ======================================== */

  --z-msgprint: 10300;            /* Mensajes Frappe (.msgprint, frappe.show_alert) */
                                   /* Razón: Máxima visibilidad, deben estar sobre todo */
  --z-toast: 10400;               /* Notificaciones toast (si se implementan) */
}

/**
 * NOTAS DE IMPLEMENTACIÓN:
 * ========================
 *
 * 1. Modales anidados:
 *    - Primer modal: usa --z-modal (10050)
 *    - Segundo modal (anidado): usa --z-modal-nested (1060) + cálculo dinámico en JS
 *    - Ver: /public/js/normalizar-documento-v2/utils/helpers.js
 *
 * 2. Conflictos conocidos (RESUELTOS):
 *    - ❌ ANTES: bootstrap-bridge.css tenía .modal { z-index: 9999 } (menor que navbar)
 *    - ✅ AHORA: Centralizado en fix-modal-z-index.css con var(--z-modal)
 *
 * 3. Archivos que DEBEN usar estas variables:
 *    - /public/css/fix-modal-z-index.css
 *    - /public/css/core/bootstrap-bridge.css
 *    - /public/css/components/modals.css
 *    - /public/css/normalizar-documento-v2/*.css
 *    - /templates/includes/web_navbar.html
 *
 * 4. Valores hardcodeados a MIGRAR:
 *    - bootstrap-bridge.css:183 (.modal: 9999 → usar var(--z-modal))
 *    - bootstrap-bridge.css:187 (.modal-backdrop: 9998 → usar var(--z-modal-backdrop))
 *    - bootstrap-bridge.css:192 (.freeze: 10100 → usar var(--z-freeze))
 *    - bootstrap-bridge.css:197 (.msgprint: 10200 → usar var(--z-msgprint))
 *    - web_navbar.html:94 (z-index: 10000 → usar var(--z-navbar))
 */
