.simcred-form { 
  max-width: 720px; margin: 16px auto; padding: 20px; background:#ffffff; 
  border:1px solid #e5e7eb; border-radius: 14px; box-shadow: 0 2px 10px rgba(0,0,0,.04);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.simcred-form h3 { margin: 0 0 16px; font-size: 20px; }
.simcred-form .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.simcred-form .field { display:flex; flex-direction:column; }
.simcred-form label { font-size: 13px; color:#334155; margin-bottom: 6px; font-weight:600; }
.simcred-form input, .simcred-form select { 
  padding: 10px 12px; border:1px solid #cbd5e1; border-radius: 10px; font-size:14px; 
  outline: none;
}
.simcred-form input:focus, .simcred-form select:focus { border-color:#0ea5e9; box-shadow: 0 0 0 4px rgba(14,165,233,.15); }
.simcred-form .resultado { 
  margin: 14px 0; padding: 12px; background:#f0f9ff; border:1px solid #bae6fd; border-radius: 10px;
  display:flex; gap: 16px; flex-wrap:wrap;
}
.simcred-form .btn-primary { 
  background:#0ea5e9; color:#fff; border:none; padding:12px 16px; border-radius: 10px; font-weight:700; cursor:pointer;
}
.simcred-form .btn-primary:hover { background:#0284c7; }
.simcred-form .nota { font-size: 12px; color:#64748b; margin-top: 8px; }
.simcred-form .msg { margin-top:10px; padding:10px; border-radius:10px; display:inline-block; }
.simcred-form .msg.ok { background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
.simcred-form .msg.err { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
.simcred-form .print-link { margin-left: 8px; text-decoration: underline; }

@media (max-width: 640px) {
  .simcred-form .grid { grid-template-columns: 1fr; }
}

/* Estilos de impresión para el formulario/comprobante si el usuario imprime directamente */
@media print {
  .simcred-form, .simcred-form * { color: #000 !important; box-shadow: none !important; }
  .simcred-form .btn-primary, .simcred-form .msg { display:none !important; }
}
