# Fase 6 — Panel de super-administrador

## Objetivo
Interfaz (solo para ti) para gestionar colegios, sus credenciales de conexión, los módulos habilitados por colegio, la config interna de cada módulo y las constantes institucionales.

## Dependencias
Fases 1–5 completas.

## Ubicación y acceso
- Carpeta separada `panel_admin/`, fuera del flujo de `admin_alumnos`.
- **Login propio de super-admin**, NO sobre `alumcer`. Tabla nueva en `siscev` (`super_admin`: id, usuario, hash_password con `password_hash`, activo). Sesión separada del portal.
- **Todo el panel con prepared statements** (escribe config; no puede arriesgar inyección).

## Pantallas / funciones

1. **Login** — `password_hash`/`password_verify`. Rate-limit básico.

2. **Listado de colegios** — tabla desde `siscev.colegio` (nombre, dominio_origen, activo). Acciones: editar, activar/desactivar.

3. **Editar colegio** — formulario de credenciales de BD (`db_host`, `db_name`, `db_user`, `db_pass`). Al guardar, **cifrar `db_pass`** antes de persistir. Botón "Probar conexión" que abre la BD del colegio y reporta OK/error sin exponer la contraseña.

4. **Módulos por colegio** — matriz de toggles ON/OFF (`colegio_modulos`). Listar los módulos desde `modulos`. Guardar en lote.

5. **Config interna de módulo** — al expandir un módulo habilitado, formulario con sus claves (catálogo definido en Fase 5) → escribe `colegio_modulo_config`.

6. **Constantes institucionales** — editor de `colegio_config` (los `define()` legacy): nombre, RIF, bancos, director, SMTP, etc. Agrupar por categorías. SMTP/claves: campo tipo password y cifrado al guardar.

7. **Generar enlace de acceso** — utilidad que produce el `?c=` (con `cifrar_tenant(id_colegio)`) para entregar a cada colegio. Mostrar la URL completa `https://micolegio.jesistemas.com.ve/admin_alumnos/login.php?c=<token>`.

## Seguridad
- CSRF token en todos los formularios.
- Toda escritura con prepared statements.
- `db_pass` y claves SMTP cifradas en reposo.
- Acceso al panel restringido (IP allowlist opcional / solo super_admin).

## Criterio de aceptación
- Crear/editar credenciales de un colegio y "Probar conexión" = OK.
- Toggle de un módulo se refleja en el portal del colegio (Fase 5).
- Editar una constante se refleja en el portal sin tocar código.
- "Generar enlace" produce un `?c=` que abre el colegio correcto.
