/* Prestamos styles – mobile-first, readable cards, no hidden side-scroll */
.prestamos-container { 
  --bg:#ffffff; --text:#111; --muted:#666; --border:#e5e7eb; --head:#0f172a;
  font: 500 14px/1.35 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color: var(--text);
}
.prestamos-container .card {
  background:#fff; border:1px solid var(--border); border-radius:14px; padding:14px; margin:12px 0; 
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.prestamos-container h2 { font-size:18px; margin:0 0 10px; color:var(--head); }
.prestamos-container .form-grid {
  display:grid; gap:10px;
  grid-template-columns: 1fr;
}
.prestamos-container label { display:flex; flex-direction:column; gap:6px; font-weight:600; }
.prestamos-container input, .prestamos-container select {
  border:1px solid var(--border); border-radius:10px; padding:10px; font: inherit; width:100%;
  background:#fff;
}
.prestamos-container .btn-primary, .prestamos-container .btn-secondary, .prestamos-container .btn-danger {
  display:inline-block; border:0; border-radius:999px; padding:10px 14px; cursor:pointer; font-weight:700;
}
.prestamos-container .btn-primary { background:#0ea5e9; color:#fff; }
.prestamos-container .btn-secondary { background:#111827; color:#fff; }
.prestamos-container .btn-danger { background:#ef4444; color:#fff; }
.prestamos-container .help { color:var(--muted); font-size:12px; margin-top:6px; }

/* Resumen table that turns into stacked cards on small screens */
.resumen-wrapper { background:#fff; border:1px dashed var(--border); border-radius:12px; padding:10px; }
.resumen-table { width:100%; border-collapse: collapse; }
.resumen-table th, .resumen-table td { padding:10px; border-bottom:1px solid var(--border); text-align:left; }
.resumen-table th { background:#f8fafc; color:#0f172a; font-weight:700; }
.resumen-table td { font-weight:600; }

/* Stacked on narrow viewports to avoid hidden columns */
@media (max-width: 480px) {
  .resumen-table thead { display:none; }
  .resumen-table, .resumen-table tbody, .resumen-table tr, .resumen-table td { display:block; width:100%; }
  .resumen-table tr { border:1px solid var(--border); border-radius:12px; margin-bottom:10px; padding:8px; }
  .resumen-table td { border:none; padding:6px 0; }
  .resumen-table td::before {
    content: attr(data-label) ": ";
    font-weight:700; color:#374151; display:inline-block; min-width:110px;
  }
}

/* PNG export theme (matches user's preference for 360px clarity) */
.export-png {
  background:#fff;
  color:#111;
}
