/* EXPOSITIVO 2026 - Estilos de la capa de IA (progreso, biblioteca, ilustraciones verificadas, series) */

.ai-status { font-size: 0.8rem; padding: 0.55rem 0.8rem; border-radius: 6px; margin-bottom: 0.75rem; border: 1px solid var(--border-subtle); background: var(--bg-secondary); color: var(--text-secondary); }
.ai-status.ok { border-color: var(--accent-emerald); color: var(--accent-emerald); }
.ai-status.bad { border-color: var(--accent-amber); color: var(--accent-amber); }
.ai-check { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.82rem; color: var(--text-secondary); cursor: pointer; }
.ai-check input { margin-top: 0.2rem; accent-color: var(--accent-gold); }

/* Biblioteca (RAG) */
.ai-lib { margin-top: 1rem; border: 1px solid var(--border-subtle); border-radius: 8px; padding: 0.85rem; background: var(--bg-secondary); }
.ai-lib-title { font-weight: 700; font-size: 0.85rem; color: var(--accent-gold); margin-bottom: 0.6rem; }
.ai-lib-item { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; padding: 0.4rem 0; border-bottom: 1px dashed var(--border-subtle); font-size: 0.82rem; }
.ai-lib-item small { color: var(--text-muted); display: block; }
.ai-lib-empty { font-size: 0.8rem; color: var(--text-muted); padding: 0.4rem 0 0.8rem; }
.ai-lib-form { display: grid; gap: 0.5rem; margin-top: 0.75rem; }

/* Barra IA por paso */
.ai-step-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-bottom: 1rem; padding: 0.65rem 0.9rem; border: 1px solid var(--border-gold); border-radius: 8px; background: var(--accent-gold-subtle); }
.ai-step-hint { font-size: 0.75rem; color: var(--text-secondary); }

