/* =========================================================
   BIGSYS OCR LIGHT VARIABLE BASE V2
   Solo presentación visual para modo claro.
   Usa variables base reales del OCR.
   No modifica lógica, IA, estados, validaciones ni API.
   ========================================================= */

html:has(body[data-bigsys-ocr-visual-theme="light"]),
body[data-bigsys-ocr-visual-theme="light"] {
  --bg: #f1f3fa !important;
  --panel: #ffffff !important;
  --panel-2: #f7f8fd !important;
  --text: #17233f !important;
  --muted: #64718b !important;

  --ocr-light-blue: #0878ef;
  --ocr-light-blue-dark: #005bc7;
  --ocr-light-violet: #6d4bc7;
  --ocr-light-violet-dark: #4f2ba4;
  --ocr-light-border: rgba(85, 107, 184, 0.20);
  --ocr-light-border-soft: rgba(85, 107, 184, 0.12);
  --ocr-light-shadow: rgba(41, 55, 100, 0.09);

  background:
    radial-gradient(circle at 4% 0%, rgba(109, 75, 199, 0.07), transparent 30%),
    radial-gradient(circle at 96% 0%, rgba(8, 120, 239, 0.06), transparent 28%),
    #f1f3fa !important;
  color: #17233f !important;
}

/* Mantiene claras las superficies estructurales que heredaban negro fijo. */
body[data-bigsys-ocr-visual-theme="light"] .app-shell,
body[data-bigsys-ocr-visual-theme="light"] .app-layout,
body[data-bigsys-ocr-visual-theme="light"] .app-region-left,
body[data-bigsys-ocr-visual-theme="light"] .app-region-center,
body[data-bigsys-ocr-visual-theme="light"] .app-region-right {
  background: transparent !important;
}

/* Zonas base: no incluye invoice-line-card ni fields con estado. */
body[data-bigsys-ocr-visual-theme="light"] .zone-header,
body[data-bigsys-ocr-visual-theme="light"] .header-card,
body[data-bigsys-ocr-visual-theme="light"] .zone-filters,
body[data-bigsys-ocr-visual-theme="light"] .zone-invoice-list,
body[data-bigsys-ocr-visual-theme="light"] .zone-invoice-header,
body[data-bigsys-ocr-visual-theme="light"] .zone-supplier,
body[data-bigsys-ocr-visual-theme="light"] .zone-totals,
body[data-bigsys-ocr-visual-theme="light"] .zone-lines,
body[data-bigsys-ocr-visual-theme="light"] .zone-preview,
body[data-bigsys-ocr-visual-theme="light"] .zone-document-panel,
body[data-bigsys-ocr-visual-theme="light"] .filters-card,
body[data-bigsys-ocr-visual-theme="light"] .invoice-list-card,
body[data-bigsys-ocr-visual-theme="light"] .document-panel {
  background-color: var(--panel) !important;
  border-color: var(--ocr-light-border) !important;
  box-shadow: 0 8px 20px var(--ocr-light-shadow) !important;
}

/* Barra de filtros y acciones generales. */
body[data-bigsys-ocr-visual-theme="light"] .app-sticky-actions,
body[data-bigsys-ocr-visual-theme="light"] #app-sticky-actions {
  background:
    linear-gradient(110deg, rgba(109, 75, 199, 0.07), transparent 42%),
    var(--panel) !important;
  border-color: var(--ocr-light-border) !important;
}

/* Listado de facturas: solo tarjetas de navegación. */
body[data-bigsys-ocr-visual-theme="light"] .invoice-list-item,
body[data-bigsys-ocr-visual-theme="light"] .document-list-item,
body[data-bigsys-ocr-visual-theme="light"] .invoice-item {
  background: #ffffff !important;
  border-color: var(--ocr-light-border-soft) !important;
  color: var(--text) !important;
  box-shadow: 0 4px 12px rgba(48, 60, 112, 0.05) !important;
}

body[data-bigsys-ocr-visual-theme="light"] .invoice-list-item:hover,
body[data-bigsys-ocr-visual-theme="light"] .document-list-item:hover,
body[data-bigsys-ocr-visual-theme="light"] .invoice-item:hover {
  background: #f5f3fe !important;
  border-color: rgba(56, 135, 230, 0.42) !important;
}

