:root{--blu: #0059b3;--blu-scuro: #003366;--blu-chiaro: #e7f0fa;--carta: #f4f6f9;--bianco: #ffffff;--inchiostro: #1b2733;--grigio: #5c6f82;--linea: #d9e0e8;--verde: #2e7d32;--verde-chiaro: #e6f2e7;--ambra: #b45309;--ambra-chiaro: #fdf1e2;--rosso: #c62828;--rosso-chiaro: #fbe9e9;--font: "Titillium Web", "Segoe UI", system-ui, -apple-system, sans-serif;--mono: "Roboto Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--raggio: 4px;--ombra: 0 1px 3px rgba(27, 39, 51, .12)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);background:var(--carta);color:var(--inchiostro);font-size:16px;line-height:1.5}h1,h2,h3{line-height:1.2;margin:0 0 .5rem}h1{font-size:1.6rem;font-weight:700}h2{font-size:1.25rem;font-weight:600}h3{font-size:1.05rem;font-weight:600}a{color:var(--blu)}code,.mono{font-family:var(--mono);font-size:.92em}:focus-visible{outline:3px solid var(--blu);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.app-header{background:var(--blu-scuro);color:#fff;padding:.6rem 1.25rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.app-header .ente{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;opacity:.85}.app-header .titolo{font-size:1.15rem;font-weight:700}.app-header .spazio{flex:1}.utente-chip{display:flex;flex-direction:column;align-items:flex-end;font-size:.82rem;line-height:1.3}.utente-chip .ruolo{opacity:.8}.btn-esci{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;padding:.35rem .9rem;border-radius:var(--raggio);cursor:pointer;font-family:var(--font)}.btn-esci:hover{background:#ffffff1f}.app-nav{background:var(--blu);padding:0 1.25rem;display:flex;gap:.25rem;overflow-x:auto}.app-nav a{color:#fff;text-decoration:none;padding:.6rem .9rem;font-size:.95rem;border-bottom:3px solid transparent;white-space:nowrap}.app-nav a.attivo{border-bottom-color:#fff;font-weight:600}.app-nav a:hover{background:#ffffff1a}.contenuto{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.pagina-testata{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.pagina-testata .spazio{flex:1}.card{background:var(--bianco);border:1px solid var(--linea);border-radius:var(--raggio);box-shadow:var(--ombra);padding:1.25rem;margin-bottom:1.25rem}.card h2{color:var(--blu-scuro)}.btn{display:inline-block;background:var(--blu);color:#fff;border:1px solid var(--blu);padding:.5rem 1.1rem;border-radius:var(--raggio);font-size:.95rem;font-family:var(--font);cursor:pointer;text-decoration:none}.btn:hover{background:var(--blu-scuro);border-color:var(--blu-scuro)}.btn:disabled{background:var(--grigio);border-color:var(--grigio);cursor:not-allowed}.btn.secondario{background:#fff;color:var(--blu)}.btn.secondario:hover{background:var(--blu-chiaro)}.btn.pericolo{background:#fff;color:var(--rosso);border-color:var(--rosso)}.btn.pericolo:hover{background:var(--rosso-chiaro)}.btn.piccolo{padding:.25rem .7rem;font-size:.85rem}.campo{margin-bottom:1rem}.campo label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.25rem}.campo input,.campo select,.campo textarea{width:100%;padding:.5rem .65rem;border:1px solid var(--grigio);border-radius:var(--raggio);font-family:var(--font);font-size:1rem;background:#fff}.campo .aiuto{font-size:.82rem;color:var(--grigio);margin-top:.2rem}.riga-campi{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 1rem}.avviso{padding:.75rem 1rem;border-radius:var(--raggio);margin-bottom:1rem;border:1px solid}.avviso.errore{background:var(--rosso-chiaro);border-color:var(--rosso);color:#7a1c1c}.avviso.successo{background:var(--verde-chiaro);border-color:var(--verde);color:#1e5220}.avviso.info{background:var(--blu-chiaro);border-color:var(--blu);color:var(--blu-scuro)}.avviso.attenzione{background:var(--ambra-chiaro);border-color:var(--ambra);color:#7c3a06}.avviso .regola{font-family:var(--mono);font-size:.8rem;font-weight:700;margin-right:.5rem}.badge{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.badge.neutro{background:var(--blu-chiaro);color:var(--blu-scuro)}.badge.positivo{background:var(--verde-chiaro);color:var(--verde)}.badge.attesa{background:var(--ambra-chiaro);color:var(--ambra)}.badge.negativo{background:var(--rosso-chiaro);color:var(--rosso)}.iter{display:flex;align-items:flex-start;margin:.75rem 0 .5rem;overflow-x:auto;padding-bottom:.5rem}.iter .tappa{display:flex;flex-direction:column;align-items:center;min-width:86px;position:relative}.iter .tappa:before{content:"";position:absolute;top:11px;left:-50%;width:100%;height:2px;background:var(--linea)}.iter .tappa:first-child:before{display:none}.iter .tappa.fatta:before,.iter .tappa.corrente:before{background:var(--blu)}.iter .pallino{width:22px;height:22px;border-radius:50%;border:2px solid var(--linea);background:#fff;z-index:1;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--grigio)}.iter .fatta .pallino{background:var(--blu);border-color:var(--blu);color:#fff}.iter .corrente .pallino{border-color:var(--blu);color:var(--blu);font-weight:700;box-shadow:0 0 0 4px var(--blu-chiaro)}.iter .etichetta{font-size:.68rem;text-align:center;margin-top:.35rem;color:var(--grigio);max-width:90px}.iter .corrente .etichetta{color:var(--blu-scuro);font-weight:700}.wizard-passi{display:flex;gap:.4rem;margin-bottom:1.25rem;flex-wrap:wrap}.wizard-passi .passo{font-size:.82rem;padding:.3rem .75rem;border-radius:999px;background:#fff;border:1px solid var(--linea);color:var(--grigio)}.wizard-passi .passo.corrente{background:var(--blu);border-color:var(--blu);color:#fff;font-weight:600}.wizard-passi .passo.fatto{background:var(--blu-chiaro);border-color:var(--blu-chiaro);color:var(--blu-scuro)}.tabella{width:100%;border-collapse:collapse;background:#fff}.tabella th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--grigio);padding:.6rem .75rem;border-bottom:2px solid var(--linea)}.tabella td{padding:.65rem .75rem;border-bottom:1px solid var(--linea);vertical-align:middle}.tabella tr:hover td{background:var(--blu-chiaro)}.tabella .num{text-align:right;font-family:var(--mono)}@media (max-width: 768px){.tabella thead{display:none}.tabella,.tabella tbody,.tabella tr,.tabella td{display:block;width:100%}.tabella tr{border:1px solid var(--linea);border-radius:var(--raggio);margin-bottom:.75rem;background:#fff}.tabella td{border:none;padding:.35rem .9rem}.tabella td:before{content:attr(data-etichetta);display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--grigio)}.tabella .num{text-align:left}.contenuto{padding:1rem .9rem 2.5rem}.app-header{padding:.6rem .9rem}}.login-sfondo{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--blu-scuro) 0%,var(--blu) 100%);padding:1rem}.login-card{background:#fff;border-radius:6px;box-shadow:0 8px 30px #00000040;max-width:420px;width:100%;padding:2rem}.login-card .ente{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--grigio)}.login-card h1{color:var(--blu-scuro);margin:.25rem 0}.login-card .servizio{color:var(--grigio);margin:0 0 1.25rem;font-size:.95rem}.dl{display:grid;grid-template-columns:minmax(140px,max-content) 1fr;gap:.25rem 1rem;margin:0}.dl dt{font-size:.82rem;color:var(--grigio)}.dl dd{margin:0;font-weight:600}.griglia-2{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media (max-width: 768px){.griglia-2{grid-template-columns:1fr}}.spaziato{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.vuoto{color:var(--grigio);padding:1.5rem;text-align:center}.check-lista{list-style:none;margin:0;padding:0}.check-lista li{display:flex;gap:.6rem;align-items:flex-start;padding:.5rem 0;border-bottom:1px solid var(--linea)}.check-lista input{margin-top:.3rem}.riepilogo-numero{font-family:var(--mono);font-size:1.4rem;font-weight:700;color:var(--blu-scuro)}.kpi-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.kpi{background:#fff;border:1px solid var(--linea);border-radius:var(--raggio);padding:.9rem 1rem}.kpi .valore{font-family:var(--mono);font-size:1.5rem;font-weight:700}.kpi .etichetta{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--grigio)}
