@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=DM+Mono:wght@400;500&display=swap";body{background:#f4f3f0;font-family:sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--clr-bg:#f4f3f0;--clr-surface:#fff;--clr-border:#d8d5ce;--clr-border-focus:#1a1a1a;--clr-text:#1a1a1a;--clr-text-muted:#6b6860;--clr-accent:#1a1a1a;--clr-accent-hover:#333;--clr-danger:#c0392b;--clr-danger-bg:#fdf0ee;--clr-warning:#d4600a;--clr-warning-bg:#fef3e8;--clr-success:#1a6b3c;--clr-success-bg:#eaf6f0;--clr-radio-selected:#1a1a1a;--font-main:"DM Sans", sans-serif;--font-mono:"DM Mono", monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-card:0 1px 3px #00000014, 0 4px 16px #0000000a}body{font-family:var(--font-main);background-color:var(--clr-bg);color:var(--clr-text);min-height:100vh;padding:2rem 1rem}.form-wrapper{max-width:640px;margin:0 auto}.form-header{text-align:center;margin-bottom:2.5rem}.form-logo{justify-content:center;margin-bottom:1rem;display:flex}.form-logo img{object-fit:contain;width:auto;height:48px}.form-header .badge{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--clr-text-muted);border:.5px solid var(--clr-border);border-radius:100px;margin-bottom:1rem;padding:4px 14px;font-size:11px;font-weight:500;display:inline-block}.form-header h1{letter-spacing:-.02em;color:var(--clr-text);margin-bottom:.4rem;font-size:1.75rem;font-weight:600}.form-header p{color:var(--clr-text-muted);font-size:.875rem}.card{background:var(--clr-surface);border:.5px solid var(--clr-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:1rem;padding:1.75rem}.card-title{font-size:.7rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--clr-text-muted);border-bottom:.5px solid var(--clr-border);margin-bottom:1.25rem;padding-bottom:.75rem}.field-group{margin-bottom:1.25rem}.field-group:last-child{margin-bottom:0}.field-group label{color:var(--clr-text);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}input[type=text],input[type=number],select{width:100%;height:42px;font-family:var(--font-main);color:var(--clr-text);background:var(--clr-bg);border:.5px solid var(--clr-border);border-radius:var(--radius-sm);appearance:none;outline:none;padding:0 .875rem;font-size:.9rem;transition:border-color .15s,background .15s}input[type=text]:focus,input[type=number]:focus,select:focus{border-color:var(--clr-border-focus);background:var(--clr-surface)}input[type=text].error,input[type=number].error,select.error{border-color:var(--clr-danger)}.select-wrapper{position:relative}.select-wrapper:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--clr-text-muted);pointer-events:none;width:0;height:0;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.field-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.question-label{color:var(--clr-text);margin-bottom:.35rem;font-size:.875rem;font-weight:500}.question-hint{color:var(--clr-text-muted);margin-bottom:.75rem;font-size:.8rem;line-height:1.5}.radio-group{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.radio-option{cursor:pointer;position:relative}.radio-option input[type=radio]{opacity:0;width:0;height:0;position:absolute}.radio-label{border:.5px solid var(--clr-border);border-radius:var(--radius-sm);color:var(--clr-text-muted);background:var(--clr-bg);-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;padding:.65rem .875rem;font-size:.875rem;transition:border-color .15s,background .15s,color .15s;display:flex}.radio-label:before{content:"";border:1.5px solid var(--clr-border);border-radius:50%;flex-shrink:0;width:14px;height:14px;transition:border-color .15s,background .15s}.radio-option input[type=radio]:checked+.radio-label{border-color:var(--clr-radio-selected);background:var(--clr-surface);color:var(--clr-text)}.radio-option input[type=radio]:checked+.radio-label:before{border-color:var(--clr-radio-selected);background:var(--clr-radio-selected);box-shadow:inset 0 0 0 3px var(--clr-surface)}.radio-option input[type=radio]:focus+.radio-label{outline:2px solid var(--clr-text);outline-offset:2px}.radio-group.error .radio-label{border-color:var(--clr-danger)}.question-block{border-bottom:.5px solid var(--clr-border);padding:1.25rem 0}.question-block:first-child{padding-top:0}.question-block:last-child{border-bottom:none;padding-bottom:0}.question-number{font-family:var(--font-mono);color:var(--clr-text-muted);letter-spacing:.05em;margin-bottom:.25rem;font-size:10px}.signature-area{border:.5px solid var(--clr-border);border-radius:var(--radius-sm);background:var(--clr-bg);cursor:crosshair;overflow:hidden}.signature-area canvas{width:100%;height:140px;display:block}.signature-actions{justify-content:flex-end;margin-top:.5rem;display:flex}.btn-clear{font-family:var(--font-main);color:var(--clr-text-muted);border:.5px solid var(--clr-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:5px 12px;font-size:.8rem;transition:color .15s,border-color .15s}.btn-clear:hover{color:var(--clr-text);border-color:var(--clr-text)}.error-msg{color:var(--clr-danger);margin-top:.35rem;font-size:.78rem;display:none}.error-msg.visible{display:block}.result-banner{border-radius:var(--radius-md);border:.5px solid;margin-bottom:1rem;padding:1.25rem 1.5rem;display:none}.result-banner.show{display:block}.result-banner.apto{background:var(--clr-success-bg);color:var(--clr-success);border-color:#a8d5be}.result-banner.precaucion{background:var(--clr-warning-bg);color:var(--clr-warning);border-color:#f5c28a}.result-banner.no-apto{background:var(--clr-danger-bg);color:var(--clr-danger);border-color:#e8bab5}.result-banner h3{margin-bottom:.25rem;font-size:1rem;font-weight:600}.result-banner p{opacity:.85;font-size:.85rem}.btn-submit{width:100%;height:48px;font-family:var(--font-main);color:#fff;background:var(--clr-accent);border-radius:var(--radius-md);cursor:pointer;letter-spacing:-.01em;border:none;font-size:.95rem;font-weight:500;transition:background .15s,transform .1s}.btn-submit:hover{background:var(--clr-accent-hover)}.btn-submit:active{transform:scale(.99)}.form-footer{text-align:center;color:var(--clr-text-muted);margin-top:1.5rem;font-size:.78rem}@media (width<=480px){.field-row,.radio-group{grid-template-columns:1fr}.card{padding:1.25rem}}
