/*
 * ══════════════════════════════════════════════════════════════════
 *  GENERON ENERGÍAS RENOVABLES — Dark Theme v3
 *  Agregar en el <head> de cada HTML:
 *  <link rel="stylesheet" href="generon-dark.css">
 * ══════════════════════════════════════════════════════════════════
 */

/* ── Variables CSS ───────────────────────────────────────────────── */
:root {
  --bg-color:       #0b1220 !important;
  --text-color:     #e5e7eb !important;
  --header-color:   #f59e0b !important;
  --gray-border:    #243041 !important;
  --gray-bg:        #111827 !important;
  --primary-blue:   #60a5fa !important;
  --success-green:  #22c55e !important;
  --warning-orange: #f59e0b !important;
  --danger-red:     #ef4444 !important;
}

/* ── Body ────────────────────────────────────────────────────────── */
body {
  background: linear-gradient(180deg, #0b1220 0%, #0f172a 100%) !important;
  color: #e5e7eb !important;
  font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
}

/* ── Header
     NOTA: usamos background-color (no el shorthand background) para
     NO pisar background-image. Así el header del index.html mantiene
     su imagen fondo.png pero los headers planos quedan oscuros.      */
header, .header {
  background-color: #111827 !important;
  border-bottom: 3px solid #f59e0b !important;
  color: #e5e7eb !important;
  text-shadow: none !important;
}
/* Overlay semitransparente sobre la imagen del index */
header::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(8,14,26,.55);
  pointer-events: none;
}
header { position: relative; }
header > * { position: relative; z-index: 1; }