/* Panel de progreso */
.ai-progress { position: fixed; right: 1.25rem; bottom: 1.25rem; width: min(360px, calc(100vw - 2.5rem)); z-index: 9999; background: var(--bg-surface); border: 1px solid var(--border-gold); border-radius: 10px; padding: 0.9rem 1rem; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45); font-size: 0.82rem; color: var(--text-primary); }
.ai-progress-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.6rem; color: var(--accent-gold); }
.ai-progress-x { background: none; border: 0; color: var(--text-muted); font-size: 1.3rem; cursor: pointer; line-height: 1; }
.ai-progress-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.35rem; }
.ai-progress-list li { display: flex; gap: 0.55rem; align-items: center; color: var(--text-muted); }
.ai-progress-list li.run { color: var(--text-primary); font-weight: 600; }
.ai-progress-list li.ok { color: var(--accent-emerald); }
.ai-progress-list li.err { color: var(--accent-crimson, #ef4444); }
.ai-progress-msg { margin-top: 0.6rem; color: var(--text-secondary); line-height: 1.45; }
.ai-progress-msg .err { color: var(--accent-crimson, #ef4444); font-weight: 600; }

/* Toast */
.ai-toast { position: fixed; left: 50%; bottom: 1.5rem; transform: translate(-50%, 20px); opacity: 0; transition: all 0.3s; z-index: 10000; max-width: min(560px, 92vw); padding: 0.75rem 1.1rem; border-radius: 8px; background: var(--bg-surface-elevated, #1e293b); color: var(--text-primary); border: 1px solid var(--border-medium); font-size: 0.85rem; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4); }
.ai-toast.show { opacity: 1; transform: translate(-50%, 0); }
.ai-toast.ok { border-color: var(--accent-emerald); }
.ai-toast.err { border-color: var(--accent-crimson, #ef4444); }

/* Herramientas IA en secciones 8 y 9 */
.ai-tools-box { margin: 1.1rem 0; padding: 0.9rem 1rem; border: 1px solid var(--border-gold); border-radius: 10px; background: var(--accent-gold-subtle); }
.ai-tools-title { font-weight: 700; color: var(--accent-gold); margin-bottom: 0.6rem; font-size: 0.9rem; }
.ai-tools-row { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.ai-tools-row .field-input { flex: 1 1 260px; }

/* Ilustraciones verificadas */
.ai-illus-results { display: grid; gap: 0.75rem; margin-top: 0.75rem; }
.ai-illus-card { border: 1px solid var(--border-subtle); border-left: 4px solid var(--accent-emerald); border-radius: 8px; padding: 0.8rem 0.95rem; background: var(--bg-surface); font-size: 0.85rem; }
.ai-illus-card.attr { border-left-color: var(--accent-amber); }
.ai-illus-meta { color: var(--text-secondary); margin-bottom: 0.35rem; display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.ai-illus-fact { color: var(--text-primary); line-height: 1.6; }
.ai-illus-conn, .ai-illus-src { color: var(--text-secondary); margin-top: 0.4rem; font-size: 0.8rem; }
.ai-illus-src a { color: var(--accent-blue); }
.ai-illus-actions { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.6rem; }
.ai-illus-none { padding: 0.75rem; border: 1px dashed var(--border-medium); border-radius: 8px; color: var(--text-secondary); font-size: 0.85rem; }
.ai-point-ilus-btn { margin-top: 0.5rem; }
.ai-badge { display: inline-block; padding: 0.1rem 0.5rem; border-radius: 999px; font-size: 0.7rem; font-weight: 700; }
.ai-badge.ok { background: var(--accent-emerald-subtle); color: var(--accent-emerald); }
.ai-badge.warn { background: rgba(245, 158, 11, 0.15); color: var(--accent-amber); }
.ai-badge.bad { background: rgba(239, 68, 68, 0.15); color: var(--accent-crimson, #ef4444); }
.ai-badge.neutral { background: var(--bg-surface-elevated); color: var(--text-muted); border: 1px solid var(--border-subtle); }
.ai-verdict { margin-top: 0.6rem; font-size: 0.78rem; color: var(--text-secondary); }
.ai-verdict-note { margin-top: 0.3rem; line-height: 1.5; }
.ai-verdict-note a { color: var(--accent-blue); }

/* Series */
.ai-series-conn { font-size: 0.75rem; color: var(--text-muted); font-weight: 400; margin-top: 0.2rem; }
.ai-series-key, .ai-series-ilus { margin-top: 0.35rem; font-size: 0.75rem; }
.ai-series-ilus.none { color: var(--text-muted); }

/* Auditoría IA */
.ai-audit-head { margin: 1rem 0 0.5rem; font-family: var(--font-serif); color: var(--accent-gold); font-weight: 700; }

/* Diapositivas IA */
.ai-slide-lines li { font-size: 2.1rem; line-height: 1.5; color: #f8fafc; margin: 0.6rem 0; font-family: Georgia, serif; }
.ai-slide-lines li::before { content: "\2726  "; color: var(--accent-gold); font-size: 1.2rem; }

/* Contenedor RAG en Paso 3 y Toggles */
.step3-rag-box { margin-top: 1.25rem; padding: 1.15rem 1.25rem; background: var(--bg-surface); border: 1px solid var(--border-gold); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.step3-rag-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.75rem; flex-wrap: wrap; gap: 0.5rem; }
.step3-rag-title { font-size: 0.95rem; font-weight: 700; color: var(--accent-gold); display: flex; align-items: center; gap: 0.5rem; }
.rag-toggle-item { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; padding: 0.6rem 0.85rem; margin-bottom: 0.5rem; border-radius: 6px; background: var(--bg-secondary); border: 1px solid var(--border-subtle); transition: border-color 0.2s; }
.rag-toggle-item:hover { border-color: var(--border-gold); }
.rag-toggle-left { display: flex; align-items: center; gap: 0.75rem; flex: 1; }
.rag-toggle-item input[type="checkbox"] { width: 1.15rem; height: 1.15rem; accent-color: var(--accent-gold); cursor: pointer; }
.rag-item-info { display: flex; flex-direction: column; gap: 0.15rem; }
.rag-item-title { font-weight: 600; font-size: 0.85rem; color: var(--text-primary); }
.rag-item-meta { font-size: 0.75rem; color: var(--text-muted); display: flex; gap: 0.5rem; align-items: center; }
.rag-tier-badge { font-size: 0.68rem; padding: 0.05rem 0.4rem; border-radius: 4px; font-weight: 700; }
.rag-tier-1 { background: rgba(212, 175, 55, 0.18); color: var(--accent-gold); border: 1px solid var(--accent-gold); }
.rag-tier-2 { background: rgba(59, 130, 246, 0.15); color: #60a5fa; border: 1px solid rgba(59, 130, 246, 0.4); }

/* Bloques de la Introducción Detallada y Conclusión Homilética de Púlpito */
.sermon-rich-intro { background: #f8fafc; border: 1px solid #cbd5e1; border-left: 4px solid #1e3a8a; border-radius: 6px; padding: 1.25rem; margin: 1.25rem 0; color: #1e293b; }
.intro-block-title { font-size: 0.95rem; font-weight: 700; color: #1e3a8a; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.35rem; display: flex; align-items: center; gap: 0.4rem; }
.intro-ecc-box { background: #fffbeb; border: 1px solid #fef3c7; border-left: 4px solid #d97706; padding: 0.85rem 1rem; border-radius: 4px; margin: 0.75rem 0; font-size: 0.92rem; color: #92400e; }
.intro-bridge-box { background: #f0fdf4; border: 1px solid #bbf7d0; border-left: 4px solid #16a34a; padding: 0.85rem 1rem; border-radius: 4px; margin: 0.75rem 0; font-size: 0.92rem; color: #14532d; }
.intro-prayer-box { background: #fdf4ff; border: 1px solid #f5d0fe; border-left: 4px solid #a855f7; padding: 1.15rem; border-radius: 6px; margin: 1.25rem 0; font-size: 0.95rem; color: #581c87; line-height: 1.65; font-style: italic; }

