body { font-family: sans-serif; margin: 0; background-color: #f4f4f4; }
header, footer { background-color: #333; color: white; padding: 1em; text-align: center; }
nav { display: flex; justify-content: center; gap: 20px; align-items: center; }
nav a { color: white; text-decoration: none; font-weight: bold; }
.logout-form { margin-left: auto; }
main { max-width: 1200px; margin: 20px auto; padding: 20px; background-color: white; border-radius: 5px; }
table { width: 100%; border-collapse: collapse; margin-top: 20px; }
th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }
th { background-color: #f2f2f2; }
form { display: grid; gap: 10px; max-width: 600px; }
form label { font-weight: bold; }
form input, form textarea { padding: 8px; border: 1px solid #ccc; border-radius: 4px; }
button, .button { padding: 10px 15px; background-color: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer; text-decoration: none; display: inline-block; }
.button-danger { background-color: #dc3545; }```

#### 3. Controller e Vista per il Login

1.  Crea un nuovo package: `com.icp.anagraficaclienti.controller`.
2.  All'interno, crea la classe `LoginController.java`.

**File: `LoginController.java`**
```java
package com.icp.anagraficaclienti.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class LoginController {

    @GetMapping("/login")
    public String login() {
        return "login"; // Ritorna il nome del file HTML (login.html)
    }
}

/* =============================== */
/* REGOLE PER LA STAMPA            */
/* =============================== */
@media print {
    /* Nascondi tutto ciò che non serve in stampa */
    body {
        background-color: white;
    }

    header, footer, form, button, .button, a[href] {
        display: none !important; /* !important per forzare la regola */
    }

    /* Assicurati che le tabelle occupino tutto lo spazio */
    main {
        max-width: 100%;
        margin: 0;
        padding: 0;
        border: none;
        box-shadow: none;
    }

    table, th, td {
        border: 1px solid #000;
        font-size: 10pt;
    }
    
    /* Mostra di nuovo i link che sono DENTRO le tabelle, se ce ne fossero */
    td a[href] {
        display: inline !important;
        text-decoration: none;
        color: black;
    }
}

/* Stili per la pagina di dettaglio (scheda) */
.scheda-container {
    border: 1px solid #ddd;
    padding: 20px;
    border-radius: 5px;
}
.scheda-container h3 {
    border-bottom: 2px solid #eee;
    padding-bottom: 5px;
    margin-top: 20px;
}
.field-group {
    display: flex;
    margin-bottom: 10px;
    align-items: center;
}
.field-group label {
    font-weight: bold;
    width: 150px;
    flex-shrink: 0;
}
.field-group-full label {
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
}

/* Regole di stampa migliorate per nascondere la barra delle azioni */
@media print {
    /* ... (tutte le altre regole di stampa rimangono) ... */
    
    .actions-bar {
        display: none !important;
    }
}

.historical-banner {
    background-color: #fffbe6;
    border: 1px solid #ffe58f;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 5px;
    font-weight: bold;
    color: #8a6d3b;
}

.alert {
    padding: 15px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: 4px;
}
.alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}
.alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}