# Knowledge Base - App CID Flutter

## 1. Struttura dei File
- `global_data.dart`: Contiene le variabili dei conducenti (Lato A e B).
- `config_cid.dart`: Contiene le coordinate millimetriche (X, Y) fisse.
- `pdf_engine.dart`: Logica di generazione del PDF tramite pw.Stack.

## 2. Regole Blindate Coordinate (ConfigCID)
- **Box Somma Sezione 12**: Coordinata Y = 575.0 fissa.
- **Indirizzo Conducente**: Coordinata Y = 575.0 fissa.
- **Font Size**: Base = 8.0, Bold.
- **Sezione 12 (Crocette)**: Y Inizio = 211.0, Passo = 23.5.
- **Sezione 13 (Grafico)**: Gestito solo dal Conducente A (sincronizzato su B).

## 3. Mappatura Database (Nomi Brevi Firebase)
Per evitare perdite di dati, usare sempre queste chiavi nel payload JSON:
- Cognome: `cog`
- Nome: `nom`
- Codice Fiscale: `cf`
- Targa: `tg`
- Polizza: `pol`
- Compagnia: `den`
- Circostanze: `circ` (Mappa di int, bool)

## 4. Fix Critici
- **Firebase Sync**: Firebase scarica le circostanze come List. Usare sempre la funzione `fixCircostanze` per convertirle in Map<int, bool> prima di assegnarle a GlobalData.
- **PDF Overflow**: Se il testo è troppo lungo, non deve rompere il layout.