:root{--testo:#1f2a33;--tenue:#5b6773;--linea:#d9dee3;--fondo:#f6f7f8;--carta:#fff;--accento:#9e1b1b;--accento-scuro:#7a1212;--ok:#2e7d32;--ko:#b3261e;--attesa:#8a6d00}
*{box-sizing:border-box}
body{margin:0;background:var(--fondo);color:var(--testo);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--accento)}
.testata{background:var(--carta);border-bottom:1px solid var(--linea);padding:12px 16px;text-align:center}
.testata img{max-width:100%;height:56px;width:auto}
.contenuto{max-width:640px;margin:0 auto;padding:24px 16px 40px}
h1{font-size:1.6rem;line-height:1.25;margin:.2em 0 .5em}
.intro{color:var(--tenue);margin-top:0}
.modulo{background:var(--carta);border:1px solid var(--linea);border-radius:10px;padding:20px}
.modulo.stretto{max-width:360px}
fieldset{border:0;margin:0 0 18px;padding:0}
legend{font-weight:600;margin-bottom:8px}
.importi{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.chip input{position:absolute;opacity:0}
.chip span{display:block;text-align:center;padding:12px 4px;border:1.5px solid var(--linea);border-radius:8px;font-weight:600;cursor:pointer;background:var(--carta)}
.chip input:checked+span{border-color:var(--accento);background:var(--accento);color:#fff}
.chip input:focus-visible+span{outline:3px solid #e8a3a3}
.campo{display:block;margin-top:12px;font-size:.95rem}
.campo small{color:var(--tenue)}
.campo input,.campo textarea{display:block;width:100%;margin-top:4px;padding:10px 12px;border:1px solid #b9c1c9;border-radius:6px;font:inherit;background:#fff}
.campo input:focus,.campo textarea:focus{outline:2px solid var(--accento);border-color:var(--accento)}
.altro-importo{max-width:200px}
.riga2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.riga2 .campo{margin-top:0}
.consenso{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;margin:4px 0 18px}
.consenso input{margin-top:4px;width:18px;height:18px;flex:none}
.bottone{display:inline-block;width:100%;padding:14px 18px;border:0;border-radius:8px;background:var(--accento);color:#fff;font-family:inherit;font-weight:600;font-size:1.05rem;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer}
.bottone:hover{background:var(--accento-scuro)}
.bottone.piccolo{width:auto;padding:8px 14px;font-size:.92rem}
.bottone.secondario{background:#fff;color:var(--accento);border:1.5px solid var(--accento)}
.nota{color:var(--tenue);font-size:.85rem;text-align:center;margin:12px 0 0}
.avviso{border-radius:8px;padding:12px 14px;margin-bottom:16px}
.avviso.errore{background:#fdecea;color:var(--ko);border:1px solid #f3c2bd}
.avviso ul{margin:6px 0 0;padding-left:20px}
.piede{text-align:center;color:var(--tenue);font-size:.8rem;padding:0 16px 32px}
.contenuto:has(.tabella){max-width:1100px}
.contenuto:has(.stretto){max-width:392px}
.barra-admin{display:flex;justify-content:space-between;align-items:baseline}
.filtri{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:12px}
.filtri label{font-size:.85rem;display:flex;flex-direction:column}
.filtri input,.filtri select{padding:7px;border:1px solid #b9c1c9;border-radius:6px;font:inherit}
.tabella-scroll{overflow-x:auto;background:var(--carta);border:1px solid var(--linea);border-radius:8px}
.tabella{border-collapse:collapse;width:100%;font-size:.9rem}
.tabella th,.tabella td{padding:8px 10px;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top}
.tabella th{background:#eef1f4;font-weight:600}
.num{text-align:right;white-space:nowrap}
.stato{font-size:.78rem;font-weight:600;padding:2px 8px;border-radius:10px;color:#fff}
.stato.pagata{background:var(--ok)}.stato.attesa{background:var(--attesa)}.stato.fallita{background:var(--ko)}
.msg{color:var(--tenue)}
@media (max-width:520px){.importi{grid-template-columns:repeat(3,1fr)}.riga2{grid-template-columns:1fr}.riga2 .campo+.campo{margin-top:12px}}
fieldset:not(:has(input[value="altro"]:checked)) .altro-importo{display:none}
.modulo.stretto .bottone{margin-top:16px}