/* Botones neutros y filtros no activos. */
body[data-bigsys-ocr-visual-theme="light"] .filter-btn,
body[data-bigsys-ocr-visual-theme="light"] .filter-button,
body[data-bigsys-ocr-visual-theme="light"] .btn-neutral,
body[data-bigsys-ocr-visual-theme="light"] .btn-secondary,
body[data-bigsys-ocr-visual-theme="light"] .btn-outline {
  background: #f9faff !important;
  color: #17233f !important;
  border-color: var(--ocr-light-border-soft) !important;
}

/* Selección secundaria: lila. */
body[data-bigsys-ocr-visual-theme="light"] .filter-btn.active,
body[data-bigsys-ocr-visual-theme="light"] .filter-btn.is-active,
body[data-bigsys-ocr-visual-theme="light"] .filter-button.active,
body[data-bigsys-ocr-visual-theme="light"] .filter-button.is-active,
body[data-bigsys-ocr-visual-theme="light"] .tab.active,
body[data-bigsys-ocr-visual-theme="light"] .tab.is-active,
body[data-bigsys-ocr-visual-theme="light"] .view-tab.active,
body[data-bigsys-ocr-visual-theme="light"] .view-tab.is-active {
  background: linear-gradient(135deg, var(--ocr-light-violet), var(--ocr-light-violet-dark)) !important;
  border-color: rgba(113, 81, 204, 0.52) !important;
  color: #fff !important;
}

/* Azul operativo en acciones principales. */
body[data-bigsys-ocr-visual-theme="light"] [data-action="triggerUploadInvoices"],
body[data-bigsys-ocr-visual-theme="light"] [data-action="triggerUploadMultipageInvoice"],
body[data-bigsys-ocr-visual-theme="light"] [data-action="processCurrentInvoiceOcr"],
body[data-bigsys-ocr-visual-theme="light"] [data-action="processSelectedInvoicesOcr"],
body[data-bigsys-ocr-visual-theme="light"] [data-action="recalculateTotals"],
body[data-bigsys-ocr-visual-theme="light"] .btn-recalculate {
  background: linear-gradient(135deg, var(--ocr-light-blue), var(--ocr-light-blue-dark)) !important;
  border-color: rgba(54, 142, 243, 0.52) !important;
  color: #fff !important;
}

