# Corrección: cálculo manual por fases y ranking oficial

## Problema corregido
La pantalla de pronósticos no habilitaba dieciseisavos cuando existían empates en fase de grupos, porque la validación exigía un ganador incluso en grupos. Eso era incorrecto.

## Nueva lógica
1. En fase de grupos se aceptan empates normales.
2. Al terminar grupos, el usuario presiona **Calcular dieciseisavos**.
3. El sistema calcula, solo para ese usuario:
   - tabla de cada grupo,
   - primeros,
   - segundos,
   - ocho mejores terceros,
   - cruces M73 a M88.
4. En eliminación directa, si el marcador empata, el usuario debe elegir ganador por penales.
5. Luego presiona:
   - Calcular octavos,
   - Calcular cuartos,
   - Calcular semifinales,
   - Calcular final.
6. Al final puede imprimir su pronóstico y enviar definitivamente.

## Puntaje del ranking
Cuando el administrador guarda resultados oficiales, se recalcula todo el ranking:

- 5 puntos: marcador exacto.
- 3 puntos: acierta la tendencia del partido: gana local, empate o gana visitante.
- +2 puntos: desde dieciseisavos, si el resultado terminó empatado y el usuario acertó el ganador por penales.

Además, desde eliminación directa el administrador debe indicar los equipos oficiales del partido para que el sistema compare correctamente contra la llave pronosticada por cada usuario.

## Archivos principales modificados
- routes/web.php
- app/Services/ServicioTorneo.php
- app/Services/ServicioPuntaje.php
- app/Http/Controllers/Usuario/PronosticoController.php
- app/Http/Controllers/Admin/PartidoController.php
- resources/views/usuario/pronosticos.blade.php
- resources/views/usuario/imprimir.blade.php
- resources/views/admin/partidos.blade.php

## Comandos después de copiar
Si ya tiene datos cargados:

```bash
php artisan optimize:clear
php artisan serve
```

Si desea comenzar de cero:

```bash
php artisan migrate:fresh --seed
php artisan optimize:clear
php artisan serve
```
