/* Presentación de Cobranza Remota. Los estados siguen a cargo del circuito existente. */
#cr-payment-modal { position:fixed; inset:0; margin:auto; width:min(480px,calc(100vw - 40px)); box-sizing:border-box; max-height:90vh; max-height:calc(100dvh - 40px); overflow:auto; border:1px solid #d7e3f5; border-radius:24px; padding:32px; text-align:center; color:#203b62; background:linear-gradient(155deg,#eff6ff,#fff 65%); box-shadow:0 24px 80px #122b5e40; }
#cr-payment-modal::backdrop { background:#14233d80; backdrop-filter:blur(4px); }
#cr-payment-modal .cr-payment-check { display:grid; place-items:center; width:64px; height:64px; margin:0 auto 18px; border-radius:50%; background:#dcecff; color:#315e9e; font-size:36px; }
#cr-payment-modal .cr-payment-kicker { font-size:12px; font-weight:800; letter-spacing:.1em; color:#526f96; }
#cr-payment-modal h2 { font-size:32px; line-height:1.2; margin:12px 0; }
#cr-payment-amount { font-size:44px; font-weight:800; margin:12px 0; }
#cr-payment-modal p { font-size:17px; line-height:1.6; }
#cr-payment-modal .cr-payment-account { font-size:15px; overflow-wrap:anywhere; }
#cr-payment-modal button { width:100%; min-height:56px; border:1px solid #a9c5e9; background:#d9eaff; color:#234d85; border-radius:12px; font:inherit; font-weight:700; cursor:pointer; margin:12px 0; }
#cr-payment-modal button:focus-visible { outline:3px solid #315e9e; outline-offset:3px; }
#cr-payment-modal small { display:block; color:#536780; font-size:13px; line-height:1.5; }
#tab-simulador .cr-alias-card { margin:4px 0 16px; padding:14px 18px; border:1px solid #b9cbee; border-radius:14px; background:#fff; }
#tab-simulador .cr-alias-card label { display:block; font-weight:700; margin-bottom:8px; }
#tab-simulador .cr-alias-card.is-generating { background:#f1f3f6; border-color:#d5dbe4; }
#tab-simulador .is-generating #cr-generate { display:inline-flex; align-items:center; gap:12px; background:#e8ecf2; color:#405672; border-color:#cdd5e0; cursor:wait; }
#tab-simulador .is-generating #cr-generate::before { content:''; width:22px; height:22px; flex:0 0 22px; border:3px solid #c5d4eb; border-top-color:#3865a4; border-radius:50%; animation:cr-alias-spin .85s linear infinite; }
@keyframes cr-alias-spin { to { transform:rotate(360deg); } }
#tab-simulador #cr-copy, #tab-simulador #cr-generate { min-height:52px; border:1px solid #b5cbed; border-radius:10px; padding:12px 20px; background:#dceaff; color:#244b83; font:inherit; font-weight:650; cursor:pointer; }
#tab-simulador #cr-alias-result { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; background:#f0f6ff; border:1px solid #d4e3f7; border-radius:12px; padding:12px 16px; }
#tab-simulador #cr-alias-result[hidden], #tab-simulador #cr-generate[hidden] { display:none; }
#tab-simulador #cr-alias { color:#294e80; font-size:17px; }
#tab-simulador #cr-copy:disabled { background:#e8edf6; color:#405672; cursor:default; }
#tab-simulador #cr-alias { font-weight:750; overflow-wrap:anywhere; }
#tab-simulador #cr-copy-label { font-size:16px; }
#tab-simulador .cr-alias-card p { font-size:16px; margin:12px 0; }
#tab-simulador .cr-alias-card small { font-size:14px; color:#52627a; }
#tab-simulador #simEntryCard { display:none!important; }
#tab-simulador .cr-auto-footer { text-align:center; margin:32px 0 12px; }
#tab-simulador .cr-auto-footer button { background:transparent; border:0; color:#596981; text-decoration:underline; font:inherit; font-size:14px; min-height:44px; padding:10px 16px; cursor:pointer; }
#tab-simulador #cr-retry { min-height:48px; border:1px solid #244fc4; border-radius:10px; color:#244fc4; background:white; padding:12px 18px; font:inherit; }
#tab-simulador { max-width:1080px; margin:0 auto; color:#20314b; font-size:18px; line-height:1.55; --cr-blue:#244fc4; }
#tab-simulador .cr-welcome { padding:12px 0 8px; }
#tab-simulador .cr-welcome h1 { margin-top:0; margin-bottom:18px; }
#tab-simulador .cr-welcome .cr-steps { margin-bottom:12px; }
#tab-simulador .cr-eyebrow { color:#3154a2; font-size:13px; font-weight:800; letter-spacing:.12em; }
#tab-simulador h1 { font-size:clamp(30px,4vw,44px); letter-spacing:-.035em; line-height:1.16; margin:14px 0; color:#182c49; }
#tab-simulador .cr-welcome > p { max-width:690px; margin:0 0 26px; font-size:19px; color:#506079; }
#tab-simulador .cr-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; list-style:none; padding:0; margin:0 0 24px; }
#tab-simulador .cr-steps li { display:flex; gap:12px; align-items:center; }
#tab-simulador .cr-steps li > span { display:grid; place-items:center; flex:0 0 40px; height:40px; border-radius:50%; background:#e8eefc; color:#244fc4; font-weight:800; }
#tab-simulador .cr-steps strong { display:block; font-size:17px; }
#tab-simulador .cr-steps small { display:block; font-size:14px; color:#52627a; }
#tab-simulador .sim-hero.compact { background:#f3f6fc; border:1px solid #d9e2f0; border-radius:20px; padding:26px; box-shadow:none; margin-bottom:24px; }
#tab-simulador .sim-hero-main { gap:24px; align-items:center; }
#tab-simulador .sim-badge { background:transparent; color:#4a5d78; padding:0; font-size:14px; }
#tab-simulador .sim-hero-title { font-size:22px; color:#20314b; line-height:1.35; }
#tab-simulador .sim-hero-subtitle { font-size:16px; color:#52627a; line-height:1.6; }
#tab-simulador .sim-hero-total-box.compact { background:white; border:1px solid #d9e2f0; border-radius:14px; padding:18px 22px; box-shadow:none; min-width:250px; }
#tab-simulador .sim-hero-total-label { font-size:14px; color:#52627a; text-transform:none; letter-spacing:0; }
#tab-simulador .sim-hero-amount { font-size:34px; color:#20314b; }
#tab-simulador .sim-hero-total-note { font-size:14px; color:#52627a; }
#tab-simulador .sim-demo-intro { display:none; }
#tab-simulador .cr-contract-details { border-top:1px solid #d9e2f0; margin-top:20px; padding-top:10px; }
#tab-simulador summary { cursor:pointer; padding:12px 0; font-size:16px; font-weight:650; color:#244b9b; }
#tab-simulador .sim-summary-inline, #tab-simulador .sim-summary-inline strong, #tab-simulador .sim-inline-chip { font-size:15px; line-height:1.6; }
#tab-simulador .sim-detail-toggle { font-size:16px; min-height:48px; color:#244b9b; }
#tab-simulador .sim-entry-card { background:white; border:1px solid #d9e2f0; border-radius:20px; padding:28px; box-shadow:0 8px 28px #243e7310; margin-bottom:24px; }
#tab-simulador .sim-entry-kicker { font-size:24px; line-height:1.3; text-transform:none; letter-spacing:-.02em; color:#20314b; }
#tab-simulador .cr-entry-help { font-size:17px; color:#52627a; margin:8px 0 20px; }
#tab-simulador .cr-demo-note { padding:12px 16px; border-left:3px solid #5279c9; background:#f3f6fc; color:#405672; font-size:15px; line-height:1.6; margin:0 0 20px; }
#tab-simulador .sim-hero::before, #tab-simulador .sim-hero::after { display:none; }
#tab-simulador .sim-mode-grid { display:flex; flex-direction:column; gap:12px; }
#tab-simulador #modeDemoLive { order:-1; background:#edf3ff; border:2px solid #244fc4; border-radius:14px; box-shadow:none; padding:20px; }
#tab-simulador #modeDemoLive .sim-mode-title { font-size:20px; color:#244b9b; }
#tab-simulador .sim-mode-text { font-size:16px; line-height:1.6; color:#52627a; }
#tab-simulador #modeDemoAuto { padding:12px 16px; border:1px solid #d9e2f0; background:white; box-shadow:none; border-radius:12px; }
#tab-simulador #modeDemoAuto .sim-mode-icon, #tab-simulador #modeDemoAuto .sim-mode-text { display:none; }
#tab-simulador #modeDemoAuto .sim-mode-title { font-size:15px; color:#52627a; }
#tab-simulador .sim-live-inline-box { background:#f7f9fd; border:1px solid #d9e2f0; border-radius:14px; padding:22px; margin-top:20px; }
#tab-simulador .sim-live-inline-help, #tab-simulador .sim-live-inline-status { font-size:17px; line-height:1.65; color:#344b69; }
#tab-simulador .sim-label { font-size:16px; color:#20314b; margin-bottom:8px; }
#tab-simulador .sim-input { min-height:56px; font-size:19px; border:1px solid #9bacc5; border-radius:10px; background:white; color:#20314b; padding:12px 16px; box-sizing:border-box; }
#tab-simulador button { touch-action:manipulation; }
#tab-simulador .btn-sim-validate, #tab-simulador .btn-simular { min-height:56px; padding:15px 24px; background:#244fc4; color:white; border:1px solid #244fc4; border-radius:12px; font-size:17px; font-weight:700; text-transform:none; letter-spacing:0; box-shadow:0 4px 10px #244fc41a; }
#tab-simulador button:hover { filter:brightness(.97); }
#tab-simulador :is(button,input,summary):focus-visible { outline:3px solid #b46b00; outline-offset:4px; }
#tab-simulador .flow-card, #tab-simulador .success-card, #tab-simulador .sim-docs { border-radius:20px; padding:26px; }
#tab-simulador .flow-title, #tab-simulador .success-title, #tab-simulador .sim-docs-title { font-size:25px; line-height:1.35; }
#tab-simulador .flow-node-name, #tab-simulador .sim-doc-name { font-size:18px; }
#tab-simulador .flow-node-desc, #tab-simulador .success-sub, #tab-simulador .sim-docs-sub, #tab-simulador .sim-doc-meta { font-size:16px; line-height:1.6; }
#tab-simulador .sim-doc-card { border:1px solid #cbd7e8; border-radius:16px; padding:20px; text-align:left; }
#tab-simulador .sim-doc-row { font-size:15px; }
#tab-simulador .sim-doc-badge { min-height:48px; display:flex; align-items:center; justify-content:center; font-size:16px; margin-top:16px; border-radius:10px; background:#edf3ff; color:#244b9b; }
#tab-simulador .success-chip { font-size:14px; }
@media(max-width:700px) {
  #tab-simulador .cr-steps { grid-template-columns:1fr; gap:16px; }
  #tab-simulador .sim-hero-main { flex-direction:column; align-items:stretch; }
  #tab-simulador .sim-hero-total-box.compact { min-width:0; width:auto; text-align:left; }
  #tab-simulador :is(.sim-hero.compact,.sim-entry-card,.flow-card,.success-card,.sim-docs) { padding:20px; }
  #tab-simulador .sim-live-inline-form { display:flex; flex-direction:column; align-items:stretch; }
  #tab-simulador .sim-field { width:100%; min-width:0; }
  #tab-simulador .sim-input { width:100%; }
  #tab-simulador .sim-docs-grid { grid-template-columns:1fr; }
  #tab-simulador .sim-live-inline-box { padding:16px; }
  #tab-simulador .sim-summary-inline { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) {
  #tab-simulador *, #tab-simulador *::before, #tab-simulador *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
