*{box-sizing:border-box}body{color:#222;background:#fff;margin:0;font-family:Arial,sans-serif}header{text-align:center;padding:20px}header img{max-width:180px}main{max-width:720px;margin:0 auto;padding:20px}.step{display:none}.step.active{display:block}h2{text-align:center;margin-bottom:20px}.form-field{flex-direction:column;margin-bottom:16px;display:flex}.form-field label{margin-bottom:4px;font-weight:500}input,select,button{width:100%;padding:10px;font-size:1em}input[type=checkbox]{width:auto}button{color:#fff;background:#06c;border:none;border-radius:4px;margin-top:20px}button:hover{background:#004c99}.legend{color:#555;margin-top:10px;font-size:.85em}.doc-layout{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}@media (width<=768px){.doc-layout{grid-template-columns:1fr}}.document{border:1px solid #ccc;width:100%;height:auto;max-height:85vh;margin-bottom:32px;overflow:auto}.document-full iframe,.document iframe{border:none;width:100%;height:100%;min-height:400px}.document embed{border:none;width:100%;height:100%}.document-view{border:1px solid #ddd;width:100%;height:70vh}.document-view iframe,.document-view embed{border:none;width:100%;height:100%}.summary{background:#f6f6f6;margin-bottom:20px;padding:10px}.checkbox-group{flex-direction:column;gap:14px;margin-top:24px;display:flex}.checkbox-item{align-items:flex-start;gap:10px;display:flex}.checkbox-item input[type=checkbox]{flex-shrink:0;margin-top:4px}.checkbox-item span{line-height:1.4}.checkbox-item label{cursor:pointer;line-height:1.4}.signature-preview{color:#2e7d32;background:#e8f5e9;border:1px solid #4caf50;margin-top:10px;padding:10px}.needs-signature h2:after{content:" — controlla e firma di nuovo";color:#d97706;font-size:.85em}.signature-preview small{opacity:.8;margin-top:4px;font-size:.75em;display:block}.signature-preview:empty{display:none}.signature-preview{border-radius:4px;margin-top:10px;padding:10px;font-size:.9em}.signature-preview.valid{color:#2e7d32;background:#e8f5e9;border:1px solid #4caf50}.signature-preview.invalid{color:#b91c1c;background:#fdecea;border:1px solid #c00}.signature-preview.empty{border:none;padding:0}.modal{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal.hidden{display:none}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:80vh;padding:20px;overflow-y:auto}.modal-text p{margin-bottom:12px;line-height:1.5}.modal-content select.year-select{width:100%;margin-bottom:20px;padding:10px;font-size:1em}.modal-buttons{justify-content:flex-end;gap:12px;display:flex}.modal-buttons button{border-radius:4px;padding:10px 20px;font-size:1em}.modal-buttons button[data-action=save-anno]{color:#fff;background:#06c;border:none}.modal-buttons button[data-action=save-anno]:hover{background:#004c99}.modal-buttons button[data-close-modal]{color:#fff;background:#06c;border:none}.modal-buttons button[data-close-modal]:hover{background:#004c99}.input-error{border:1px solid #c00}.error-message{color:#c00;margin-top:4px;font-size:.8em}.step.invalid{opacity:.5}.step.invalid:before{content:"⚠ STEP DA RIFARE";color:red;margin-bottom:10px;font-weight:700;display:block}.pdf-page-canvas{background-color:#fff;width:100%;height:auto;margin-bottom:10px;box-shadow:0 1px 3px #0003}.loading-pdf{text-align:center;color:#666;padding:20px}.error-pdf{color:red;background:#fff;border:1px solid red;padding:15px}.pdf-download-link{color:red;font-weight:700;text-decoration:underline}#error-modal .modal-content{border:2px solid #666}#error-modal h3{color:#000}#error-modal .modal-text p{color:#000000b3}.grecaptcha-badge{visibility:hidden}.site-footer{text-align:center;color:#666;border-top:1px solid #eee;margin-top:40px;padding:20px;font-size:.75rem}.site-footer a{color:#007bff;text-decoration:none}
