:root{--blu:#1f4e79;--blu-chiaro:#e8f0f8;--grigio:#5b6770;--bordo:#d5dce3;--ok:#1e7a3c;--err:#b3261e;--avviso:#8a5a00;--sfondo:#f6f8fa}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#1d252c;background:var(--sfondo);line-height:1.45}
a{color:var(--blu)}
header.top{background:#fff;border-bottom:1px solid var(--bordo)}
header.top .testa{padding:.4rem 1.4rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}
header.top .marchio{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-decoration:none}
header.top .marchio img{height:36px;width:auto;display:block}
header.top .marchio span{font-weight:700;font-size:.95rem;color:var(--blu);letter-spacing:.02em}
header.top .dx{margin-left:auto;display:flex;align-items:center;gap:.8rem;font-size:.9rem;color:var(--grigio)}
header.top .dx form{margin:0}
header.top nav{background:var(--blu);display:flex;flex-wrap:wrap;gap:0 .2rem;padding:0 1.2rem}
header.top nav a{color:#dbe8f5;text-decoration:none;font-size:1.05rem;padding:.85rem 1rem;border-bottom:3px solid transparent}
header.top nav a.attiva,header.top nav a:hover{color:#fff;background:rgba(255,255,255,.1);border-bottom-color:#fff}
@media (max-width:700px){header.top .marchio img{height:32px}header.top nav a{padding:.6rem .7rem;font-size:1rem}}
main{max-width:1100px;margin:1.2rem auto;padding:0 1rem}
main.stretto{max-width:520px}
h1{font-size:1.5rem;margin:.2rem 0 1rem;color:var(--blu)}
h2{font-size:1.15rem;margin:1.4rem 0 .6rem;color:var(--blu)}
.card{background:#fff;border:1px solid var(--bordo);border-radius:8px;padding:1rem;margin-bottom:1rem}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--bordo);border-radius:8px;overflow:hidden;font-size:.92rem}
th,td{padding:.45rem .6rem;text-align:left;border-bottom:1px solid var(--bordo);vertical-align:top}
th{background:var(--blu-chiaro);color:var(--blu);font-weight:600}
tr:last-child td{border-bottom:none}
.tabella-scroll{overflow-x:auto}
label{display:block;font-size:.85rem;color:var(--grigio);margin:.5rem 0 .15rem}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=time],input[type=number],input[type=datetime-local],input[type=file],select,textarea{width:100%;padding:.45rem .55rem;border:1px solid #b9c3cc;border-radius:6px;font:inherit;background:#fff}
.riga{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.2rem .8rem}
button,.bottone{display:inline-block;background:var(--blu);color:#fff;border:0;border-radius:6px;padding:.5rem .95rem;font:inherit;cursor:pointer;text-decoration:none}
button:hover,.bottone:hover{filter:brightness(1.12)}
button.secondario,.bottone.secondario{background:#fff;color:var(--blu);border:1px solid var(--blu)}
button.pericolo{background:var(--err)}
button.piccolo,.bottone.piccolo{padding:.25rem .6rem;font-size:.82rem}
form.in-linea{display:inline;margin:0}
.messaggi{list-style:none;margin:0 0 1rem;padding:0}
.messaggi li{padding:.55rem .8rem;border-radius:6px;margin-bottom:.4rem;border:1px solid}
.messaggi .ok{background:#e9f6ee;border-color:#b7e0c3;color:var(--ok)}
.messaggi .errore{background:#fdecea;border-color:#f3b7b2;color:var(--err)}
.messaggi .info,.messaggi .message{background:#fff6e0;border-color:#f0d9a0;color:var(--avviso)}
.badge{display:inline-block;padding:.1rem .5rem;border-radius:99px;font-size:.78rem;border:1px solid var(--bordo);background:#fff;color:var(--grigio)}
.badge.aperta,.badge.da_chiamare{background:#fff6e0;border-color:#f0d9a0;color:var(--avviso)}
.badge.coperta,.badge.assegnato,.badge.accetta{background:#e9f6ee;border-color:#b7e0c3;color:var(--ok)}
.badge.annullata,.badge.escluso,.badge.rifiuta,.badge.revocata,.badge.inattivo{background:#f1f1f1;color:#777}
.badge.da_recuperare{background:#fff6e0;border-color:#f0d9a0;color:var(--avviso)}
.badge.recuperato{background:#e9f6ee;border-color:#b7e0c3;color:var(--ok)}
.badge.scaduto{background:#fdecea;border-color:#f3b7b2;color:var(--err)}
.badge.esonerato,.badge.annullato{background:#f1f1f1;color:#777}
.elenco-semplice{margin:.4rem 0 0;padding-left:1.2rem}
.badge.da_richiamare,.badge.non_risponde,.badge.in_attesa,.badge.impegnato,.badge.non_disponibile{background:#eaf1fb;border-color:#bcd0ea;color:var(--blu)}
.evidenza{border:2px solid var(--blu);background:var(--blu-chiaro)}
.evidenza .nome{font-size:1.25rem;font-weight:700}
.tel{font-size:1.1rem;font-weight:600}
.piccolo-testo{font-size:.85rem;color:var(--grigio)}
.azioni{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
footer{max-width:1100px;margin:2rem auto 1.5rem;padding:0 1rem;font-size:.8rem;color:var(--grigio);text-align:center}
@media print{header.top,footer,.no-stampa{display:none}body{background:#fff}}