/* ── Títulos ─────────────────────────────────────────────────────── */
h1 { color: #f59e0b !important; }
h2 { color: #93c5fd !important; }
h3 { color: #cbd5e1 !important; }
h4, h5, h6 { color: #94a3b8 !important; }
.section-title, .title { color: #f59e0b !important; }

/* ── Footer ──────────────────────────────────────────────────────── */
footer, .footer, .pdf-footer {
  background: #080e1a !important;
  color: #64748b !important;
  border-top: 1px solid #1e2d3d !important;
}

/* ══════════════════════════════════════════════════════════════════
   INLINE STYLE OVERRIDES
   Estos selectores de atributo capturan elementos con style="background:white"
   directamente en el HTML/JS — CSS no puede hacerlo de otra forma.
   ══════════════════════════════════════════════════════════════════ */
[style*="background: white"],
[style*="background:white"],
[style*="background-color: white"],
[style*="background-color:white"],
[style*="background: #fff"],
[style*="background:#fff"],
[style*="background: #ffffff"],
[style*="background:#ffffff"],
[style*="background: #f8f9fa"],
[style*="background:#f8f9fa"],
[style*="background-color: #f8f9fa"],
[style*="background: #f5f5f5"],
[style*="background: #ecf0f1"],
[style*="background: #f5f7fa"],
[style*="background: #e8ebf0"],
[style*="background: rgba(255,255,255"] {
  background: rgba(17,24,39,.95) !important;
  color: #e5e7eb !important;
}
/* Excepciones: no pisar los gradientes de colores intencionales */
[style*="background: linear-gradient"] { background: unset; }

/* Tr con fondo claro en tablas */
tr[style*="background: #f8f9fa"],
tr[style*="background:#f8f9fa"],
tr[style*="background: white"],
tr[style*="background:white"] {
  background: #1e3a5f !important;
  color: #93c5fd !important;
}

/* ══════════════════════════════════════════════════════════════════
   CARDS Y CONTENEDORES
   ══════════════════════════════════════════════════════════════════ */
.card,
.form-section,
.config-section,
.table-section,
.backup-section,
.selector-container,
.controls,
.section,
.total-container,
.preview-container,
.calculations {
  background: rgba(17,24,39,.94) !important;
  border: 1px solid #243041 !important;
  color: #e5e7eb !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.32) !important;
}

/* Calculadora_Cables — sub-cards */
.potencia-card, .card.potencia-card,
.potencia-phase, .potencia-chart-card {
  background: rgba(17,24,39,.96) !important;
  border: 1px solid #243041 !important;
  color: #e5e7eb !important;
}
.potencia-phase h3, .potencia-chart-card h3 { color: #93c5fd !important; }
.potencia-svg { background: linear-gradient(180deg, #0b1322, #0f1e35) !important; }
.potencia-note { color: #94a3b8 !important; }

/* Summary boxes */
.summary-box {
  background: rgba(11,18,32,.85) !important;
  border: 1px solid #243041 !important;
  color: #e5e7eb !important;
}
.summary-box .label { color: #94a3b8 !important; }
.summary-box .value { color: #f59e0b !important; }

/* Index section cards */
.section-card {
  background: rgba(17,24,39,.94) !important;
  border: 1px solid #243041 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.32) !important;
}
.section-card:hover { border-color: #3b4f6b !important; }
.section-card .section-content {
  background: rgba(11,18,32,.97) !important;
  border-top: 1px solid #243041 !important;
}
.section-description { color: #94a3b8 !important; }

/* ══════════════════════════════════════════════════════════════════
   FORMULARIOS
   ══════════════════════════════════════════════════════════════════ */
input, input[type="text"], input[type="number"], input[type="email"],
input[type="password"], input[type="date"], input[type="search"],
input[type="tel"], select, textarea {
  background: #0b1220 !important;
  color: #e5e7eb !important;
  border: 1px solid #334155 !important;
  border-radius: 8px !important;
}
input:focus, select:focus, textarea:focus {
  border-color: #60a5fa !important;
  box-shadow: 0 0 0 3px rgba(96,165,250,.18) !important;
  outline: none !important;
}
input[readonly], input[disabled], select[disabled] {
  background: #0f172a !important;
  color: #64748b !important;
  border-color: #1e2d3d !important;
}
label { color: #94a3b8 !important; }
.form-group label, .field label { color: #cbd5e1 !important; }
::placeholder { color: #475569 !important; }
option { background: #0f172a !important; color: #e5e7eb !important; }
.form-section input, .form-section select, .form-section textarea,
.modal-body input, .modal-body select, .modal-body textarea {
  background: #0b1220 !important;
  color: #e5e7eb !important;
  border-color: #334155 !important;
}

/* ══════════════════════════════════════════════════════════════════
   BOTONES
   ══════════════════════════════════════════════════════════════════ */
button, .btn {
  background: #0f2a4a !important;
  color: #e5e7eb !important;
  border: 1px solid #334155 !important;
  border-radius: 9px !important;
  cursor: pointer !important;
  transition: all .18s ease !important;
}
button:hover, .btn:hover {
  border-color: #60a5fa !important;
  background: #1e3a5f !important;
  color: #93c5fd !important;
}
.btn-primary, button.btn-primary {
  background: #f59e0b !important;
  color: #111827 !important;
  border-color: transparent !important;
  font-weight: 700 !important;
}
.btn-primary:hover { background: #d97706 !important; color: #111827 !important; }
.btn-secondary, button.btn-secondary {
  background: #1e3a5f !important;
  color: #93c5fd !important;
  border-color: #3b82f6 !important;
}
.btn-danger, button.btn-danger {
  background: #3b0d13 !important;
  border-color: #5b1620 !important;
  color: #fca5a5 !important;
}
.btn-login {
  background: linear-gradient(135deg,#f59e0b,#d97706) !important;
  color: #111827 !important;
  border: none !important;
  font-weight: 700 !important;
}
.btn-login:hover {
  background: linear-gradient(135deg,#d97706,#b45309) !important;
  box-shadow: 0 8px 20px rgba(245,158,11,.35) !important;
}
.btn-diseno, .btn-ver-diseno { background: #1e3a5f !important; color: #93c5fd !important; border-color: #3b82f6 !important; }
.archive-toggle-btn { background: #1e293b !important; color: #94a3b8 !important; border-color: #334155 !important; }
.btn-close, .close { background: #3b0d13 !important; color: #fca5a5 !important; border-color: #5b1620 !important; }
.volver, .back-btn { background: #1e3a5f !important; color: #93c5fd !important; border: 1px solid #3b82f6 !important; border-radius: 9px !important; }
.btn-print { background: #1e3a5f !important; color: #93c5fd !important; border-color: #3b82f6 !important; }

/* ══════════════════════════════════════════════════════════════════
   TABLAS
   ══════════════════════════════════════════════════════════════════ */
table { border-collapse: collapse !important; }
th {
  background: #1e3a5f !important;
  color: #93c5fd !important;
  border: 1px solid #243041 !important;
}
td {
  background: transparent !important;
  color: #e5e7eb !important;
  border: 1px solid #1e2d3d !important;
}
tr:nth-child(even) td { background: rgba(148,163,184,.04) !important; }
tr:hover td           { background: rgba(96,165,250,.07) !important; }
thead th              { background: #1e3a5f !important; color: #93c5fd !important; }
tfoot td, tfoot th    { background: #111827 !important; color: #f59e0b !important; }

.potencia-table { background: transparent !important; }
.potencia-table th { background: #1e3a5f !important; color: #93c5fd !important; }
.potencia-table td { color: #e5e7eb !important; border-color: #1e2d3d !important; }
.potencia-table tr:last-child td { background: rgba(245,158,11,.08) !important; color: #f59e0b !important; font-weight: 700 !important; }

/* ══════════════════════════════════════════════════════════════════
   RESULT BOXES
   ══════════════════════════════════════════════════════════════════ */
.result, .resultado, .result-box {
  background: rgba(30,58,95,.35) !important;
  border-left: 4px solid #60a5fa !important;
  color: #e5e7eb !important;
  border-radius: 8px !important;
}
.result.error, .error {
  background: rgba(127,29,29,.3) !important;
  border-left-color: #ef4444 !important;
  color: #fca5a5 !important;
}

/* ══════════════════════════════════════════════════════════════════
   COTIZADOR — material items, low stock, tabs
   ══════════════════════════════════════════════════════════════════ */
.low-stock { background: rgba(127,29,29,.2) !important; border-left: 3px solid #ef4444 !important; color: #fca5a5 !important; }
.material-item { background: rgba(15,26,50,.7) !important; border: 1px solid #243041 !important; color: #e5e7eb !important; }
.material-item:hover { background: rgba(30,58,95,.5) !important; border-color: #60a5fa !important; }
.material-item.has-value { background: rgba(109,40,217,.18) !important; border-color: #7c3aed !important; }
.material-name  { color: #e5e7eb !important; }
.material-category { color: #94a3b8 !important; }
.material-stock { color: #64748b !important; }
.material-input { background: #0b1220 !important; color: #f59e0b !important; border-color: #334155 !important; font-weight: 700 !important; }
.tab { background: #0f172a !important; color: #94a3b8 !important; border-bottom: 3px solid transparent !important; }
.tab:hover { background: #1e293b !important; color: #e5e7eb !important; }
.tab.active { background: #1e293b !important; border-bottom-color: #f59e0b !important; color: #f59e0b !important; font-weight: 700 !important; }

/* ══════════════════════════════════════════════════════════════════
   SEGUIMIENTO — prioridades, estados, timeline
   ══════════════════════════════════════════════════════════════════ */
.prioridad-alta  { background-color: rgba(239,68,68,.15) !important;  color: #fca5a5 !important; border: 1.5px solid rgba(239,68,68,.4) !important; }
.prioridad-media { background-color: rgba(245,158,11,.15) !important; color: #fcd34d !important; border: 1.5px solid rgba(245,158,11,.4) !important; }
.prioridad-baja  { background-color: rgba(34,197,94,.12) !important;  color: #86efac !important; border: 1.5px solid rgba(34,197,94,.3) !important; }
.estado-finalizado  { color: #22c55e !important; font-weight: 600 !important; }
.estado-instalado   { color: #eab308 !important; font-weight: 600 !important; }
.estado-en-progreso { color: #f59e0b !important; font-weight: 600 !important; }
.estado-pendiente   { color: #ef4444 !important; font-weight: 600 !important; }
.timeline-item { background: rgba(17,24,39,.94) !important; border: 1px solid #243041 !important; color: #e5e7eb !important; }
.timeline-item.completed { border-left-color: #22c55e !important; background-color: rgba(34,197,94,.07) !important; }
.timeline-step { background: #1e3a5f !important; border: 2px solid #334155 !important; color: #93c5fd !important; }
.timeline-step.active, .timeline-step.completado { background: rgba(34,197,94,.2) !important; border-color: #22c55e !important; color: #86efac !important; }
.timeline-section { background: rgba(11,18,32,.6) !important; border: 1px solid #243041 !important; }

/* ══════════════════════════════════════════════════════════════════
   STATUS INDICATORS
   ══════════════════════════════════════════════════════════════════ */
.status-ok, .status-indicator.status-ok {
  background: rgba(34,197,94,.2) !important; color: #86efac !important;
  border: 1px solid rgba(34,197,94,.4) !important; border-radius: 4px !important; padding: 2px 6px !important;
}
.status-warn, .status-warning {
  background: rgba(245,158,11,.2) !important; color: #fcd34d !important;
  border: 1px solid rgba(245,158,11,.4) !important; border-radius: 4px !important; padding: 2px 6px !important;
}
.status-bad, .status-error {
  background: rgba(239,68,68,.2) !important; color: #fca5a5 !important;
  border: 1px solid rgba(239,68,68,.4) !important; border-radius: 4px !important; padding: 2px 6px !important;
}

/* ══════════════════════════════════════════════════════════════════
   MODALES
   ══════════════════════════════════════════════════════════════════ */
.modal-content, .modal-body, [class*="modal-"] { background: #111827 !important; border: 1px solid #243041 !important; color: #e5e7eb !important; }
.modal-header { background: #0f2a4a !important; border-bottom: 1px solid #243041 !important; color: #e5e7eb !important; }
.modal-actions { background: #0b1220 !important; border-top: 1px solid #243041 !important; }
.modal-overlay, .modal { background: rgba(0,0,0,.78) !important; }

/* ══════════════════════════════════════════════════════════════════
   PILLS / BADGES
   ══════════════════════════════════════════════════════════════════ */
.pill, [class*="badge"] { border-radius: 999px !important; font-weight: 700 !important; }
.pill.ok, .archived-badge, .presupuesto-badge { background: rgba(34,197,94,.15) !important; color: #86efac !important; border: 1px solid rgba(34,197,94,.25) !important; }
.pill.warn { background: rgba(249,115,22,.15) !important; color: #fdba74 !important; border: 1px solid rgba(249,115,22,.25) !important; }
.pill.bad  { background: rgba(239,68,68,.15) !important;  color: #fca5a5 !important; border: 1px solid rgba(239,68,68,.25) !important; }

/* ══════════════════════════════════════════════════════════════════
   CONEXIÓN STATUS
   ══════════════════════════════════════════════════════════════════ */
.connection-status { background: rgba(17,24,39,.9) !important; border: 1px solid #243041 !important; color: #94a3b8 !important; }
.connection-status.online  { background: rgba(34,197,94,.12) !important; color: #86efac !important; border: 1px solid rgba(34,197,94,.3) !important; }
.connection-status.offline { background: rgba(239,68,68,.12) !important; color: #fca5a5 !important; border: 1px solid rgba(239,68,68,.3) !important; }

/* ══════════════════════════════════════════════════════════════════
   ALERTS
   ══════════════════════════════════════════════════════════════════ */
.info,    .alert-info    { background: rgba(96,165,250,.12) !important; color: #93c5fd !important; border: 1px solid rgba(96,165,250,.3) !important; }
.success, .alert-success { background: rgba(34,197,94,.12) !important;  color: #86efac !important; border: 1px solid rgba(34,197,94,.3) !important; }
.warning, .alert-warning { background: rgba(249,115,22,.12) !important; color: #fdba74 !important; border: 1px solid rgba(249,115,22,.3) !important; }

/* ══════════════════════════════════════════════════════════════════
   LOGIN PAGE
   ══════════════════════════════════════════════════════════════════ */
.login-container { background: rgba(17,24,39,.97) !important; border: 1px solid #243041 !important; box-shadow: 0 20px 60px rgba(0,0,0,.5) !important; color: #e5e7eb !important; }
.login-header { background: linear-gradient(135deg,#0f2a4a,#1e3a5f) !important; border-bottom: 2px solid #f59e0b !important; }
.brand { color: #f59e0b !important; }
.login-header h1, .login-header h2 { color: #e5e7eb !important; }
.login-header p { color: #94a3b8 !important; }
.input-group input { background: #0b1220 !important; border: 1px solid #334155 !important; color: #e5e7eb !important; }
.input-group input:focus { border-color: #f59e0b !important; box-shadow: 0 0 0 3px rgba(245,158,11,.18) !important; }
.input-group label { color: #94a3b8 !important; }

/* ══════════════════════════════════════════════════════════════════
   USER INFO / LOGOUT
   ══════════════════════════════════════════════════════════════════ */
.user-info { background: rgba(0,0,0,.6) !important; border: 1px solid rgba(255,255,255,.1) !important; backdrop-filter: blur(8px) !important; }
.username { color: #e5e7eb !important; }
.logout-btn { background: #7f1d1d !important; border-color: #ef4444 !important; color: #fca5a5 !important; }
.logout-btn:hover { background: #ef4444 !important; color: #fff !important; }

/* ══════════════════════════════════════════════════════════════════
   MPPT / DETALLE (GeneronV3, bombeosolar)
   ══════════════════════════════════════════════════════════════════ */
.mppt-configuration, .mppt-item { background: rgba(11,18,32,.88) !important; border: 1px solid #243041 !important; color: #e5e7eb !important; }
.mppt-configuration h3 { color: #93c5fd !important; }
.detalle-item, .detalles-grid { background: rgba(11,18,32,.85) !important; border: 1px solid #243041 !important; color: #e5e7eb !important; }
.detalle-item h3 { color: #e2e8f0 !important; }
.detalle-item p  { color: #cbd5e1 !important; }

/* ══════════════════════════════════════════════════════════════════
   LOADING
   ══════════════════════════════════════════════════════════════════ */
.loading-overlay { background: rgba(11,18,32,.85) !important; backdrop-filter: blur(4px) !important; }
.loading-spinner  { border-color: #1e3a5f !important; border-top-color: #f59e0b !important; }
.loading-text, .loading { color: #60a5fa !important; }

/* ══════════════════════════════════════════════════════════════════
   TAILWIND OVERRIDES (Cotizador_Materiales — React + Tailwind)
   ══════════════════════════════════════════════════════════════════ */
.bg-white, .bg-gray-50, .bg-gray-100 { background-color: rgba(17,24,39,.94) !important; color: #e5e7eb !important; }
.bg-red-50    { background-color: rgba(127,29,29,.2) !important; }
.bg-red-100   { background-color: rgba(127,29,29,.25) !important; }
.bg-green-100 { background-color: rgba(34,197,94,.12) !important; }
.bg-yellow-100{ background-color: rgba(245,158,11,.12) !important; }
.bg-blue-100  { background-color: rgba(96,165,250,.12) !important; }
.bg-blue-500  { background-color: #1e3a5f !important; }
.bg-green-500 { background-color: rgba(34,197,94,.25) !important; color: #86efac !important; }
.text-gray-800 { color: #e2e8f0 !important; }
.text-gray-700 { color: #cbd5e1 !important; }
.text-gray-600 { color: #94a3b8 !important; }
.text-gray-500 { color: #64748b !important; }
.text-red-700  { color: #fca5a5 !important; }
.text-red-600  { color: #f87171 !important; }
.text-green-700{ color: #86efac !important; }
.text-blue-600 { color: #93c5fd !important; }
.text-blue-700 { color: #60a5fa !important; }
.text-purple-600{ color: #c084fc !important; }
.border-gray-200, .border-gray-100, .border-gray-300 { border-color: #243041 !important; }
.border-red-200 { border-color: rgba(239,68,68,.4) !important; }
.hover\:bg-gray-50:hover { background-color: rgba(30,58,95,.3) !important; }
thead tr, tr.bg-gray-50 { background-color: #1e3a5f !important; color: #93c5fd !important; }
div.bg-red-50  { background-color: rgba(127,29,29,.2) !important; border-color: rgba(239,68,68,.4) !important; }
div.bg-red-50 * { color: #fca5a5 !important; }
.rounded-full.bg-gray-100  { background-color: rgba(30,58,95,.5) !important; color: #93c5fd !important; border: 1px solid #334155 !important; }
.rounded-full.bg-red-100   { background-color: rgba(127,29,29,.25) !important; color: #fca5a5 !important; }
.rounded-full.bg-green-100 { background-color: rgba(34,197,94,.15) !important; color: #86efac !important; }
.rounded-full.bg-yellow-100{ background-color: rgba(245,158,11,.15) !important; color: #fcd34d !important; }
.bg-green-100.text-green-700   { background: rgba(34,197,94,.15) !important; color: #86efac !important; }
.bg-yellow-100.text-yellow-700 { background: rgba(245,158,11,.15) !important; color: #fcd34d !important; }
.bg-gradient-to-br { background: linear-gradient(135deg, #1e3a5f, #0f2a4a) !important; }

/* ══════════════════════════════════════════════════════════════════
   MISC
   ══════════════════════════════════════════════════════════════════ */
a { color: #60a5fa !important; }
a:hover { color: #93c5fd !important; }
small, .hint, .note, .meta { color: #64748b !important; }
strong, b { color: #f1f5f9 !important; }
.unit, .label { color: #94a3b8 !important; }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #0b1220; }
::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #60a5fa; }

/* ══════════════════════════════════════════════════════════════════
   PRINT
   ══════════════════════════════════════════════════════════════════ */
@media print {
  body { background: #fff !important; color: #000 !important; }
  .card, .section-card, .form-section, .timeline-item,
  .potencia-phase, .potencia-chart-card, .summary-box,
  .material-item, .mppt-item, .detalle-item {
    background: #fff !important; border: 1px solid #ccc !important;
    color: #000 !important; box-shadow: none !important;
  }
  th  { background: #eee !important; color: #000 !important; }
  td  { color: #000 !important; border-color: #ccc !important; }
  header { background: #1a3a5c !important; color: #fff !important; }
  input, select { background: #fff !important; color: #000 !important; border-color: #ccc !important; }
  /* Quitar overlay de la imagen en print */
  header::after { display: none; }
}


/* ══════════════════════════════════════════════════════════════════
   PDF EXPORT — preservar tema BLANCO para impresión
   html2pdf renderiza #informe-pdf-generon con todos los estilos
   de la página. Usamos !important en todo para ganarle al dark theme.
   ══════════════════════════════════════════════════════════════════ */

/* Paso 1: Reset nuclear — todo blanco dentro del contenedor */
#informe-pdf-generon,
#informe-pdf-generon div,
#informe-pdf-generon p,
#informe-pdf-generon span,
#informe-pdf-generon section,
#informe-pdf-generon article,
#informe-pdf-generon header,
#informe-pdf-generon footer {
  background: white !important;
  background-color: white !important;
  color: #223041 !important;
  border-color: #e0e8f0 !important;
  text-shadow: none !important;
}

/* Paso 2: Tablas — reset completo */
#informe-pdf-generon table,
#informe-pdf-generon table.t {
  background: white !important;
  background-color: white !important;
  border: 1px solid #e6eef7 !important;
  color: #223041 !important;
}
#informe-pdf-generon tr,
#informe-pdf-generon tr:nth-child(even),
#informe-pdf-generon tr:hover {
  background: transparent !important;
  background-color: transparent !important;
}
#informe-pdf-generon td,
#informe-pdf-generon th {
  background: transparent !important;
  background-color: transparent !important;
  color: #223041 !important;
  border-color: #eef3f9 !important;
}
#informe-pdf-generon tr:hover td { background: transparent !important; }
#informe-pdf-generon tr:nth-child(even) td { background: transparent !important; }
#informe-pdf-generon thead th {
  background: #f7fbff !important;
  background-color: #f7fbff !important;
  color: #345 !important;
}

/* Paso 3: Caption (cabeceras de sección del PDF) */
#informe-pdf-generon table.t caption,
#informe-pdf-generon caption {
  background: #f7fbff !important;
  background-color: #f7fbff !important;
  color: #345 !important;
  border-bottom: 1px solid #e6eef7 !important;
}

/* Paso 4: Celdas tipificadas */
#informe-pdf-generon td.k { color: #6b7c92 !important; }
#informe-pdf-generon td.v { color: #1e2b3a !important; font-weight: 600 !important; }

/* Paso 5: Clases específicas del PDF */
#informe-pdf-generon .rep          { background: white !important; color: #223041 !important; }
#informe-pdf-generon .rep-header   { background: white !important; border-bottom: 2px solid #e6eef7 !important; }
#informe-pdf-generon .brand        { background: transparent !important; color: #2a6fd6 !important; }
#informe-pdf-generon .brand small  { color: #00a894 !important; background: transparent !important; }
#informe-pdf-generon .meta         { color: #5b6b80 !important; background: transparent !important; }
#informe-pdf-generon .title        { color: #20324a !important; background: transparent !important; }
#informe-pdf-generon .stack        { background: transparent !important; }

#informe-pdf-generon .pill {
  background: #eef5ff !important;
  background-color: #eef5ff !important;
  color: #1f5cc4 !important;
  border: none !important;
}
#informe-pdf-generon .narrative {
  background: #f9fcff !important;
  background-color: #f9fcff !important;
  color: #2c3e50 !important;
  border-left: 3px solid #2a6fd6 !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
}
#informe-pdf-generon .narrative strong { color: #1f5cc4 !important; }

/* Paso 6: Estados */
#informe-pdf-generon .ok   { color: #148a48 !important; background: transparent !important; border: none !important; padding: 0 !important; }
#informe-pdf-generon .warn { color: #b36b00 !important; background: transparent !important; border: none !important; padding: 0 !important; }
#informe-pdf-generon .bad  { color: #bf1e2e !important; background: transparent !important; border: none !important; padding: 0 !important; }
#informe-pdf-generon .state { font-weight: 700 !important; color: #223041 !important; }

/* Paso 7: Tipografía */
#informe-pdf-generon h1,
#informe-pdf-generon h2,
#informe-pdf-generon h3    { color: #20324a !important; background: transparent !important; }
#informe-pdf-generon strong { color: inherit !important; background: transparent !important; }
#informe-pdf-generon b      { color: inherit !important; background: transparent !important; }
#informe-pdf-generon a      { color: #2a6fd6 !important; }

/* Paso 8: Footer del PDF */
#informe-pdf-generon .foot {
  color: #6b7c92 !important;
  background: transparent !important;
  border-top: 1px dashed #d6e0ec !important;
}
