/* Aziende Consenso Informato — public styles */
.aci-wrap{max-width:780px;margin:30px auto;padding:0 16px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#1a1a1a}
.aci-wrap h2{font-size:1.6rem;margin-bottom:12px}
.aci-wrap h3{font-size:1.15rem;margin:24px 0 10px}
.aci-help{color:#666;font-size:.9rem;margin:6px 0 14px}
.aci-required{color:#c0392b}

.aci-type-toggle{background:#f6f7f9;padding:12px 14px;border-radius:6px;margin-bottom:18px;display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.aci-type-toggle label{display:inline-flex;gap:6px;align-items:center;cursor:pointer}

.aci-form .aci-field{margin-bottom:14px}
.aci-form label{display:block;font-weight:600;margin-bottom:4px;font-size:.95rem}
.aci-form input[type=text],.aci-form input[type=email],.aci-form input[type=tel],.aci-form input[type=date],.aci-form input[type=number],.aci-form input[type=password],.aci-form select,.aci-form textarea{
    width:100%;padding:10px 12px;border:1px solid #ccd1d9;border-radius:5px;font-size:1rem;background:#fff;box-sizing:border-box
}
.aci-form input:focus,.aci-form select:focus,.aci-form textarea:focus{outline:none;border-color:#2c5282;box-shadow:0 0 0 3px rgba(44,82,130,.15)}
.aci-form .aci-field-error input,.aci-form .aci-field-error select,.aci-form .aci-field-error textarea{border-color:#c0392b}

.aci-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
@media (max-width:600px){.aci-fields-grid{grid-template-columns:1fr}}

.aci-btn{display:inline-block;padding:10px 18px;background:#e2e6ea;border:none;border-radius:5px;cursor:pointer;font-size:.95rem;font-weight:500;transition:background .15s}
.aci-btn:hover{background:#cfd4d9}
.aci-btn-primary{background:#2c5282;color:#fff}
.aci-btn-primary:hover{background:#1f3d63}
.aci-btn-link{background:none;border:none;color:#2c5282;text-decoration:underline;cursor:pointer;font-size:.9rem;padding:6px 0}
.aci-btn:disabled{opacity:.5;cursor:not-allowed}

.aci-actions{margin-top:18px}
.aci-message{margin-top:14px;padding:0;font-size:.95rem}
.aci-message.aci-error{background:#fdecea;color:#a31515;padding:10px 14px;border-radius:5px;border-left:3px solid #c0392b}
.aci-message.aci-ok{background:#e6f7ee;color:#1a6b3a;padding:10px 14px;border-radius:5px;border-left:3px solid #28a745}

.aci-section{margin-bottom:28px}
.aci-consent-text{background:#fafbfc;border:1px solid #e1e4e8;padding:16px 18px;border-radius:6px;white-space:pre-wrap;line-height:1.55;font-size:.97rem;max-height:400px;overflow:auto}
.aci-consent-block{margin-bottom:18px}
.aci-consent-block h3{margin:0 0 8px;font-size:1.05rem;color:#2c5282;font-weight:600;border-bottom:2px solid #e1e4e8;padding-bottom:4px}
.aci-data-summary{display:grid;grid-template-columns:1fr 2fr;gap:6px 14px;background:#f6f7f9;padding:14px;border-radius:5px}
.aci-data-summary dt{font-weight:600;color:#444}

.aci-signature-pad-wrap{border:2px dashed #2c5282;border-radius:6px;padding:6px;display:inline-block;background:#fff;margin-bottom:6px;max-width:100%}
#aci-signature-pad{display:block;background:#fff;touch-action:none;max-width:100%;height:auto}

.aci-checkbox-row{display:flex;gap:10px;margin:10px 0;padding:10px 12px;background:#f6f7f9;border-radius:5px;cursor:pointer;align-items:flex-start}
.aci-checkbox-row input{margin-top:3px;flex-shrink:0}
.aci-checkbox-row span{font-size:.93rem;line-height:1.45}

.aci-otp-row{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.aci-otp-row input{flex:1;max-width:160px;padding:10px;border:1px solid #ccd1d9;border-radius:5px;font-size:1.1rem;letter-spacing:3px;text-align:center}

.aci-success-box{background:#e6f7ee;border-left:4px solid #28a745;padding:18px 20px;border-radius:6px}
.aci-success-box h2{color:#1a6b3a;margin-top:0}

/* Modal */
.aci-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:99999;align-items:center;justify-content:center;padding:16px}
.aci-modal.aci-modal-open{display:flex}
.aci-modal-inner{background:#fff;border-radius:8px;padding:24px;max-width:480px;width:100%;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.aci-modal-inner h3{margin-top:0}
.aci-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
