`dG
YL'd-@dHKH赈vSA!j=J B+iXIa>!7y)kE{cKC<%7^^Vn$ံ-EؘH#I{01^͈fW3em"dVFySu8ۯK/г}hzd`3h:1(r"JUX64́q#oqsl+n/QxF}<%	]CnJ?@/UӜ8ᚹqllKI'}/^Y)14_'
.lqs3CPc>ORMNa{9)N^๓@e 1Ɖb2j4~Lhe8sVIg9,K%tz[]ۆmitvl֓	.ܪ׷^kNoɭg/湌6fw@fώTݏn41m1LhAZ۬S;찎lr#-u
ٝ8K|	Yڂ#aP^
x4/J6xC	{v@-,`sf;H!FIeH~vÖυDeaYO* o""Z#;dZ a]eqf⟷Ʃ==}+_̈́	jJ·AnW\,ӔByYZ纅n"x3}n'#x' 㛴Az*#~%C?6">7G[M 5mT>ݪ]b|3ٛi2'j2c}ʾ~m^'"JRG<c{3mȤCJXcalų3;awsxPWSrod%$`Ѡbr=8*ϡfKx,Nx]񘼌Vt>Sm#Pq7-6<t3Tolf3/Q-=	Ppz9H
y]⸆kj:lm=Nj[{<:}%oBhqOeumTtLBޏ>S_'7k}KdUa]6EiOn݃a	2X	ua C'2|i?#!jc"[t<eE@&aru2q211ߊ= {Zy1de$7a9[6ǌ%<
/JߓgnE- Zm^Z"D&H72>9)\ bfڥ!cKgv1w듪?"NE0d[6 jl)@ fm:+\_gn{'+<QhSq9sYY"-" 7[g$,ebRawgsx)Y ,=kt<ճ(cm8[`mcU5f6scaܹly0$iyM"qHKPMF١Cs_Vdk_^BcZ
-ۅX&Z0ꯋP#?KThhox.q =D;(IDD& #g1z,e *QYmH8owO?stChi3T舘r_nHSr'd Uj
nJ\*Xqt$i!7cJ"vڿӿ7nzq\ >Q;?y*߉i= AUt\W߸2ҷz*Mf򒔚~DQZIМ2Ncg _[nJL)uI1.h47ǆ;x	uq.&/FaKFa$gs|?'B&~LEH4'3ekT3{=;42\F)#t4ZűާY#ǖLq^XqܕtDA|}"J=c'$eS03n1(;WV4J^s/PXd.=<]7t|b:wyAP?Dc@0b
Ѯ^ӝhhuripFIxU!6;ZK
pk=7:x_sle2R%!euwxq2d/fUb4K|HYoeG*;}ҷz*Mf򒔚~DQZIМ2Ncg?}svgmp4=zc8~=D"9МK 1k Ɋ_ZY6Vh~ް}D@X{'0Zf:h2TZ	{$ה^of	~/%Q:阏`{qe\w93:~FeL\SE[
nܠ4]r)G@Jy
l<V#zM/gy'ɡi).GX#|K_^Pn8bppKؑv>BqAb[֒du\Cn}_GIT3(hr T%~+.^\rZNnВ&)) 5G%~K:\UZ|T}|}>H?IyEB%yMv ;@tk(I	{>=1)Ȗ^?`sc~9t02yRܐ8$Y=SJǽ6`t6CU;{T$#UELɼ]*l%䱡ĝɼ)<#~S6(XǨ(|m./#Ɓ!%̉G£Xh?x:ٍmS\k}DU#HM.|)&vijuFZG[İ4vںEbjf3j<&2EVcvctuKIߍOSv-aDBn54EmBeIT͇1`s²02G)Wc"޿t7eW0ᣛ:]^hF9RC`Ά5ݫV_
k{7WuFID{$=$ewcM~|;{!Pbji>Me/n,F4zh)XܒX[r5C {q	j<'UL2O+ZIW*2ʛ UEnA/uqσ3O-QOI5H}~n>xбO񥰖BPz؄ U-exw|kx|}u-6O5b){<"f<o^|*Bv4
EGD9XksIo
RԕfG܌OV?nܻ>V-P詤-k؎$nDlBf**-b.sAy}PDgK$vn-oMf#C)dPz4Zt!j_těhNQIC9y-f+f׫WoPF
Fkg;n:U!r"[nZLo۠)j$DG5*ㆶgR.ĵF;/wy`¢׸(ꃪsR`R3V'~DTi
p~7eF9ڳ=ğڮGmۗRX]B{ţh.Ts]uʾm:ٳfajf:K7
D7m[2\_.h;>+5ccxa Franca | G7 |
| 14 | Comprobante Seguros | H1 |

---

## 🔧 Funciones JavaScript

### cambiarTab(tab)
Cambiar entre las 3 vistas principales
```javascript
cambiarTab('comprobantes');  // Muestra tabla comprobantes
cambiarTab('emitidos');      // Muestra historial
cambiarTab('crear');         // Muestra formulario
```

### editarComprobante(id)
Abre modal para editar un comprobante
```javascript
editarComprobante(5);  // Edita comprobante ID 5
```

### eliminarComprobante(id)
Elimina un comprobante previa confirmación
```javascript
eliminarComprobante(5);
```

### cerrarModal()
Cierra el modal de edición
```javascript
cerrarModal();
```

---

## 🎨 Diseño UI

### Dashboard Header
- Grid responsive con 3 cards
- Mostrar estadísticas principales
- Iconos y colores distintivos

### Tabs
- Navegación horizontal
- Indicador visual de tab activo
- Transiciones suaves

### Tablas
- Diseño limpio y minimalista
- Hover effects en filas
- Acciones compactas
- Responsive en móvil

### Modal de Edición
- Overlay semi-transparente
- Centrado en pantalla
- Campos editables
- Botones de guardar/cancelar

### Badges de Estado
- **Activo**: Verde
- **Inactivo**: Rojo
- **Aceptado**: Verde
- **Emitido**: Naranja
- **Rechazado**: Rojo

---

## 🔒 Seguridad

- **Acceso**: Solo Master-level
- **Validación**: Campos requeridos marcados con *
- **Confirmación**: Eliminación requiere confirmación
- **Escapado**: Texto se escapa de caracteres especiales
- **Único**: Prefijo y NCF tienen constraints UNIQUE

---

## ⚙️ Configuración

### En header.php
```php
<li><a href="../pos/encf_admin.php">
    <span class="nb-icon nb-purple">
        <i class="fa fa-cog"></i>
    </span> Administración eCFE
</a></li>
```

### Acceso desde menú
**Contabilidad → Cumplimiento DGII → Administración eCFE**

---

## 🐛 Troubleshooting

### Problema: Tabla no existe
**Solución:** Ejecutar `/php/crear_tablas_ecfe.php`

### Problema: No aparecen datos
**Solución:** Verificar que está en BD `model`

### Problema: No puedo editar
**Solución:** Verificar que eres Master level

### Problema: Modal no abre
**Solución:** Verificar JavaScript console por errores

---

## 📄 Scripts Relacionados

- `/php/crear_tablas_ecfe.php` - Crear tablas iniciales
- `/php/ejecutar.php` - Ejecutor SQL genérico
- `/php/traer_datos.php` - Obtener datos para modales

---

## 🔗 Integración con Otros Módulos

### comprar.php
Podría usar `ecf_secuencias` para llenar selector de tipos

### dgii_606.php
Podría registrar en `ecf_emitidos` cada comprobante exportado

### cfe_resumen.php
Podría mostrar estadísticas de `ecf_emitidos`

---

## 📝 Notas Importantes

1. **Base de Datos Separada**: Usa BD `model`, no la BD principal
2. **Prefijos Únicos**: No se pueden repetir prefijos
3. **Historial**: Los emitidos nunca se eliminan (auditoría)
4. **Secuencias**: Cada tipo tiene su propio rango
5. **RNC**: Se guardan para auditoría de DGII

---

**Versión**: 1.0  
**Estado**: ✅ Producción  
**Acceso**: Solo Master
