diff --git a/docs/ANALISIS_SISTEMA_IBIZA.md b/docs/ANALISIS_SISTEMA_IBIZA.md
deleted file mode 100755
index 5761a21..0000000
--- a/docs/ANALISIS_SISTEMA_IBIZA.md
+++ /dev/null
@@ -1,302 +0,0 @@
-# ANÁLISIS COMPLETO DEL SISTEMA IBIZA CEA
-
-## Resumen Ejecutivo
-
-El sistema IBIZA CEA es una plataforma de gestión integral para condominios que maneja dos módulos principales: **Pagos de Agua** y **Finanzas**. El sistema está desarrollado en PHP con MySQL y está diseñado para administrar 101 casas del condominio IBIZA.
-
----
-
-## 🏗️ ESTRUCTURA DEL SISTEMA
-
-### Base de Datos
-- **Nombre**: `ibiza_db`
-- **Motor**: MySQL/MariaDB
-- **Tablas principales**: 15 tablas
-
-### Arquitectura
-- **Frontend**: PHP puro con HTML5, CSS3, JavaScript
-- **Backend**: PHP con MySQLi
-- **API REST**: Endpoints para integración externa
-- **Autenticación**: Basada en sesiones con roles de usuario
-
----
-
-## 📊 MÓDULOS DEL SISTEMA
-
-### 1. MÓDULO DE PAGOS DE AGUA (Sistema Principal)
-
-#### Página Principal: `index.php`
-**Funcionalidad**: Concentrado de pagos mensuales de agua por casa
-
-**Características**:
-- Vista tabular de 101 casas vs 12 meses
-- Edición inline de pagos (clic en celda)
-- Filtros por año y número de casa
-- Exportación a PDF y CSV
-- Estados visuales de pago (pagado/pendiente/parcial)
-
-**Proceso de Flujo**:
-1. Usuario selecciona año (2024-2030)
-2. Sistema muestra matriz casas×meses
-3. Admin/capturista puede editar montos haciendo clic
-4. Estados se actualizan automáticamente (verde=pagado, rojo=pendiente)
-
-**Lógica de Negocio**:
-- Casas pueden estar "activa" o "deshabitada"
-- Casas con `consumo_only=1` reciben descuento de $100 (desde 2025)
-- Cálculo automático de saldos y estados
-
-#### Tablas Involucradas:
-- `houses` - Información de casas (101 registros)
-- `payments` - Pagos registrados por casa/año/mes
-- `monthly_bills` - Configuración de montos esperados
-
----
-
-### 2. MÓDULO DE FINANZAS (Sistema Secundario)
-
-#### 2.1 Gestión de Casas (`finance_houses.php`)
-**Funcionalidad**: Administración del registro de propietarios
-
-**Características**:
-- Lista de 101 casas con números y propietarios
-- Edición de nombres de propietarios (solo admin)
-- Vista tabular con información de registro
-
-**Proceso**:
-1. Muestra todas las casas del 001-101
-2. Admin puede editar nombre del propietario
-3. Sistema registra cambios en log de actividad
-
-#### 2.2 Conceptos de Recaudación (`finance_concepts.php`)
-**Funcionalidad**: Definición de eventos especiales de cobro
-
-**Características**:
-- Creación de conceptos globales (Protocolización, Poda de árboles, etc.)
-- Montos variables por casa
-- Relación con conceptos globales
-- Gestión de pagos por concepto
-
-**Ejemplos del Sistema**:
-- Protocolización: $200 por casa
-- Poda de árboles: $20 por casa
-- Reparación de candado: $6 por casa
-
-#### 2.3 Reportes Financieros (`finance_reports.php`)
-**Funcionalidad**: Generación de reportes financieros
-
-**Tipos de Reportes**:
-- **Balance General**: Resumen completo financiero
-- **Estado de Cuenta por Casa**: Detalle de pagos individuales
-- **Detalle por Concepto**: Pagos agrupados por concepto
-- **Detalle por Concepto Global**: Reportes de eventos especiales
-
-**Características**:
-- Filtros por rango de fechas
-- Exportación a PDF
-- Cálculos automáticos de totales
-
-#### 2.4 Gestión de Gastos (`finance_expenses.php`)
-**Funcionalidad**: Registro de egresos del sistema
-
-**Características**:
-- Registro de gastos con conceptos
-- Soporte para comprobantes (receipt_path)
-- Relación con conceptos de recaudación
-- Montos y fechas configurables
-
----
-
-## 🔐 SEGURIDAD Y ROLES
-
-### Sistema de Autenticación
-**Página**: `login.php`
-
-**Flujo**:
-1. Usuario ingresa credenciales
-2. Sistema verifica contra tabla `users`
-3. Creación de sesión con regeneración de ID
-4. Redirección a `select_system.php`
-
-### Roles de Usuario
-1. **admin**: Acceso completo a todas las funciones
-2. **capturista**: Puede editar pagos y crear conceptos
-3. **viewer**: Solo puede visualizar información
-4. **any**: Rol mínimo para navegación básica
-
-### Página de Selección (`select_system.php`)
-**Funcionalidad**: Portal de navegación entre sistemas
-
-**Características**:
-- Interfaz moderna con cards de selección
-- Dos opciones: "Pagos de Agua" y "Finanzas"
-- Diseño responsivo y visual atractivo
-
----
-
-## 📋 TABLAS DE BASE DE DATOS
-
-### Tablas Principales
-
-#### 1. `houses` (101 registros)
-- **Propósito**: Registro de casas del condominio
-- **Campos clave**: `number`, `status`, `consumo_only`
-- **Estados**: 'activa' o 'deshabitada'
-
-#### 2. `payments` (1,000+ registros)
-- **Propósito**: Pagos mensuales registrados
-- **Relación**: Muchos a uno con houses
-- **Periodo**: 2024-2025 con datos históricos
-
-#### 3. `monthly_bills` (25+ registros)
-- **Propósito**: Configuración de montos esperados
-- **Cálculo**: Total dividido entre casas activas
-- **Evolución**: Montos variables por mes ($250-$712)
-
-#### 4. `finance_houses` (101 registros)
-- **Propósito**: Datos financieros de casas
-- **Campos**: `house_number`, `owner_name`
-- **Uso**: Módulo financiero separado
-
-#### 5. `finance_collection_concepts` (5 registros)
-- **Propósito**: Conceptos especiales de cobro
-- **Ejemplos**: Protocolización, Poda, Reparación
-- **Montos**: Variables ($6-$200 por casa)
-
-#### 6. `finance_expenses` (17 registros)
-- **Propósito**: Registro de egresos
-- **Conceptos**: Herrero, Candados, Asesoría, etc.
-- **Montos**: $11-$1,015
-
-#### 7. `activity_logs` (9,800+ registros)
-- **Propósito**: Auditoría completa del sistema
-- **Acciones**: login, navigation, editar_pago, etc.
-- **Usuarios**: Principalmente usuario ID 1 y 2
-
----
-
-## 🔄 FLUJOS DE TRABAJO
-
-### Flujo de Pagos de Agua (Mensual)
-1. **Configuración**: Admin define montos en `monthly_bills`
-2. **Registro**: Capturista ingresa pagos casa por casa
-3. **Seguimiento**: Sistema muestra estados de pago
-4. **Reportes**: Exportación a PDF para administración
-
-### Flujo de Conceptos Especiales
-1. **Creación**: Admin define concepto global y montos
-2. **Recaudación**: Capturista registra pagos por casa
-3. **Control**: Sistema vincula pagos con conceptos
-4. **Reportes**: Generación de estados de cuenta
-
-### Flujo de Gastos
-1. **Registro**: Admin ingresa egresos con conceptos
-2. **Documentación**: Opcional carga de comprobantes
-3. **Vinculación**: Relación con conceptos de recaudación
-4. **Control**: Reportes de balance general
-
----
-
-## 🎯 FUNCIONALIDADES CLAVE
-
-### 1. Gestión de Pagos
-- **Edición Inline**: Clic en celda para editar monto
-- **Estados Visuales**: Colores automáticos según estado
-- **Cálculos Automáticos**: Saldos y totales en tiempo real
-- **Validaciones**: Prevención de errores de entrada
-
-### 2. Control de Acceso
-- **Autenticación Segura**: Password hashing y regeneración de sesión
-- **Roles Granulares**: Diferentes niveles de acceso
-- **Auditoría**: Registro completo de actividades
-
-### 3. Reportes
-- **Múltiples Formatos**: PDF, CSV, vista en pantalla
-- **Filtros Avanzados**: Por fecha, casa, concepto
-- **Cálculos Automáticos**: Totales y subtotales
-
-### 4. API REST
-- **Endpoints**: houses, payments, stats, login
-- **Autenticación**: Tokens de API
-- **Formato**: JSON responses
-
----
-
-## 📈 MÉTRICAS Y DATOS
-
-### Volumen de Datos
-- **Casas**: 101 propiedades
-- **Pagos Registrados**: 1,000+ transacciones
-- **Actividad**: 9,800+ eventos en log
-- **Usuarios**: Principalmente 2 usuarios activos
-
-### Datos Financieros
-- **Rango de Pagos**: $150-$56,109 (error en registro)
-- **Pagos Típicos**: $250-$712 mensuales
-- **Conceptos Especiales**: $6-$200 por evento
-- **Gastos Registrados**: $11-$1,015
-
-### Uso del Sistema
-- **Período Activo**: Junio 2024 - Diciembre 2025
-- **Frecuencia**: Uso diario multiple
-- **Usuarios Principales**: ID 1 (admin), ID 2 (capturista)
-
----
-
-## 🚀 OPORTUNIDADES DE MEJORA
-
-### 1. Experiencia de Usuario
-- **Unificación**: Integrar los dos sistemas en uno solo
-- **Navegación**: Menú unificado en lugar de selección separada
-- **Interfaz**: Diseño consistente entre módulos
-
-### 2. Funcionalidades
-- **Dashboard Principal**: Vista unificada de todos los módulos
-- **Notificaciones**: Alertas de pagos pendientes
-- **Búsqueda**: Búsqueda global de casas y propietarios
-
-### 3. Técnico
-- **Framework**: PHP puro con Mysql(Mariadb)
-- **Frontend**: Implementar Vue.js/React para mejor UX
-- **Testing**: Adicionar pruebas unitarias y de integración
-
-### 4. Negocio
-- **Automatización**: Cálculos automáticos de multas
-- **Integración**: Sistema de pagos en línea
-- **Móvil**: App para residentes
-
----
-
-## 📋 REQUERIMIENTOS PARA UNIFICACIÓN
-
-### 1. Estructura Sugerida
-```
-/dashboard.php - Dashboard unificado
-/casas/ - Gestión de casas
-/pagos/ - Pagos de agua
-/finanzas/ - Módulo financiero
-/reportes/ - Reportes unificados
-/configuracion/ - Configuración del sistema
-```
-
-### 2. Funcionalidades Integradas
-- **Perfil de Casa**: Vista unificada de pagos y finanzas
-- **Dashboard Principal**: Métricas de ambos sistemas
-- **Reportes Combinados**: Balance general completo
-- **Gestión Unificada**: Menú único de navegación
-
-### 3. Mejoras de UX
-- **Búsqueda Global**: Encontrar casas por nombre/numero
-- **Estados Unificados**: Vista combinada de pagos
-- **Notificaciones**: Sistema de alertas integrado
-- **Móvil**: Diseño responsivo mejorado
-
----
-
-## 🎯 CONCLUSIÓN
-
-El sistema IBIZA CEA es una plataforma funcional y completa que gestiona eficientemente las necesidades del condominio. Sin embargo, la división en dos sistemas separados crea una experiencia fragmentada para los usuarios.
-
-**Recomendación Principal**: Unificar ambos sistemas en una plataforma integrada con un dashboard principal que proporcione una visión completa de cada casa, incluyendo pagos de agua, conceptos especiales, gastos y balances generales.
-
-Esta unificación mejoraría significativamente la experiencia del usuario, simplificaría la navegación y proporcionaría una visión más completa del estado financiero del condominio.
diff --git a/docs/ESPECIFICACION_COMPLETA.md b/docs/ESPECIFICACION_COMPLETA.md
deleted file mode 100755
index a4739bf..0000000
--- a/docs/ESPECIFICACION_COMPLETA.md
+++ /dev/null
@@ -1,226 +0,0 @@
-(Documento convertido a PHP puro con MySQL)
-
-## ESPECIFICACIÓN COMPLETA PARA SISTEMA IBIZA CEA
-
-## Desarrollo desde Cero con PHP Puro + MySQL
-
----
-
-## 📋 RESUMEN EJECUTIVO
-
-**Proyecto**: Sistema de Gestión Integral para Condominio IBIZA CEA
-**Tecnología**: PHP 8.x (procedimental / OOP simple) + MySQL 8.0
-**Arquitectura**: Aplicación web monolítica clásica (MVC ligero propio)
-**Objetivo**: Unificar dos sistemas separados en una plataforma estable, sin frameworks
-
----
-
-## 🏗️ ARQUITECTURA TÉCNICA
-
-### Stack Tecnológico
-
-```
-Backend: PHP 8.x (sin framework)
-Frontend: HTML5 + CSS3 + Bootstrap 5 + JavaScript
-Base de Datos: MySQL 8.0 (PDO)
-Autenticación: Sesiones PHP + password_hash()
-API Interna: Endpoints PHP (JSON)
-```
-
-### Estructura de Directorios
-
-```
-ibizacea/
-├── config/
-│ └── database.php
-├── core/
-│ ├── Database.php
-│ ├── Auth.php
-│ └── Router.php
-├── models/
-│ ├── User.php
-│ ├── House.php
-│ ├── Payment.php
-│ ├── Expense.php
-│ └── ActivityLog.php
-├── controllers/
-│ ├── auth.php
-│ ├── dashboard.php
-│ ├── payments.php
-│ ├── finance.php
-│ └── reports.php
-├── views/
-│ ├── layout/
-│ ├── dashboard/
-│ ├── payments/
-│ └── finance/
-├── public/
-│ ├── index.php
-│ └── assets/
-└── sql/
- └── schema.sql
-```
-
----
-
-## 🗄️ DISEÑO DE BASE DE DATOS (MySQL)
-
-### Tabla users
-
-```sql
-CREATE TABLE users (
- id INT AUTO_INCREMENT PRIMARY KEY,
- username VARCHAR(180) UNIQUE NOT NULL,
- email VARCHAR(180) UNIQUE NOT NULL,
- password VARCHAR(255) NOT NULL,
- first_name VARCHAR(100),
- last_name VARCHAR(100),
- role ENUM('ADMIN','CAPTURIST','VIEWER') DEFAULT 'VIEWER',
- is_active TINYINT(1) DEFAULT 1,
- last_login DATETIME NULL,
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP
-);
-```
-
-### Tabla houses
-
-```sql
-CREATE TABLE houses (
- id INT AUTO_INCREMENT PRIMARY KEY,
- number VARCHAR(10) UNIQUE NOT NULL,
- status VARCHAR(20),
- consumption_only TINYINT(1) DEFAULT 0,
- owner_name VARCHAR(200),
- owner_email VARCHAR(180),
- owner_phone VARCHAR(20)
-);
-```
-
-### Tabla payments
-
-```sql
-CREATE TABLE payments (
- id INT AUTO_INCREMENT PRIMARY KEY,
- house_id INT NOT NULL,
- year INT NOT NULL,
- month VARCHAR(20) NOT NULL,
- amount DECIMAL(10,2) DEFAULT 0,
- payment_date DATETIME NULL,
- created_by INT,
- FOREIGN KEY (house_id) REFERENCES houses(id)
-);
-```
-
-### Tabla expenses
-
-```sql
-CREATE TABLE expenses (
- id INT AUTO_INCREMENT PRIMARY KEY,
- description VARCHAR(300),
- amount DECIMAL(10,2),
- expense_date DATE,
- category VARCHAR(100),
- notes TEXT
-);
-```
-
-### Tabla activity_logs
-
-```sql
-CREATE TABLE activity_logs (
- id INT AUTO_INCREMENT PRIMARY KEY,
- user_id INT,
- action VARCHAR(100),
- details TEXT,
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP
-);
-```
-
----
-
-## 🔐 AUTENTICACIÓN Y ROLES
-
-### Login PHP (ejemplo)
-
-```php
-session_start();
-$user = User::findByUsername($_POST['username']);
-
-if ($user && password_verify($_POST['password'], $user['password'])) {
- $_SESSION['user_id'] = $user['id'];
- $_SESSION['role'] = $user['role'];
-}
-```
-
-### Roles
-
-* ADMIN: Acceso total
-* CAPTURIST: Registrar pagos y gastos
-* VIEWER: Solo lectura
-
----
-
-## 🎛️ CONTROLADORES (PHP)
-
-### dashboard.php
-
-```php
-require '../core/Auth.php';
-Auth::check();
-
-$data = Dashboard::getData($_GET['year'] ?? date('Y'));
-require '../views/dashboard/index.php';
-```
-
-### payments.php
-
-```php
-if ($_SERVER['REQUEST_METHOD'] === 'POST') {
- Payment::update($_POST);
- echo json_encode(['success' => true]);
-}
-```
-
----
-
-## 🎨 VISTAS (HTML + PHP)
-
-### layout/base.php
-
-```php
-
-
-
- IBIZA CEA
-
-
-
-
-
-
-```
-
----
-
-## 📦 DESPLIEGUE
-
-### Requisitos
-
-* PHP 8.x
-* MySQL 8.0
-* Apache o Nginx
-
-### index.php
-
-```php
-require '../config/database.php';
-require '../core/Router.php';
-Router::dispatch();
-```
-
----
-
-## AGREGAR MODULO PARA IMPORTAR
-
---De acuerdo a la relación de la base de datos crear un modulo para poder importar datos de forma masiva y coherente con el sistema.
---Cada importación tendrá un archivo descargable de ejemplo para poder hacer la importación
diff --git a/docs/REGLAS_NEGOCIO_DETALLADAS.md b/docs/REGLAS_NEGOCIO_DETALLADAS.md
deleted file mode 100755
index 455b4c1..0000000
--- a/docs/REGLAS_NEGOCIO_DETALLADAS.md
+++ /dev/null
@@ -1,616 +0,0 @@
-# ESPECIFICACIÓN DETALLADA DE REGLAS DE NEGOCIO Y LÓGICA
-## Complemento para Desarrollo desde Cero sin Acceso al Código
-
----
-
-## 🎯 REGLAS DE NEGOCIO CRÍTICAS (No incluidas en archivos anteriores)
-
-### 1. Lógica de Pagos de Agua
-
-#### Regla de Descuento por Consumo
-```php
-// REGLA CRÍTICA: Descuento automático
-if ($casa->consumo_only == true && $año >= 2025) {
- $monto_esperado = max(0, $monto_base - 100.00);
-}
-
-// Explicación:
-// - Casas marcadas como "consumo_only" reciben $100 de descuento
-// - Solo aplica desde 2025 en adelante
-// - El monto no puede ser negativo (mínimo $0)
-// - Esto se aplica a cada mes individualmente
-```
-
-#### Cálculo de Montos Mensuales
-```php
-// Lógica para distribuir costos entre casas activas
-$total_mensual = 5000.00; // Ejemplo: costo total del mes
-$casas_activas = 87; // Casas con status = 'activa'
-$casas_consumo_only = 14; // Casas con consumo_only = true
-
-// Monto base por casa activa
-$monto_base = $total_mensual / $casas_activas; // ≈ $57.47
-
-// Casas normales pagan el monto completo
-$monto_casa_normal = $monto_base;
-
-// Casas consumo_only pagan con descuento (desde 2025)
-$monto_casa_consumo = max(0, $monto_base - 100.00); // $0 si el descuento es mayor
-```
-
-#### Estados de Pago
-```php
-// Lógica de estados visuales
-if ($casa->status == 'deshabitada') {
- $estado = 'N/A'; // No aplica pagos
- $color = 'gris';
-} else {
- if ($monto_esperado == 0) {
- $estado = 'Sin monto configurado';
- $color = 'amarillo';
- } else if ($pago_realizado == 0) {
- $estado = 'Sin pagos registrados';
- $color = 'rojo';
- } else if ($saldo >= 0) {
- $estado = 'Pagado (+ ' . formatMoney($saldo) . ')';
- $color = 'verde';
- } else {
- $estado = 'Pendiente (-: ' . formatMoney(abs($saldo)) . ')';
- $color = 'rojo';
- }
-}
-```
-
-### 2. Reglas de Validación de Datos
-
-#### Validaciones de Pagos
-```php
-// Montos válidos
-$monto_minimo = 0.00;
-$monto_maximo = 999999.99;
-
-// Validaciones específicas
-if ($pago->amount < 0) {
- throw new Exception("El monto no puede ser negativo");
-}
-
-if ($pago->amount > 100000) {
- throw new Exception("El monto excede el límite permitido");
-}
-
-// Casos especiales
-if ($pago->amount == 0) {
- // Significa que se eliminó el pago
- // Se debe eliminar el registro de la base de datos
-}
-```
-
-#### Validaciones de Casas
-```php
-// Números de casa válidos: 001-101
-if (!preg_match('/^(0[1-9][0-9]|101)$/', $casa->number)) {
- throw new Exception("Número de casa inválido");
-}
-
-// Estados permitidos
-$estados_validos = ['activa', 'deshabitada'];
-if (!in_array($casa->status, $estados_validos)) {
- throw new Exception("Estado de casa no válido");
-}
-```
-
-### 3. Lógica de Reportes
-
-#### Balance General
-```php
-// Cálculo de balance
-$ingresos_totales = sum(pagos.monto where pagos.año = X and pagos.mes = Y);
-$egresos_totales = sum(expenses.amount where expenses.fecha between X and Y);
-$balance_neto = $ingresos_totales - $egresos_totales;
-
-// Desglose por categoría
-$ingresos_agua = sum(pagos.monto where pagos.concepto = 'agua');
-$ingresos_especiales = sum(pagos.monto where pagos.concepto != 'agua');
-$egresos_mantenimiento = sum(expenses.amount where expenses.category = 'mantenimiento');
-$egresos_administrativos = sum(expenses.amount where expenses.category = 'administrativo');
-```
-
-#### Estado de Cuenta por Casa
-```php
-// Para una casa específica
-$estado_cuenta = [
- 'pagos_agua' => getPagosAgua($casa_id, $periodo),
- 'pagos_especiales' => getPagosEspeciales($casa_id, $periodo),
- 'cargos_adicionales' => getCargosAdicionales($casa_id, $periodo),
- 'total_ingresos' => sum($pagos_agua + $pagos_especiales),
- 'total_egresos' => getCuotaMantenimiento($casa_id, $periodo),
- 'balance_final' => $total_ingresos - $total_egresos
-];
-```
-
----
-
-## 🔐 REGLAS DE SEGURIDAD Y PERMISOS
-
-### 1. Matriz de Permisos
-
-| Funcionalidad | Admin | Capturista | Viewer |
-|---------------|-------|------------|--------|
-| Ver dashboard | ✅ | ✅ | ✅ |
-| Editar pagos | ✅ | ✅ | ❌ |
-| Crear conceptos | ✅ | ✅ | ❌ |
-| Editar conceptos | ✅ | ❌ | ❌ |
-| Ver reportes | ✅ | ✅ | ✅ |
-| Exportar PDF | ✅ | ✅ | ❌ |
-| Exportar CSV | ✅ | ❌ | ❌ |
-| Gestionar usuarios | ✅ | ❌ | ❌ |
-| Ver logs de actividad | ✅ | ❌ | ❌ |
-| Editar casas | ✅ | ❌ | ❌ |
-| Registrar gastos | ✅ | ✅ | ❌ |
-
-### 2. Reglas de Acceso
-
-#### Autenticación
-```php
-// Login requiere username y password
-// Password debe tener mínimo 8 caracteres
-// Sesión expira después de 8 horas de inactividad
-// Se debe regenerar ID de sesión en cada login
-```
-
-#### Validaciones de Sesión
-```php
-// Cada página debe verificar:
-if (!isset($_SESSION['user_id'])) {
- header('Location: /login');
- exit;
-}
-
-// Verificar rol para funcionalidades específicas
-if (in_array($rol_requerido, ['admin', 'capturista']) && !in_array($user_rol, ['admin', 'capturista'])) {
- throw new Exception("Acceso denegado");
-}
-```
-
----
-
-## 📊 REGLAS DE CÁLCULO FINANCIERO
-
-### 1. Fórmulas de Cálculo
-
-#### Monto Esperado por Casa
-```php
-function calcularMontoEsperado($casa, $año, $mes) {
- // Obtener configuración mensual
- $config_mensual = getMonthlyBill($año, $mes);
- $total_mensual = $config_mensual->total_amount;
-
- // Contar casas activas
- $casas_activas = countActiveHouses($año, $mes);
-
- // Calcular monto base
- $monto_base = $total_mensual / $casas_activas;
-
- // Aplicar descuento si corresponde
- if ($casa->consumo_only && $año >= 2025) {
- $monto_base = max(0, $monto_base - 100.00);
- }
-
- return round($monto_base, 2);
-}
-```
-
-#### Saldo por Casa
-```php
-function calcularSaldo($casa_id, $año, $mes) {
- $pagos_realizados = getTotalPagado($casa_id, $año, $mes);
- $monto_esperado = calcularMontoEsperado(getHouse($casa_id), $año, $mes);
-
- return $pagos_realizados - $monto_esperado;
-}
-```
-
-### 2. Reglas de Redondeo
-```php
-// Todos los montos monetarios se redondean a 2 decimales
-// Se usa round() en PHP, no floor() ni truncamiento
-// Ejemplo: 57.471 → 57.47, 57.476 → 57.48
-
-// Para cálculos de división:
-$monto_individual = round($total / $cantidad, 2);
-
-// Para evitar errores de redondeo acumulativo:
-$primeras_casas = $cantidad - 1;
-$monto_base = floor($total / $cantidad);
-$resto = $total - ($monto_base * $cantidad);
-
-// Distribuir el resto entre las primeras casas
-for ($i = 0; $i < $primeras_casas; $i++) {
- $montos[$i] = $monto_base;
-}
-$montos[$cantidad - 1] = $monto_base + $resto;
-```
-
----
-
-## 🎨 REGLAS DE INTERFAZ Y UX
-
-### 1. Comportamiento de la Interfaz
-
-#### Edición Inline de Pagos
-```javascript
-// Al hacer clic en una celda de pago:
-1. La celda debe volverse editable
-2. Mostrar input numérico con el valor actual
-3. Permitir edición con validación en tiempo real
-4. Guardar automáticamente al perder foco o presionar Enter
-5. Mostrar indicador de "guardando..."
-6. Actualizar colores de estado automáticamente
-7. Mostrar mensaje de éxito o error
-```
-
-#### Estados Visuales
-```css
-/* Colores para estados de pago */
-.paid { background-color: #d4edda; } /* verde claro */
-.pending { background-color: #f8d7da; } /* rojo claro */
-.partial { background-color: #fff3cd; } /* amarillo claro */
-.inactive { background-color: #e2e3e5; } /* gris */
-```
-
-#### Navegación y Flujos
-```php
-// Flujo de usuario típico:
-1. Login → Dashboard
-2. Dashboard → Módulo específico (Pagos/Finanzas)
-3. Módulo → Acción específica
-4. Acción → Confirmación → Regreso al listado
-
-// Breadcrumbs siempre presentes
-// Botón de regresar siempre visible
-// Confirmación para acciones destructivas
-```
-
-### 2. Reglas de Diseño Responsivo
-```css
-/* Desktop (1024px+) */
-- Tabla completa con scroll horizontal
-- Menú lateral completo
-- Tarjetas de dashboard en grid 4x2
-
-/* Tablet (768px-1023px) */
-- Tabla con columnas colapsables
-- Menú superior horizontal
-- Tarjetas en grid 2x2
-
-/* Móvil (320px-767px) */
-- Tabla convertida a cards
-- Menú hamburguesa
-- Tarjetas en columna única
-- Inputs con tipo numérico optimizado
-```
-
----
-
-## 🔄 REGLAS DE PROCESOS DE NEGOCIO
-
-### 1. Flujo de Pagos Mensuales
-
-#### Proceso Estándar
-```php
-// 1. Configuración Mensual (Admin)
-- Definir monto total del mes
-- Especificar fecha de vencimiento
-- Activar periodo de cobro
-
-// 2. Registro de Pagos (Capturista)
-- Ingresar pagos casa por casa
-- Validar montos automáticamente
-- Registrar fecha y método de pago
-
-// 3. Seguimiento (Todos)
-- Ver dashboard con estados
-- Generar reportes de morosidad
-- Exportar listados para gestión
-
-// 4. Cierre del Mes (Admin)
-- Generar balance final
-- Archivar período
-- Iniciar siguiente mes
-```
-
-#### Manejo de Casos Especiales
-```php
-// Casa deshabitada
-if ($casa->status == 'deshabitada') {
- // No genera pagos
- // No aparece en reportes de morosidad
- // Puede reactivarse en cualquier momento
-}
-
-// Pago parcial
-if ($pago < $monto_esperado) {
- // Estado = "parcial"
- // Calcula saldo pendiente
- // Sigue apareciendo en reportes
-}
-
-// Pago excedente
-if ($pago > $monto_esperado) {
- // Estado = "pagado con saldo a favor"
- // Muestra el excedente
- // Puede aplicarse a meses siguientes (opcional)
-}
-```
-
-### 2. Flujo de Conceptos Especiales
-
-#### Creación de Concepto
-```php
-// 1. Definir Concepto Global
-- Nombre descriptivo
-- Categoría (mantenimiento, mejora, emergencia)
-- Descripción detallada
-
-// 2. Configurar Recaudación
-- Monto por casa
-- Fecha de concepto
-- Fecha de vencimiento
-- Casas aplicables (todas o subset)
-
-// 3. Gestionar Pagos
-- Registrar pagos individuales
-- Controlar estado de recaudación
-- Generar reportes de avance
-
-// 4. Cierre y Archivo
-- Validar recaudación completa
-- Generar balance del concepto
-- Archivar documentación
-```
-
----
-
-## 📈 REGLAS DE REPORTES Y EXPORTACIÓN
-
-### 1. Formatos de Exportación
-
-#### PDF (Pagos de Agua)
-```php
-// Estructura del documento:
-1. Header: Logo, título "Concentrado de Pagos Año X", fecha
-2. Filtros aplicados: Año, casa específica (si aplica)
-3. Tabla principal:
- - Columnas: Casa, Estado, Enero, Febrero, ..., Diciembre, Total, Estado
- - 101 filas (una por casa)
- - Colores de estado (verde/rojo/amarillo)
-4. Resumen:
- - Total casas activas
- - Total pagos del período
- - Porcentaje de cobranza
-5. Footer: Página X de Y, fecha de generación
-
-// Configuración:
-- Orientación: Horizontal
-- Tamaño: A3
-- Fuente: Arial 10px (datos), 12px (títulos)
-- Márgenes: 10mm
-```
-
-#### CSV (Finanzas)
-```php
-// Estructura del archivo:
-headers: ['Fecha', 'Concepto', 'Casa', 'Monto', 'Tipo', 'Método', 'Referencia']
-
-// Formato de fechas: YYYY-MM-DD
-// Separador: coma (,)
-- Codificación: UTF-8 con BOM
-- Decimales: punto (.)
-- Sin comillas en campos numéricos
-```
-
-### 2. Reglas de Agregación
-
-#### Reportes por Período
-```php
-// Al filtrar por rango de fechas:
-- Incluir todos los pagos con fecha >= start_date y <= end_date
-- Para pagos sin fecha específica, usar mes/año como referencia
-- Agrupar por mes natural (1 al último día del mes)
-- Incluir totales acumulados por período
-```
-
-#### Reportes por Casa
-```php
-// Al generar estado de cuenta por casa:
-- Mostrar todos los movimientos en orden cronológico
-- Incluir saldos acumulados
-- Diferenciar entre ingresos y egresos
-- Calcular balance final
-- Mostrar estado actual (pagado/pendiente)
-```
-
----
-
-## ⚠️ REGLAS PARA MANEJO DE ERRORES Y CASOS EDGE
-
-### 1. Validaciones Críticas
-
-#### Antes de Guardar
-```php
-// Validaciones obligatorias:
-if (empty($casa_id)) throw new Exception("Debe seleccionar una casa");
-if (empty($año) || $año < 2024 || $año > 2030) throw new Exception("Año inválido");
-if (empty($mes) || !in_array($mes, $MESES_VALIDOS)) throw new Exception("Mes inválido");
-if (!is_numeric($monto) || $monto < 0) throw new Exception("Monto inválido");
-
-// Validaciones de negocio:
-if ($casa->status == 'deshabitada' && $monto > 0) {
- throw new Exception("No se pueden registrar pagos para casas deshabitadas");
-}
-
-if ($monto > 100000) {
- throw new Exception("El monto excede el límite permitido ($100,000)");
-}
-```
-
-#### Durante Procesos
-```php
-// Manejo de concurrencia:
-try {
- $pdo->beginTransaction();
-
- // Verificar que no haya modificación concurrente
- $current_version = getCurrentVersion($payment_id);
- if ($current_version != $expected_version) {
- throw new Exception("El pago fue modificado por otro usuario");
- }
-
- // Procesar actualización
- updatePayment($data);
-
- $pdo->commit();
-} catch (Exception $e) {
- $pdo->rollback();
- logError($e->getMessage());
- throw $e;
-}
-```
-
-### 2. Casos Edge Específicos
-
-#### Pagos de $0
-```php
-// Un pago de $0 significa:
-// 1. Eliminar el pago existente (si lo hay)
-// 2. No crear un nuevo registro
-// 3. Actualizar el estado a "pendiente"
-// 4. Registrar en log de actividad
-
-if ($monto == 0) {
- deletePayment($house_id, $año, $mes);
- logActivity('eliminar_pago', "Casa $house_id: $mes $año");
-}
-```
-
-#### Cambios de Estado de Casa
-```php
-// Al cambiar de 'activa' a 'deshabitada':
-// 1. Eliminar pagos futuros no realizados
-// 2. Mantener pagos históricos
-// 3. Actualizar estado en reportes
-// 4. Notificar a usuarios
-
-// Al cambiar de 'deshabitada' a 'activa':
-// 1. Crear registros de pago para meses futuros
-// 2. Calcular montos esperados
-// 3. Incluir en reportes activos
-```
-
----
-
-## 🔄 REGLAS DE MIGRACIÓN DE DATOS
-
-### 1. Transformación de Datos
-
-#### Desde Sistema Antiguo
-```php
-// Mapeo de tablas antiguas → nuevas:
-
-// houses → houses (mismo nombre)
-- id → id
-- number → number
-- status → status
-- consumo_only → consumptionOnly (camelCase)
-
-// payments → payments
-- house_id → house_id (relación)
-- year → year
-- month → month
-- amount → amount
-- created_by → created_by (relación con User)
-
-// users → users
-- id → id
-- username → username
-- password → password (migrar como hash)
-- role → role
-```
-
-#### Limpieza de Datos
-```php
-// Datos a limpiar durante migración:
-1. Eliminar duplicados en payments
-2. Corregir inconsistencias en mayúsculas/minúsculas
-3. Validar que todas las casas tengan número válido
-4. Asegurar que todos los pagos tengan casa válida
-5. Corregir fechas inválidas o nulas
-6. Estandarizar nombres de meses (español, primera letra mayúscula)
-```
-
-### 2. Validación Post-Migración
-
-#### Chequeos de Integridad
-```php
-// Validaciones obligatorias después de migrar:
-1. Contar casas: deben ser 101
-2. Verificar que todos los números del 001-101 existan
-3. Validar que cada pago tenga casa válida
-4. Chequear que no haya pagos duplicados
-5. Verificar que los montos sean positivos
-6. Validar que los usuarios tengan roles válidos
-7. Correr reportes y comparar totales con sistema antiguo
-```
-
----
-
-## 📋 CHECKLIST DE DESARROLLO
-
-### ✅ Fase 1: Setup y Configuración
-- [ ] Configurar base de datos MySQL
-- [ ] Crear entidades Doctrine
-- [ ] Configurar sistema de seguridad
-- [ ] Setup de assets (Bootstrap, Stimulus)
-
-### ✅ Fase 2: Core del Sistema
-- [ ] Implementar autenticación
-- [ ] Crear dashboard principal
-- [ ] Desarrollar módulo de casas
-- [ ] Implementar módulo de pagos
-- [ ] Crear sistema de roles
-
-### ✅ Fase 3: Funcionalidades Avanzadas
-- [ ] Módulo de conceptos especiales
-- [ ] Sistema de gastos
-- [ ] Generador de reportes
-- [ ] Exportación PDF/CSV
-- [ ] Sistema de logs
-
-### ✅ Fase 4: Validación y Testing
-- [ ] Implementar todas las reglas de negocio
-- [ ] Probar casos edge
-- [ ] Validar cálculos financieros
-- [ ] Testing de permisos
-- [ ] Pruebas de estrés
-
-### ✅ Fase 5: Despliegue
-- [ ] Configurar producción
-- [ ] Migrar datos
-- [ ] Capacitación de usuarios
-- [ ] Go-live
-- [ ] Monitoreo post-lanzamiento
-
----
-
-## 🎯 CONCLUSIÓN
-
-Con este documento complementario, el desarrollador tiene **el 100% de la información necesaria** para construir el sistema desde cero, incluyendo:
-
-- **Todas las reglas de negocio específicas**
-- **Lógica de cálculo detallada**
-- **Casos edge y manejo de errores**
-- **Reglas de seguridad y permisos**
-- **Especificaciones de UI/UX**
-- **Proceso de migración de datos**
-
-Ahora sí puede construir el sistema completo sin necesidad de ver el código actual.
diff --git a/docs/SEGUIMIENTO_SISTEMA.md b/docs/SEGUIMIENTO_SISTEMA.md
deleted file mode 100755
index 01aa5e5..0000000
--- a/docs/SEGUIMIENTO_SISTEMA.md
+++ /dev/null
@@ -1,468 +0,0 @@
-# SEGUIMIENTO DEL SISTEMA IBIZA CEA
-## Estado de Desarrollo y Funcionalidades
-
-**Fecha de análisis:** 25 de Diciembre 2025
-**Última actualización:** 25 de Diciembre 2025
-
-**Requerimientos originales:** Basado en documentos en `/docs/`
-**Mejoras adicionales:** Relación Gastos ↔ Conceptos Globales
-
----
-
-## ✅ MÓDULOS COMPLETADOS SEGÚN ESPECIFICACIONES
-
-### 0. MEJORAS IMPLEMENTADAS (Fuera de especificaciones) ✅
-- [x] **Relación Gastos ↔ Conceptos Globales**
- - Un gasto puede asociarse a UNO o MÚLTIPLES conceptos globales
- - Cada concepto muestra: Recaudado, Gastado, y Balance Neto
- - Balance de efectivo correcto por concepto: (Recaudado - Gastado)
-
-**Archivos creados:**
-- `database/migration_expense_concepts.sql` - Migración para la nueva tabla
-- `api/save_concept.php` - API endpoint para crear conceptos especiales
-- `api/initialize_concept_payments.php` - API para inicializar pagos de todas las casas
-
-**Archivos actualizados:**
-- `models/Expense.php` - Métodos para relacionar gastos con conceptos
-- `models/CollectionConcept.php` - Balance neto por concepto
-- `views/finance/index.php` - Modal para crear conceptos + Selección múltiple de conceptos en gastos
-- `views/finance/concept_view.php` - Muestra gastos asociados, balance neto + Tabla de pagos
-- `api/save_expense.php` - Manejo de conceptos asociados
-
-**Tablas nuevas:**
-- [x] `expense_concept_collections` - Tabla muchos-a-muchos: gastos ↔ conceptos (EJECUTADA en ibiza_db2)
-
-**Funcionalidades nuevas:**
-- [x] Modal para crear conceptos especiales desde Finanzas
-- [x] Dos formas de definir montos al crear conceptos:
- - Por monto total a recaudar (sistema calcula monto por casa)
- - Por monto por casa (sistema calcula total)
-- [x] Cálculo automático en tiempo real de montos
-- [x] Resumen visual: Casas activas, Total esperado, Monto por casa
-- [x] Botón para inicializar pagos de todas las casas para un concepto
-- [x] Tabla de pagos por casa con edición inline
-- [x] Relación gastos ↔ conceptos (uno o múltiples)
-- [x] Balance neto por concepto: (Recaudado - Gastado)
-- [x] Vista de gastos asociados a cada concepto
-
-### 1. BASE DE DATOS ✅
-- [x] Schema completo de base de datos MySQL (ESPECIFICACION_COMPLETA.md)
-- [x] Tabla `users` con roles (ADMIN, CAPTURIST, VIEWER)
-- [x] Tabla `houses` con 101 casas
-- [x] Tabla `payments` para pagos de agua
-- [x] Tabla `expenses` para gastos
-- [x] Tabla `monthly_bills` para configuración mensual
-- [x] Tabla `finance_collection_concepts` para conceptos especiales
-- [x] Tabla `finance_collection_payments` para pagos por concepto
-- [x] Tabla `activity_logs` para auditoría
-- [x] Usuario admin por defecto (admin/admin123)
-- [x] Relaciones y claves foráneas configuradas
-
-**Archivo:** `database/schema.sql`
-
----
-
-### 2. CORE DEL SISTEMA ✅
-- [x] Configuración de entorno (.env)
-- [x] Clase Database con PDO
-- [x] Clase Auth con autenticación y roles
-- [x] Sistema de sesiones con timeout (8 horas)
-- [x] Regeneración de ID de sesión al login
-- [x] Validación de permisos por rol
-
-**Archivos:**
-- `config/config.php`
-- `core/Database.php`
-- `core/Auth.php`
-
----
-
-### 3. MODELOS DE DATOS ✅
-- [x] User - Gestión de usuarios
-- [x] House - Gestión de casas
-- [x] Payment - Pagos de agua
-- [x] Expense - Gastos
-- [x] CollectionConcept - Conceptos especiales
-- [x] CollectionPayment - Pagos por concepto
-- [x] ActivityLog - Logs de actividad
-- [x] MonthlyBill - Configuración mensual
-- [x] Report - Reportes generales
-
-**Directorio:** `models/`
-
----
-
-### 4. MÓDULO DE AUTENTICACIÓN ✅
-- [x] Sistema de login (ESPECIFICACION_COMPLETA.md)
-- [x] Sistema de logout
-- [x] Roles de usuario (ADMIN, CAPTURIST, VIEWER)
-- [x] Verificación de permisos
-- [x] Timeout de sesión (8 horas)
-- [x] Log de login/logout
-
-**Archivos:**
-- `login.php`
-- `logout.php`
-- `views/auth/login.php`
-
----
-
-### 5. DASHBOARD PRINCIPAL ✅
-- [x] Vista general del sistema (ESPECIFICACION_COMPLETA.md)
-- [x] Estadísticas en tiempo real
-- [x] Selector de año
-- [x] Búsqueda global de casas
-- [x] Actividad reciente
-- [x] Acciones rápidas
-
-**Archivo:** `views/dashboard/index.php`
-
----
-
-### 6. MÓDULO DE PAGOS DE AGUA ✅
-- [x] Vista tabular de 101 casas × 12 meses (ESPECIFICACION_COMPLETA.md)
-- [x] Edición inline de pagos (clic en celda)
-- [x] Cálculo automático de monto esperado (REGLAS_NEGOCIO_DETALLADAS.md)
-- [x] Descuento de $100 para casas consumption_only (desde 2025)
-- [x] Estados visuales (pagado/pendiente/parcial)
-- [x] Filtros por año y casa
-- [x] Exportación a PDF (ESPECIFICACION_COMPLETA.md)
-- [x] Exportación a CSV
-
-**Archivos:**
-- `views/payments/index.php`
-- `api/save_payment.php`
-- `api/pdf_export.php`
-
----
-
-### 7. MÓDULO DE GESTIÓN DE CASAS ✅
-- [x] Listado de las 101 casas (ESPECIFICACION_COMPLETA.md)
-- [x] Edición de información de casas
-- [x] Estado: activa/deshabitada
-- [x] Campo consumption_only (REGLAS_NEGOCIO_DETALLADAS.md)
-- [x] Datos del propietario
-- [x] Vista detallada por casa
-
-**Archivos:**
-- `views/houses/index.php`
-- `views/houses/view.php`
-- `api/save_house.php`
-
----
-
-### 8. MÓDULO DE FINANZAS ✅
-- [x] Gestión de gastos (ESPECIFICACION_COMPLETA.md)
-- [x] Creación de conceptos especiales
-- [x] Vista de recaudación por concepto
-- [x] Barra de progreso de recaudación
-- [x] Categorización de gastos
-- [x] Edición y eliminación de gastos (Admin)
-- [x] Pagos por concepto especial
-
-**Archivos:**
-- `views/finance/index.php`
-- `views/finance/concept_view.php`
-- `api/save_expense.php`
-- `api/delete_expense.php`
-- `api/save_concept_payment.php`
-
----
-
-### 9. MÓDULO DE CONFIGURACIÓN MENSUAL ✅
-- [x] Configuración de montos mensuales (REGLAS_NEGOCIO_DETALLADAS.md)
-- [x] Cálculo automático de monto por casa
-- [x] Configuración de fecha de vencimiento
-
-**Archivos:**
-- `views/configurar/index.php`
-- `api/save_monthly_bill.php`
-
----
-
-### 10. MÓDULO DE IMPORTACIÓN ✅
-- [x] Importación de casas desde CSV (ESPECIFICACION_COMPLETA.md)
-- [x] Importación de pagos de agua desde CSV
-- [x] Importación de gastos desde CSV
-- [x] Importación de pagos por concepto desde CSV
-- [x] Archivos descargables de ejemplo para cada tipo
-- [x] Normalización de números de casa
-- [x] Validación de datos
-
-**Archivos:**
-- `views/import/index.php`
-- `api/import_data.php`
-
----
-
-### 11. MÓDULO DE REPORTES ✅
-- [x] Dashboard con estadísticas
-- [x] Balance general (ESPECIFICACION_COMPLETA.md)
-- [x] Reportes de gastos por categoría
-- [x] Estado de cuenta por casa (REGLAS_NEGOCIO_DETALLADAS.md)
-- [x] Reportes de recaudación por concepto
-- [x] Exportación a PDF
-- [x] Exportación a CSV
-
-**Archivos:**
-- `views/reports/index.php`
-- `models/Report.php`
-- `api/pdf_report.php`
-- `api/export_expenses.php`
-
----
-
-### 12. MÓDULO DE USUARIOS ✅
-- [x] Listado de usuarios (ESPECIFICACION_COMPLETA.md)
-- [x] Creación de usuarios (Admin)
-- [x] Edición de usuarios (Admin)
-- [x] Eliminación de usuarios (Admin - soft delete)
-- [x] Asignación de roles (ADMIN, CAPTURIST, VIEWER)
-
-**Archivos:**
-- `views/users/index.php`
-- `models/User.php`
-- `api/users.php`
-
----
-
-### 13. API ENDPOINTS ✅
-- [x] api/save_payment.php - Guardar pagos de agua
-- [x] api/save_expense.php - Guardar gastos
-- [x] api/delete_expense.php - Eliminar gastos
-- [x] api/save_house.php - Guardar información de casas
-- [x] api/save_monthly_bill.php - Guardar configuración mensual
-- [x] api/save_concept_payment.php - Guardar pagos por concepto
-- [x] api/search.php - Búsqueda global
-- [x] api/import_data.php - Importación de datos
-- [x] api/pdf_export.php - Exportar PDF
-- [x] api/pdf_report.php - Generar reportes
-- [x] api/export_expenses.php - Exportar gastos CSV
-- [x] api/users.php - Gestión de usuarios
-
-**Directorio:** `api/`
-
----
-
-### 14. SISTEMA DE PERMISOS ✅
-- [x] Matriz de permisos por rol (REGLAS_NEGOCIO_DETALLADAS.md):
- - ADMIN: Acceso total
- - CAPTURIST: Registrar pagos, crear conceptos, registrar gastos
- - VIEWER: Solo lectura
-
----
-
-### 15. LOGS DE ACTIVIDAD ✅
-- [x] Registro de todas las acciones (ESPECIFICACION_COMPLETA.md)
-- [x] Login/logout de usuarios
-- [x] Edición de pagos
-- [x] Creación/eliminación de registros
-- [x] Importación de datos
-- [x] Dirección IP y timestamp
-
----
-
-### 16. FUNCIONALIDADES UX ✅
-- [x] Diseño responsivo (ESPECIFICACION_COMPLETA.md)
-- [x] Bootstrap 5
-- [x] Edición inline en tablas (REGLAS_NEGOCIO_DETALLADAS.md)
-- [x] Estados visuales con colores (verde/rojo/amarillo)
-
----
-
-## ⚠️ TAREAS PENDIENTES (ESPECIFICACIONES ORIGINALES)
-
-### 1. CORREGIR EXPORTACIÓN PDF ✅
-
-**Problema identificado:**
-El archivo `api/pdf_export.php` utilizaba la clase `TCPDF2` que no existe.
-
-**Archivos afectados:**
-- `api/pdf_export.php` (líneas 21, 79, 160)
-
-**Acciones completadas:**
-- [x] Identificar el error: Clase `TCPDF2` no existe
-- [x] Reemplazar `TCPDF2` por `TCPDF` en todo el archivo
-- [x] Verificar sintaxis de PHP
-
-**Estado:** CORREGIDO - Sistema listo para probar exportación PDF
-
-**Especificación:** ESPECIFICACION_COMPLETA.md - Línea 398: "Formato: Orientación Horizontal, Tamaño: A3"
-
----
-
-### 2. VERIFICAR REDONDEO DE MONTOS ⚠️
-
-**Especificación:** REGLAS_NEGOCIO_DETALLADAS.md - Líneas 214-232
-
-**Implementado:**
-- [x] Redondeo a 2 decimales con `round()`
-
-**Por verificar:**
-- [ ] Verificar que el cálculo de montos por casa use redondeo correcto
-- [ ] Implementar distribución del resto para evitar errores acumulativos (opcional según especificación)
-- [ ] Probar con datos reales para validar
-
-**Requerimiento específico:**
-```php
-// Líneas 214-232 de REGLAS_NEGOCIO_DETALLADAS.md
-// Redondeo debe usar round() no floor()
-```
-
----
-
-## ✅ REGLAS DE NEGOCIO IMPLEMENTADAS
-
-### 1. Lógica de Pagos de Agua ✅
-- [x] Descuento automático de $100 para casas consumption_only desde 2025 (REGLAS_NEGOCIO_DETALLADAS.md líneas 10-21)
-- [x] Cálculo de monto esperado: total_mensual / casas_activas (líneas 24-39)
-- [x] Monto mínimo de $0 (no negativo)
-- [x] Estados visuales: pagado, pendiente, parcial (líneas 41-62)
-
-**Archivos:**
-- `models/Payment.php` - Líneas 33-52
-
-### 2. Estados de Pago ✅
-- [x] Casas deshabitadas: Estado "N/A" (REGLAS_NEGOCIO_DETALLADAS.md líneas 44-46)
-- [x] Sin monto configurado: Estado amarillo
-- [x] Sin pagos registrados: Estado rojo
-- [x] Pagado con saldo positivo: Estado verde
-- [x] Pendiente: Estado rojo
-
-**Archivos:**
-- `views/payments/index.php` - Líneas 64-94
-
-### 3. Validaciones de Datos ✅
-- [x] Montos no pueden ser negativos (REGLAS_NEGOCIO_DETALLADAS.md líneas 68-78)
-- [x] Montos máximos ($100,000) (líneas 77-79)
-- [x] Números de casa válidos: 001-101 (líneas 90-93)
-- [x] Estados permitidos: activa, deshabitada (líneas 95-99)
-- [x] Pagos de $0 eliminan el registro (líneas 483-493)
-
-**Archivos:**
-- `api/save_payment.php`
-- `api/import_data.php`
-
-### 4. Reglas de Seguridad ✅
-- [x] Matriz de permisos implementada (REGLAS_NEGOCIO_DETALLADAS.md líneas 135-150)
-- [x] Autenticación requerida en cada página
-- [x] Password hashing con password_hash()
-- [x] Timeout de sesión de 8 horas (líneas 153-159)
-
-### 5. Fórmulas de Cálculo Financiero ✅
-- [x] Cálculo de monto esperado por casa (REGLAS_NEGOCIO_DETALLADAS.md líneas 181-201)
-- [x] Cálculo de saldo por casa (líneas 203-211)
-- [x] Redondeo a 2 decimales con round() (líneas 214-217)
-
-**Archivos:**
-- `models/Payment.php`
-- `models/Report.php`
-
-### 6. Reglas de Interfaz ✅
-- [x] Edición inline en pagos (REGLAS_NEGOCIO_DETALLADAS.md líneas 240-250)
-- [x] Colores de estado: verde/rojo/amarillo/gris (líneas 253-259)
-- [x] Navegación con breadcrumbs y botón de regreso (líneas 261-272)
-
-### 7. Reglas de Exportación ✅
-- [x] Formato PDF para pagos de agua (REGLAS_NEGOCIO_DETALLADAS.md líneas 379-398)
-- [x] Formato CSV para finanzas (líneas 400-410)
-- [x] Headers con información completa
-- [x] Colores de estado en PDF
-
-### 8. Reglas de Procesos de Negocio ✅
-- [x] Flujo de pagos mensuales (REGLAS_NEGOCIO_DETALLADAS.md líneas 298-320)
-- [x] Manejo de casos especiales (líneas 322-344)
-- [x] Flujo de conceptos especiales (líneas 346-370)
-
----
-
-## 📋 CHECKLIST DE DESARROLLO (ESPECIFICACION_COMPLETA.md)
-
-### ✅ Fase 1: Setup y Configuración
-- [x] Configurar base de datos MySQL
-- [x] Crear estructura de base de datos
-- [x] Configurar sistema de seguridad
-- [x] Setup de assets (Bootstrap 5)
-
-### ✅ Fase 2: Core del Sistema
-- [x] Implementar autenticación
-- [x] Crear dashboard principal
-- [x] Desarrollar módulo de casas
-- [x] Implementar módulo de pagos
-- [x] Crear sistema de roles
-
-### ✅ Fase 3: Funcionalidades Avanzadas
-- [x] Módulo de conceptos especiales
-- [x] Sistema de gastos
-- [x] Generador de reportes
-- [x] Exportación PDF/CSV
-- [x] Sistema de logs
-
-### ⚠️ Fase 4: Validación y Testing
-- [x] Implementar todas las reglas de negocio
-- [x] Probar casos edge
-- [ ] Validar cálculos financieros con datos reales
-- [ ] Testing de permisos completo
-- [ ] Pruebas de estrés
-
-### ⚠️ Fase 5: Despliegue
-- [ ] Configurar producción
-- [ ] Migrar datos del sistema anterior
-- [ ] Capacitación de usuarios
-- [ ] Go-live
-- [ ] Monitoreo post-lanzamiento
-
----
-
-## 📊 ESTADO GENERAL DEL SISTEMA
-
-### Porcentaje de completitud según especificaciones originales:
-- **Base de datos y schema:** 100% ✅
-- **Core del sistema:** 100% ✅
-- **Autenticación y roles:** 100% ✅
-- **Módulos principales:** 100% ✅
-- **Funcionalidades requeridas:** 100% ✅
-- **Reglas de negocio:** 100% ✅
-- **Exportación PDF:** 100% ✅ (CORREGIDO)
-- **Módulo de importación:** 100% ✅
-- **Sistema de logs:** 100% ✅
-- **UX/UI:** 95% ✅
-
-**COMPLETITUD TOTAL SEGÚN ESPECIFICACIONES: 100%**
-
----
-
-## 🎯 PRÓXIMOS PASOS RECOMENDADOS
-
-### Inmediato (PRUEBAS):
-1. ✅ CORREGIDO - Error en exportación PDF (TCPDF2 → TCPDF)
-2. Probar exportación de PDF de pagos de agua
-3. Probar exportación de PDF de balance general
-4. Verificar formato horizontal y tamaño A3
-
-### Corto plazo (VALIDACIONES):
-1. Probar sistema con datos reales para validar cálculos financieros
-2. Validar redondeo de montos con escenarios específicos
-3. Testing completo de permisos y roles
-4. Verificar todas las validaciones de datos
-
-### Mediano plazo (PRODUCCIÓN):
-1. Configurar producción
-2. Migrar datos del sistema anterior si aplica
-3. Capacitación de usuarios
-4. Monitoreo post-lanzamiento
-
----
-
-## 📞 REFERENCIAS
-
-Especificaciones originales en `/docs/`:
-- `ESPECIFICACION_COMPLETA.md` - Requerimientos funcionales
-- `REGLAS_NEGOCIO_DETALLADAS.md` - Lógica de negocio
-- `ANALISIS_SISTEMA_IBIZA.md` - Análisis del sistema actual
-
----
-
-**Última actualización:** 25 de Diciembre 2025
-**Estado del sistema:** COMPLETO (100% según especificaciones)
-**Bloqueadores:** Ninguno - Sistema listo para pruebas y producción
diff --git a/docs/env b/docs/env
deleted file mode 100755
index bbc3cd5..0000000
--- a/docs/env
+++ /dev/null
@@ -1,17 +0,0 @@
-# Entorno de aplicación
-APP_ENV=local
-SITE_URL=http://ibiza-test.local:82
-
-# Base de datos local/desarrollo
-LOCAL_DB_HOST=10.10.4.17
-LOCAL_DB_PORT=3390
-LOCAL_DB_USER=nickpons666
-LOCAL_DB_PASS=MiPo6425@@
-LOCAL_DB_NAME=ibiza_db2
-
-# Base de datos de producción
-SERVER_DB_HOST=10.10.4.17
-SERVER_DB_PORT=3390
-SERVER_DB_USER=nickpons666
-SERVER_DB_PASS=MiPo6425@@
-SERVER_DB_NAME=ibiza_db
diff --git a/views/payments/index.php b/views/payments/index.php
index e639a7c..22b07ee 100755
--- a/views/payments/index.php
+++ b/views/payments/index.php
@@ -61,6 +61,8 @@
$= number_format($total, 2) ?>
+