/* RentaLex — estilos compartidos de toasts y modal (marca: navy/blue). */
.rtx-toasts{position:fixed;left:0;right:0;bottom:16px;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:9999;pointer-events:none;padding:0 12px}
.rtx-toast{pointer-events:auto;max-width:440px;width:100%;box-sizing:border-box;border-radius:11px;padding:12px 15px;font-family:'IBM Plex Sans',-apple-system,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1.4;color:#fff;box-shadow:0 8px 24px rgba(10,37,64,.22);opacity:0;transform:translateY(10px);transition:opacity .22s ease,transform .22s ease;cursor:pointer}
.rtx-toast.show{opacity:1;transform:translateY(0)}
.rtx-toast.rtx-info{background:#0A2540}
.rtx-toast.rtx-ok{background:#15803d}
.rtx-toast.rtx-err{background:#b91c1c}
.rtx-modal-back{position:fixed;inset:0;background:rgba(10,37,64,.45);display:flex;align-items:center;justify-content:center;z-index:10000;padding:18px}
.rtx-modal{background:#fff;border-radius:14px;max-width:440px;width:100%;box-sizing:border-box;padding:20px;box-shadow:0 20px 60px rgba(10,37,64,.35);font-family:'IBM Plex Sans',-apple-system,Arial,sans-serif}
.rtx-modal-t{font-family:'Space Grotesk','IBM Plex Sans',sans-serif;font-weight:700;font-size:17px;color:#0A2540}
.rtx-modal-m{color:#5B7184;font-size:14px;line-height:1.5;margin-top:8px;white-space:pre-line}
.rtx-modal-acts{display:flex;gap:9px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
.rtx-btn{cursor:pointer;border:none;border-radius:10px;padding:11px 18px;font-weight:600;font-size:14px;font-family:inherit;min-height:44px}
.rtx-btn-sec{background:#fff;color:#0A2540;border:1px solid #E2E8F0}
.rtx-btn-ok{background:#1763B5;color:#fff}
.rtx-btn-danger{background:#b91c1c;color:#fff}
.rtx-btn:focus-visible{outline:3px solid rgba(23,99,181,.4);outline-offset:2px}
/* Spinner + overlay de carga */
@keyframes rtx-spin{to{transform:rotate(360deg)}}
.rtx-spin{display:inline-block;width:18px;height:18px;border:2.5px solid rgba(23,99,181,.25);border-top-color:#1763B5;border-radius:50%;animation:rtx-spin .7s linear infinite;vertical-align:middle}
.rtx-spin.lg{width:34px;height:34px;border-width:3.5px}
.rtx-spin.white{border-color:rgba(255,255,255,.4);border-top-color:#fff}
.rtx-overlay{position:fixed;inset:0;background:rgba(10,37,64,.45);display:flex;align-items:center;justify-content:center;z-index:10001;padding:18px}
.rtx-overlay-box{background:#fff;border-radius:14px;min-width:230px;max-width:420px;padding:22px;text-align:center;box-shadow:0 20px 60px rgba(10,37,64,.35);font-family:'IBM Plex Sans',-apple-system,Arial,sans-serif}
.rtx-overlay-box .rtx-spin{margin:2px auto 12px;display:block}
.rtx-overlay-t{font-weight:700;color:#0A2540;font-size:15px}
.rtx-steps{margin-top:12px;text-align:left;display:flex;flex-direction:column;gap:7px}
.rtx-step{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#5B7184}
.rtx-step .ic{width:18px;height:18px;flex:none;display:flex;align-items:center;justify-content:center}
.rtx-step.done{color:#15803d;font-weight:600}.rtx-step.active{color:#0A2540;font-weight:600}
/* Skeletons */
@keyframes rtx-sk{0%{background-position:-200px 0}100%{background-position:200px 0}}
.rtx-sk{background:#eef2f7;background-image:linear-gradient(90deg,#eef2f7 0,#f6f9fc 40px,#eef2f7 80px);background-size:300px 100%;animation:rtx-sk 1.1s linear infinite;border-radius:8px;height:14px;margin:8px 0}
.rtx-sk.card{height:78px;border-radius:12px;margin:10px 0}
.rtx-btn-busy{position:relative;opacity:.8;pointer-events:none}
