Respaldo completo (todos los datos)

Reporte diario de consultas

Exporta las fichas médicas de la fecha seleccionada.

Restaurar desde respaldo (JSON)

Precaución: La restauración reemplazará los datos locales actuales por los del archivo seleccionado. Haz un respaldo antes de continuar.
`);w.document.close()} $('crearBackupBtn').onclick=descargarBackup;$('exportJsonDiario').onclick=exportarJsonDia;$('exportExcelDiario').onclick=exportarCsvDia;$('exportPdfDiario').onclick=imprimirDia;$('fechaReporte').value=new Date().toISOString().slice(0,10); let restaurarData=null;$('restoreFile').addEventListener('change',async e=>{const f=e.target.files[0];restaurarData=null;if(!f)return;try{restaurarData=JSON.parse(await f.text());$('restoreStatus').textContent='Archivo listo para restaurar.'}catch(err){$('restoreStatus').textContent='Archivo inválido.'}});$('restoreBtn').onclick=()=>{if(!restaurarData){alert('Seleccione un respaldo válido.');return}if(!confirm('¿Reemplazar los datos locales actuales?'))return;if(restaurarData.pacientes)DentalDB.savePacientes(restaurarData.pacientes);if(restaurarData.fichas)DentalDB.saveFichas(restaurarData.fichas);if(restaurarData.agenda)DentalDB.saveAgenda(restaurarData.agenda);if(restaurarData.seguimientos)DentalDB.saveSeguimientos(restaurarData.seguimientos);if(restaurarData.certificados)DentalDB.saveCertificados(restaurarData.certificados);$('restoreStatus').textContent='Datos restaurados correctamente.';alert('Respaldo restaurado correctamente.')}