fixAl registrar o modificar un movimiento en Registrar Movimiento, la actualización en tiempo real de Presupuesto dejaba en $0 las columnas Gastado y Disponible de cada tarjeta en la tabla de Tarjetas de Crédito (aunque el total sí quedaba correcto), obligando a recargar la página para ver los valores reales — el JavaScript que repinta esa tabla leía los campos con un nombre distinto al que envía el servidor
fixAl registrar un Gasto, el campo Origen Pago ya no queda con el primer banco de la lista preseleccionado por defecto — ahora inicia en "Seleccione" para evitar registrar un banco equivocado sin querer
featLos campos Pagado en Firme, Fecha Pago y Origen Pago del formulario de Gasto ahora están agrupados bajo un enlace "Información adicional" que el usuario despliega solo si los necesita diligenciar; los valores por defecto y los ajustes automáticos (por ejemplo al pagar en efectivo o por transferencia) se siguen aplicando igual, y el panel se abre solo si alguna de esas acciones automáticas deja Origen Pago pendiente por diligenciar
featLa barra de navegación ahora va de borde a borde en toda la app (antes quedaba centrada con márgenes) — el logo PMG queda pegado al borde izquierdo y las opciones al derecho
featEl mockup de teléfono del login se hizo mucho más grande y protagonista en la columna derecha, y ahora incluye el texto "Keeping your future safe" debajo del logo con una animación de glitch estilo Cyberpunk
fixEn la vista de escritorio, el formulario de inicio de sesión ya no se estiraba a lo ancho de toda la columna — ahora tiene un ancho fijo y compacto, más profesional
fixEl fondo de la "pantalla" del mockup de teléfono ahora coincide exactamente con el fondo real del logo, sin costura visible
fixEn móvil, el logo ya no quedaba oculto: ahora se muestra sin el marco de teléfono, directamente como una imagen con esquinas redondeadas y resplandor
featEl formulario de inicio de sesión se rediseñó otra vez: en vez de la tarjeta giratoria de la versión anterior, ahora es una pantalla dividida en dos columnas — el formulario a la izquierda (Microsoft como opción principal arriba, usuario y contraseña siempre visible debajo) y a la derecha un panel Cyberpunk con un mockup de teléfono mostrando el logo de PMG
choreEn pantallas angostas, el panel visual de la derecha se oculta para dejar todo el espacio al formulario
featLa pantalla de inicio de sesión ahora usa siempre el tema Neón Cyberpunk mientras no haya una sesión iniciada, sin importar el tema que tenga guardado cualquier usuario en ese navegador
featEl formulario de inicio de sesión se rediseñó como una tarjeta que gira: "Iniciar sesión con Microsoft" pasa a ser la opción principal, y un botón secundario permite girar la tarjeta para revelar el formulario clásico de usuario y contraseña. Funciona igual en escritorio y en móvil
fixCuando falla un inicio de sesión con usuario/contraseña, la tarjeta ahora abre directamente en el formulario clásico con el mensaje de error visible, en vez de quedar detrás del botón de Microsoft
fixUn fallo al autenticar con Microsoft ahora muestra su mensaje de error correspondiente; antes la página de login no mostraba ningún aviso en ese caso
choreLa aplicación se renombra de "Plan Mensual de Gastos" a "Personal Money Guard" — la sigla PMG no cambia. Se actualizó el nombre visible en Acerca de, el correo de cierre de periodo y el reporte PDF (título de portada, metadatos y pie de página)
choreSe reemplazó el logo en toda la aplicación (favicon, barra de navegación, pantalla de inicio de sesión y portada del reporte PDF) por el nuevo diseño de marca
featEn pantallas de escritorio, la vista Presupuesto estrena un panel de indicadores con animación al cargar y al recibir actualizaciones en vivo, contexto adicional bajo cada indicador (variación de bancos, % de cupo de TC usado, % del presupuesto usado, valor recuperado de préstamos) y un indicador de conexión en tiempo real con marca de "actualizado hace..."
featNueva barra de navegación por pestañas ancladas (Bancos, Tarjetas, Presupuesto, Préstamos) que resalta la sección visible al hacer scroll y permite saltar directo a cada una
featEn pantallas muy anchas, cada sección muestra la tabla y su gráfico de análisis lado a lado en vez de tener que abrir el gráfico manualmente
featLa columna "Disponible" de Presupuesto del Mes ahora incluye una barra de progreso del gasto por concepto, y el guardado de valores editados muestra una confirmación visual más sobria (notificación flotante en la esquina) además del indicador existente
featLos colores de acento de cada sección (Bancos, Tarjetas, Presupuesto, Préstamos) ahora se adaptan al tema activo en vez de usar una paleta fija, consistente con los 6 temas de la app
choreLa vista móvil de Presupuesto no cambia: se separó completamente del rediseño de escritorio para no alterar su comportamiento
featEl correo electrónico ahora es obligatorio al crear un usuario nuevo desde Administrar Usuarios, con validación de formato y de duplicados
featNueva sección de auto-servicio en "Cambiar Contraseña" para que cualquier usuario existente cargue o corrija su propio correo (de solo lectura para cuentas Microsoft, que se sincronizan automáticamente)
featAl cerrar un periodo, el sistema genera el mismo reporte PDF del botón manual y lo envía por correo a la dirección registrada del usuario, con un diseño propio inspirado en el tema Neón Cyberpunk; si el usuario no tiene correo o el envío falla, el cierre del periodo se completa igual
featAl confirmar el cierre de mes ahora se muestra un modal de espera mientras se procesa, igual que en inicio de sesión o al registrar un movimiento
fixEl campo de correo del usuario ahora es único en la base de datos, evitando que dos cuentas locales compartan el mismo correo y confundan la vinculación de cuentas de Microsoft
fixEn Configuración de Temas, el texto "Tema Actual" siempre mostraba "Océano Azul" sin importar el tema realmente aplicado, porque se actualizaba antes de que la lista de temas disponibles terminara de cargarse. Las tarjetas sí marcaban el tema correcto; ahora el texto también refleja el tema activo real
fixEn la vista Conceptos, el nombre de cada concepto existente se mostraba sobre un fondo claro fijo que no se adaptaba al tema; en temas oscuros como Neón Cyberpunk el texto quedaba prácticamente invisible. Ahora ese campo usa los mismos colores del tema activo, igual que el resto de la app
fixLa vista Acerca de tenía su propio fondo y encabezado con colores fijos (un degradado azul/índigo) que nunca cambiaban según el tema elegido; ahora usa los mismos colores del tema activo que el resto de la app, incluyendo el listado de novedades
fixLos botones verdes (como "Registrar movimiento" y "Guardar Gasto") tenían texto blanco prácticamente ilegible sobre el verde de Neón Cyberpunk y con contraste insuficiente en los demás temas; ahora usan texto oscuro con buen contraste en los 6 temas
fixMismo ajuste en los botones rojos, que tenían el mismo problema de contraste
fixLos mensajes de advertencia (fondo amarillo/naranja) tenían texto blanco en los 6 temas, prácticamente ilegible en Neón Cyberpunk; ahora usan texto oscuro con buen contraste en todos los temas
fixUn administrador ya no puede consultar, editar ni eliminar el histórico de movimientos de otro usuario sin su autorización explícita; cada usuario controla este permiso desde su propio Histórico de Periodos, apagado por defecto
featNuevo interruptor "Permitir que un administrador consulte mi histórico" en Histórico de Periodos, con un aviso de confirmación antes de activarlo
featAl entrar a Inicio, si todavía no se le ha mostrado el modal de novedades de la versión actual, se le presenta automáticamente con el mismo historial de cambios que se ve en Acerca de; una vez lo cierra, no se le vuelve a mostrar hasta que se publique una versión nueva
fixLa portada del reporte PDF nunca mostraba el apellido del usuario: el helper que arma los datos de usuario para el reporte en router/cerrarMes.js filtraba únicamente código, nombre y rol desde la sesión, descartando el apellido antes de que llegara a construirse el PDF
featLa tarjeta "Usuario" de la portada del reporte PDF ahora muestra también el código de usuario, debajo del nombre completo
fixLas gráficas de dona del reporte PDF (Gastado vs. Disponible, Deudores vs. Valor recuperado) mostraban el título y la leyenda superpuestos cuando el título era largo; ahora el círculo y el texto se ubican uno al lado del otro y el espacio se calcula según el alto real del título
featLa portada del reporte PDF ahora muestra el nombre completo del usuario (nombre y apellido) y presenta Usuario/Fecha de generación/Ambiente en una tarjeta con el mismo estilo visual del resto del reporte, en vez de texto plano
featEl reporte PDF de "Generar reporte y backup" se reconstruyó desde cero con un motor que calcula de antemano cuántos movimientos, bancos, tarjetas y conceptos hay y cuánto espacio ocupa cada uno, antes de generar una sola página — elimina las páginas en blanco y los gráficos superpuestos que podían aparecer con muchos bancos o movimientos
featLos movimientos ahora se muestran como tarjetas (igual que en Movimientos), no como tabla: la descripción completa siempre es visible, sin cortarse ni truncarse
featNueva portada del reporte con los mismos 4 indicadores de Presupuesto (Disponible en Bancos, Cupo Disponible TC, Disponible del Mes, Préstamos Pendientes) y la barra "Gastado del mes", más una sección de resumen con el conteo y total de cada tipo de movimiento
featBancos, Tarjetas de Crédito, Presupuesto del Mes y Préstamos se presentan dentro de tarjetas de bordes suaves, con los valores negativos resaltados en rojo
fixCorrección de varios problemas del reporte anterior: el logo se superponía con el título, el formato de moneda mostraba centavos, y el cierre de mes podía fallar sin registrar el error
featNueva vista "Histórico de Periodos": cada cierre de mes guarda automáticamente un snapshot con los movimientos y el presupuesto final del periodo (bancos, tarjetas, conceptos, préstamos, gráficas), consultable después de que esos datos se eliminan del periodo activo
featUn administrador puede consultar el histórico de cualquier usuario, editar o eliminar movimientos puntuales de un periodo cerrado, o eliminar un periodo completo
featNuevo parámetro en Administrar Usuarios para configurar cuántos periodos de histórico se conservan por usuario (por defecto 6); al reducirlo se elimina de inmediato el histórico más antiguo que sobre
featLas tablas de Bancos y Tarjetas de crédito del histórico ahora muestran una fila de totales, igual que la tabla de Presupuesto del mes
fixLos valores de disponible/gastado en las tarjetas de la vista móvil de Presupuesto (bancos, tarjetas de crédito y conceptos) eran difíciles de leer en algunos temas; ahora usan fondo sólido y texto blanco con mayor tamaño de letra
featLa vista de Presupuesto ahora se actualiza sola, sin recargar la página, cada vez que se registra, edita o elimina un movimiento desde Movimientos (aviso en vivo vía Server-Sent Events)
fixVarios totales de Presupuesto (bancos, tarjetas de crédito y conceptos del mes) no se recalculaban correctamente al editar un valor desde la propia vista, tanto en la tabla de escritorio como en las tarjetas de la vista móvil
fixCorrección de un color de texto ilegible que aparecía brevemente en las tarjetas de la vista móvil de Presupuesto justo después de actualizarse un valor
featEl resumen del pago masivo de tarjetas de crédito ahora muestra una línea por cada tarjeta involucrada, con su propio rango de fechas y total, más una línea final con el total general
fixCorrección de la alineación de fechas y totales en ese resumen cuando los nombres de las tarjetas tienen longitudes distintas
featOpción para marcar/desmarcar todos los movimientos visibles (según los filtros aplicados) al registrar un pago masivo de tarjeta de crédito
fixCorrección de contraste en los valores de las tarjetas de estadísticas de Inicio con temas oscuros
featNuevo tema Neón Cyberpunk: esquema oscuro con colores neón vibrantes y fondo con patrón de cuadrícula digital
featResumen de estadísticas (rango de fechas, tarjetas involucradas y total) en el modal de pago masivo de tarjetas de crédito
fixCorrección de contraste y consistencia visual en la vista de Movimientos para los temas oscuros (filtros, tarjetas y edición en línea)
fixCorrección del contador de movimientos seleccionados en el botón "Registrar pago TC", ilegible en temas oscuros
featSistema profesional de versionamiento (SemVer + Conventional Commits) con historial de novedades visible en Acerca de
featEn Inicio, se reemplaza la tarjeta "Disponible del Mes" por dos nuevas: Mayor Gasto por Categoría y Préstamos
choreLimpieza de documentación temporal de trabajo, conservando únicamente la documentación oficial del proyecto
featModal de espera profesional al iniciar sesión (usuario/contraseña y Microsoft)
featPago masivo de tarjetas de crédito: selecciona varios movimientos y márcalos como pagados en un solo paso
featValores por defecto inteligentes al registrar un gasto (Pagado en Firme y Origen Pago)
fixCorrección definitiva del desfase de horas en movimientos — guardado siempre en hora Colombia, visualización según el huso horario real del navegador
featRediseño visual completo de la vista de Presupuesto (tarjetas KPI, secciones colapsables)
featFiltro por concepto/tipo de gasto en la vista de movimientos
featOrigen de pago obligatorio cuando un gasto queda pagado en firme
fixAjustes de contraste y legibilidad en encabezados de tablas
refactorRefactor completo del módulo de movimientos: CSS y JS separados en archivos propios, vista dividida en partials, router modularizado
featCierre de mes: se conservan los préstamos no pagados y se reportan por separado en el PDF
featParámetros iniciales automáticos para usuarios nuevos
featDashboard de estadísticas financieras en la página de inicio
choreLimpieza general del proyecto: archivos de prueba, scripts y datos obsoletos retirados del repositorio
featRediseño de las gráficas de presupuesto (carrusel en móvil)
docsDocumentación técnica del módulo de movimientos
featSegundo hosting en Render.com
featSistema de logs configurable por ambiente (detallado en desarrollo, mínimo en producción)
featFiltros de préstamo pagado y origen de pago en la vista de movimientos
fixRestricciones de cambio de contraseña para usuarios autenticados con Microsoft
refactorRearquitectura de los tipos de movimiento (retiro de efectivo, transferencia entre cuentas)
featEndurecimiento de seguridad: límites de intentos, validaciones estrictas
featEdición en línea de movimientos existentes
featAdministración de usuarios y cambio de contraseña
featTemas de colores configurables
featInicio de sesión con cuenta de Microsoft
featGestión de gastos, presupuesto mensual y catálogos base (conceptos, medios de pago, orígenes de pago)
featAutenticación de usuarios
featGeneración de reportes en PDF
featCierre de mes
featIngresos, abonos a tarjeta de crédito y pagos diferidos
Esta aplicación fue creada por Felipe Castaño con el objetivo de llevar unas finanzas sanas y acertadas. Ningún sistema ofrecía lo que se necesitaba, así que él mismo la construyó. Agradecimientos especiales a su esposa Natalia, quien lo acompañó y apoyó hasta el final con sus conocimientos en contabilidad.