/* Form styles (limpios y responsivos) */
.prf-card {
  max-width: 820px;
  margin: 28px auto;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.06);
  padding: 18px;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

.prf-header h2 { margin: 0 0 6px; }
.prf-sub { color: #6b7280; margin-top: 0; }

.prf-progress { height: 10px; background: #eef2f7; border-radius: 20px; overflow: hidden; margin: 12px 0; }
.prf-progress-bar { height: 100%; width: 0%; background: linear-gradient(90deg,#06b6d4,#0ea5a4); transition: width .32s ease; }

.prf-step { display: none; }
.prf-step.active { display: block; animation: fadeIn .18s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(6px);} to { opacity:1; transform: translateY(0);} }

.prf-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.prf-grid label, .prf-radios label, .prf-checkbox-grid label { display: block; margin-bottom: 8px; }
.prf-radios label { display:block; margin:6px 0; }
.prf-checkbox-grid { display:grid; grid-template-columns: repeat(2,1fr); gap:6px; margin-bottom: 12px; }

input[type="text"], input[type="number"], select, textarea {
  width:100%;
  padding:8px 10px;
  border:1px solid #e6e9ef;
  border-radius:6px;
  box-sizing: border-box;
  font-size:14px;
}

fieldset { border:1px solid #e6e9ef; padding:10px; border-radius:6px; margin-bottom:10px; }
legend { font-weight:700; }

.prf-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:12px; }
.prf-btn { background:#0ea5a4; color:#fff; border:0; padding:8px 14px; border-radius:8px; cursor:pointer; }
.prf-btn.prf-prev { background:#e6e9ef; color:#111; }
.prf-btn.prf-submit { background:#0b7a73; }

.prf-message { min-height:28px; margin-bottom:8px; color:#064e3b; }
.prf-final { text-align:center; }

@media (max-width:760px) {
  .prf-grid { grid-template-columns:1fr; }
  .prf-checkbox-grid { grid-template-columns:1fr; }
}