# SIHO PMS Master — Auditoría y corrección de zona horaria

## Política oficial

La zona horaria ya no se fija dentro de controladores, exportaciones o vistas. La única fuente de verdad es:

- `.env`: `APP_TIMEZONE`
- `config/app.php`: `env('APP_TIMEZONE', 'America/Mazatlan')`

Cada instalación creada desde SIHO Central deberá escribir su propia zona IANA. Ejemplos:

- Los Cabos / La Paz: `America/Mazatlan`
- Ciudad de México: `America/Mexico_City`
- Cancún: `America/Cancun`
- Tijuana: `America/Tijuana`

## Correcciones aplicadas

- Eliminadas todas las referencias de primera parte a `America/Lima`.
- Eliminadas zonas horarias codificadas en controladores y exportaciones.
- Eliminados `date_default_timezone_set(...)` en controladores y vistas.
- `Carbon::now(...)` usa ahora `config('app.timezone')`.
- PHP `date()` y `strtotime()` quedan gobernados por la zona configurada por Laravel.
- Agregado `APP_TIMEZONE` a `.env.example`.
- Agregado `DB_TIMEZONE` opcional para la conexión MySQL.
- Agregado reloj de servidor sincronizado (`window.SIHOClock`) en layouts principales.
- Reemplazadas lecturas directas de `new Date()` en vistas operativas por el reloj sincronizado de SIHO.
- Neutralizados ejemplos visibles de direcciones de Lima/Perú.

## Módulos revisados

Reservas, apartaciones, renovaciones, caja, ingresos, egresos, ventas, consumos, inventario, mantenimiento, limpieza, dashboard, reportes diarios/mensuales/rango y exportaciones Excel/PDF.

## Regla de despliegue desde Central

SIHO Central debe exigir `timezone` al crear una instalación y escribirla como `APP_TIMEZONE` en el `.env`. No debe inferirse por el navegador ni quedar fija en el código maestro.

## Validación

- Sin referencias de primera parte a `America/Lima` o `America/Mexico_City`.
- Sintaxis PHP validada en `app/`, `config/app.php` y `config/database.php`.