/* IA azul profundo, sin afectar resultados IA visuales. */
body[data-bigsys-ocr-visual-theme="light"] .btn-ai,
body[data-bigsys-ocr-visual-theme="light"] [data-action="applySupplierIaSuggestion"],
body[data-bigsys-ocr-visual-theme="light"] [data-action="applyTotalsIaSuggestion"],
body[data-bigsys-ocr-visual-theme="light"] [data-action="applySupplierFieldSuggestion"],
body[data-bigsys-ocr-visual-theme="light"] [data-action="applyTotalsFieldSuggestion"],
body[data-bigsys-ocr-visual-theme="light"] [data-action="rebuildSuggestionsWithSupplier"] {
  background: linear-gradient(135deg, #075fc7, #063b8c) !important;
  border-color: rgba(73, 144, 231, 0.48) !important;
  color: #fff !important;
}

/* Textos y separadores de contenido neutro. */
body[data-bigsys-ocr-visual-theme="light"] .zone-title,
body[data-bigsys-ocr-visual-theme="light"] .muted,
body[data-bigsys-ocr-visual-theme="light"] .help-text,
body[data-bigsys-ocr-visual-theme="light"] .section-subtitle,
body[data-bigsys-ocr-visual-theme="light"] .document-meta,
body[data-bigsys-ocr-visual-theme="light"] .invoice-meta,
body[data-bigsys-ocr-visual-theme="light"] .invoice-list-item span {
  color: var(--muted) !important;
}

/*
  Protección explícita:
  No se toca invoice-line-card.
  No se toca line-field.
  No se toca field-review / field-error / field-confirmed / IA aplicada.
  No se toca ningún estado OCR verde, amarillo o rojo.
*/

/* BIGSYS_OCR_LIGHT_LINES_V3_START
   Ajuste visual exclusivo para modo claro.
   Conserva significado funcional:
   amarillo = revisar, verde = correcto/aplicado, rojo = error.
*/

body[data-bigsys-ocr-visual-theme="light"] {
  /*
    Variables semánticas originales usadas por invoice-line-card.
    Se aclaran sin cambiar su significado funcional.
  */
  --good-soft: #edfdf4 !important;
  --warn-soft: #fff9e8 !important;
  --danger-soft: #fff1f2 !important;
}

/*
  El panel lateral queda neutro y más limpio.
  No altera tarjeta seleccionada, ID, estados ni botón eliminar.
*/
body[data-bigsys-ocr-visual-theme="light"] .zone-invoice-list,
body[data-bigsys-ocr-visual-theme="light"] .invoice-list-card {
  background:
    linear-gradient(180deg, #ffffff 0%, #f7f8fd 100%) !important;
}

/*
  Las líneas heredan --good-soft / --warn-soft / --danger-soft
  desde sus propias clases status-soft-green/status-yellow/status-red.
  No se fuerza ningún color por selector individual.
  Así se preservan bordes, badges, campos y lógica OCR existentes.
*/
/* BIGSYS_OCR_LIGHT_LINES_V3_END */

/* BIGSYS_OCR_LIGHT_STRUCTURAL_PANELS_V4_START
   Corrige el gradiente oscuro heredado de .panel-card.
   Solo actúa sobre paneles estructurales en modo claro.
   No modifica líneas, campos ni estados OCR.
*/

body[data-bigsys-ocr-visual-theme="light"] .bigsys-zone > .panel-card,
body[data-bigsys-ocr-visual-theme="light"] .panel-card.zone-filters,
body[data-bigsys-ocr-visual-theme="light"] .panel-card.zone-invoice-list,
body[data-bigsys-ocr-visual-theme="light"] .panel-card.zone-invoice-header,
body[data-bigsys-ocr-visual-theme="light"] .panel-card.zone-supplier,
body[data-bigsys-ocr-visual-theme="light"] .panel-card.zone-totals,
body[data-bigsys-ocr-visual-theme="light"] .panel-card.zone-lines,
body[data-bigsys-ocr-visual-theme="light"] .panel-card.zone-preview,
body[data-bigsys-ocr-visual-theme="light"] .panel-card.zone-document-panel {
  background: linear-gradient(180deg, #ffffff 0%, #f7f8fd 100%) !important;
  border-color: var(--ocr-light-border) !important;
  box-shadow: 0 8px 20px var(--ocr-light-shadow) !important;
}

/* Mantiene el interior vacío de las zonas en claro, sin afectar tarjetas de producto. */
body[data-bigsys-ocr-visual-theme="light"] .app-region {
  background: transparent !important;
}

/*
  Protección:
  No se usa .invoice-line-card.
  No se usa .line-field.
  No se reemplazan --good-soft, --warn-soft ni --danger-soft.
*/
/* BIGSYS_OCR_LIGHT_STRUCTURAL_PANELS_V4_END */

/* BIGSYS_OCR_LIGHT_SOFT_DARK_V5_START
   Modo claro operativo azul suave.
   No toca estructura ni campos de datos.
   Restaura contraste funcional OCR/IA.
*/

body[data-bigsys-ocr-visual-theme="light"] {
  /*
    Base azul más clara que dark mode,
    pero sin llevar la operación a blanco.
  */
  --bg: #152033 !important;
  --panel: #1b2940 !important;
  --panel-2: #253650 !important;
  --text: #edf3fb !important;
  --muted: #adbbcf !important;
  --line: rgba(221, 231, 247, 0.15) !important;

  /*
    Restauración exacta de semántica OCR.
    Evita IA aplicada y revisiones demasiado claras.
  */
  --good-soft: rgba(34,197,94,.16) !important;
  --warn-soft: rgba(245,158,11,.18) !important;
  --danger-soft: rgba(239,68,68,.18) !important;

  background:
    radial-gradient(circle at 5% 0%, rgba(82, 113, 180, 0.16), transparent 32%),
    radial-gradient(circle at 95% 0%, rgba(34, 94, 170, 0.12), transparent 30%),
    #152033 !important;
}

/*
  Revierte solamente el blanco forzado de paneles base.
  No apunta a invoice-line-card, line-field ni subcampos OCR.
*/
body[data-bigsys-ocr-visual-theme="light"] .panel-card:not(.header-card),
body[data-bigsys-ocr-visual-theme="light"] .filters-bar,
body[data-bigsys-ocr-visual-theme="light"] .debug-panel {
  background: linear-gradient(180deg, var(--panel), var(--panel-2)) !important;
  border-color: var(--line) !important;
  box-shadow: 0 10px 24px rgba(3, 10, 24, 0.22) !important;
}

/*
  No se tocan:
  - invoice-line-card
  - line-field
  - proveedor/totales internos
  - valores OCR
  - estados de IA aplicada
  - verde, amarillo, rojo, error o validación
*/
/* BIGSYS_OCR_LIGHT_SOFT_DARK_V5_END */
