*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:#17263b;background:#f4f7fb}.page{min-height:100vh;padding:44px 18px;display:grid;place-items:center}.card{width:min(100%,620px);padding:42px;background:#fff;border:1px solid #dde5ef;border-radius:16px;box-shadow:0 16px 40px #15396814}.brand{font-weight:800;font-size:.82rem;letter-spacing:.12em;color:#1673c9;margin-bottom:18px}h1{margin:0;font-size:2rem;letter-spacing:-.04em}.intro{margin:10px 0 30px;color:#64748b}label,legend{display:block;font-weight:650;font-size:.94rem;margin:0 0 8px}label span,legend span{color:#d83b45}em{font-weight:400;color:#64748b;font-style:normal}input,textarea{font:inherit;color:inherit;width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:13px 14px;outline:none;transition:.15s}input:focus,textarea:focus{border-color:#1673c9;box-shadow:0 0 0 3px #1673c923}.dni-row{display:flex;gap:10px}.dni-row input{min-width:0}.dni-row button{width:112px;background:#eaf3fb;color:#1164ad;border:1px solid #b9d7ef;border-radius:8px;font-weight:700;cursor:pointer}.hint{margin:7px 0 14px;font-size:.82rem;color:#718096}.person{padding:14px 16px;border-radius:9px;background:#f0f8ff;border-left:3px solid #1673c9;margin:4px 0 25px}.person span{display:block;color:#64748b;font-size:.78rem;margin-bottom:4px}.person strong{text-transform:uppercase}fieldset{border:0;padding:0;margin:25px 0}fieldset legend{margin-bottom:12px}.choice{cursor:pointer;display:flex;gap:12px;align-items:center;border:1px solid #d6e0eb;border-radius:9px;padding:14px;margin:10px 0}.choice:has(input:checked){border-color:#1673c9;background:#f1f8ff}.choice input{width:18px;height:18px;accent-color:#1673c9}.choice b,.choice small{display:block}.choice small{font-weight:400;color:#64748b;margin-top:3px}textarea{min-height:90px;resize:vertical;margin-bottom:0}.message{min-height:20px;margin:16px 0 8px;font-size:.92rem}.message.error{color:#b4232d}.message.success{color:#087443}.submit{margin-top:5px;width:100%;border:0;border-radius:8px;background:#1673c9;color:#fff;font:inherit;font-weight:700;padding:14px;cursor:pointer}.submit:hover{background:#095da9}button:disabled{opacity:.6;cursor:not-allowed}.hidden{display:none}@media(max-width:460px){.card{padding:28px 20px}.page{padding:20px 12px}h1{font-size:1.7rem}}
