:root{--blue:#174b9b;--blue2:#0f3d86;--light:#f3f6fb;--text:#1d2735;--muted:#6f7a88;--green:#24a27b;--line:#e4e9f1}*{box-sizing:border-box}body{margin:0;font-family:Lato,Arial,sans-serif;background:var(--light);color:var(--text)}a{text-decoration:none;color:inherit}.topbar{height:86px;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);box-shadow:0 7px 24px rgba(25,57,101,.08);position:sticky;top:0;z-index:20}.brand img{height:48px;width:auto}.desktop-nav{display:flex;align-items:center;gap:30px}.nav-item{display:flex;align-items:center;gap:8px;color:var(--blue);font-weight:700;padding:31px 0 27px;border-bottom:4px solid transparent}.nav-item img{width:19px;height:19px}.nav-item.active{border-bottom-color:var(--blue)}.profile-circle,.mini-profile{display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:50%;font-weight:900}.profile-circle{width:45px;height:45px}.profile-circle.active{outline:4px solid #dbe7fa}.page-shell{max-width:1120px;margin:0 auto;padding:42px 24px 100px}.welcome,.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.eyebrow{color:var(--blue);font-size:12px;font-weight:900;letter-spacing:2px;margin:0 0 8px}.welcome h1,.page-heading h1{font-size:38px;margin:0 0 8px}.welcome p,.page-heading p{color:var(--muted);margin:0}.date-pill{background:#fff;border:1px solid var(--line);padding:12px 16px;border-radius:14px;color:var(--muted);font-size:13px}.summary-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.hero-card{background:#fff;border-radius:20px;padding:28px;box-shadow:0 8px 26px rgba(30,60,110,.07);display:flex;flex-direction:column;gap:9px}.hero-card.blue{background:linear-gradient(135deg,var(--blue),#2870cd);color:#fff}.hero-card span{font-size:14px}.hero-card strong{font-size:32px}.hero-card small{opacity:.78}.hero-card a{color:var(--blue);font-weight:700;margin-top:5px}.progress{height:7px;background:rgba(255,255,255,.25);border-radius:10px;margin-top:10px}.progress i{display:block;height:100%;background:#fff;border-radius:10px}.section-title{font-size:21px;margin:34px 0 17px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quick-card{background:#fff;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:8px;border:1px solid transparent;transition:.2s}.quick-card:hover{border-color:#b7cae8;transform:translateY(-2px)}.quick-card img{width:34px;height:34px;margin-bottom:7px}.quick-card b{font-size:18px}.quick-card span{color:var(--muted);font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.service-card{background:#fff;border-radius:16px;padding:22px;display:flex;align-items:center;gap:18px;box-shadow:0 6px 20px rgba(30,60,110,.05)}.service-card img{width:34px}.service-card div{flex:1}.service-card h3{margin:0 0 5px}.service-card p{margin:0;color:var(--muted);font-size:14px}.service-card>span{font-size:30px;color:var(--blue)}.tabs{display:flex;background:#fff;border-radius:13px;padding:5px;width:max-content;margin-bottom:20px}.tabs button{border:0;background:transparent;padding:12px 40px;border-radius:9px;font-weight:700;color:var(--blue)}.tabs button.selected{background:var(--blue);color:#fff}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.credit-card{min-height:255px;border-radius:22px;padding:28px;background:linear-gradient(135deg,#173d80,#2076c9);color:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 34px rgba(19,61,134,.25)}.credit-card>img{height:36px;filter:brightness(0) invert(1);align-self:flex-start}.chip{width:45px;height:32px;border-radius:7px;background:linear-gradient(135deg,#f5db83,#bb9631)}.credit-card strong{font-size:23px;letter-spacing:3px}.credit-card>div:last-child{display:flex;justify-content:space-between;font-size:12px}.account-panel{background:#fff;border-radius:20px;padding:28px}.account-panel p{color:var(--muted);margin:0}.account-panel h2{font-size:34px;margin:7px 0 24px}.row-info{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:14px 0}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.button-row button,.benefit-card button,.data-row button{border:1px solid var(--blue);background:#fff;color:var(--blue);border-radius:25px;padding:11px;font-weight:700}.button-row button.primary{background:var(--blue);color:#fff}.movement-list{background:#fff;border-radius:18px;padding:5px 22px}.movement{display:flex;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid var(--line)}.movement:last-child{border:0}.movement-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#eaf1fb;color:var(--blue);font-weight:900}.movement div{display:flex;flex-direction:column;flex:1}.movement small{color:var(--muted);margin-top:4px}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.benefit-card{min-height:310px;border-radius:22px;padding:26px;color:white;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 13px 30px rgba(31,51,95,.18)}.benefit-card span{font-size:11px;font-weight:900;letter-spacing:1.5px}.benefit-card h2{font-size:30px;margin:10px 0}.benefit-card p{margin:0 0 18px}.benefit-card button{align-self:flex-start;background:#fff;border:0}.gradient-one{background:linear-gradient(155deg,#0b8e83,#36bda0)}.gradient-two{background:linear-gradient(155deg,#6e44ae,#9d6bd8)}.gradient-three{background:linear-gradient(155deg,#d96c2c,#ed9a41)}.profile-layout{display:grid;grid-template-columns:300px 1fr;gap:22px}.profile-summary,.profile-data{background:#fff;border-radius:20px;padding:30px}.profile-summary{text-align:center}.avatar{width:90px;height:90px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:30px;font-weight:900}.profile-summary h2{margin:0 0 8px}.profile-summary p{color:var(--muted)}.data-row{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.data-row div{display:flex;flex-direction:column;gap:6px}.data-row small{color:var(--muted)}.data-row button{padding:8px 18px}.logout-button{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--blue);color:#fff;border-radius:26px;padding:13px;margin-top:26px;font-weight:700}.logout-button img{width:18px}.login-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#edf3fb,#dce9f8)}.login-card{width:min(440px,100%);background:#fff;border-radius:24px;padding:38px;box-shadow:0 25px 70px rgba(19,61,134,.18)}.login-logo{height:48px}.login-card h1{font-size:32px;margin:28px 0 8px}.login-card>p{color:var(--muted);margin:0 0 25px}.login-form{display:flex;flex-direction:column;gap:9px}.login-form label{font-weight:700;margin-top:8px}.login-form input{border:1px solid #ccd5e2;border-radius:10px;padding:14px;font-size:16px}.login-form input:focus{outline:2px solid #b8cceb;border-color:var(--blue)}.login-form button{margin-top:16px;border:0;border-radius:28px;background:var(--blue);color:#fff;padding:14px;font-size:17px;font-weight:900}.login-card small{display:block;text-align:center;color:#98a1ad;margin-top:20px}.alert{background:#fff0f0;color:#a52222;border-radius:9px;padding:11px;margin:0 0 12px}.empty-state{text-align:center;background:white;border-radius:20px;padding:70px 20px}.empty-state a{color:var(--blue);font-weight:700}.loan-summary-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;margin-top:20px}.loan-main-card{justify-content:center;min-height:178px}.loan-detail-grid{display:grid;grid-template-columns:1fr;gap:14px}.detail-card{background:#fff;border-radius:20px;padding:22px 24px;box-shadow:0 8px 26px rgba(30,60,110,.07);display:flex;flex-direction:column;gap:7px}.detail-card span{font-size:14px;color:var(--muted)}.detail-card strong{font-size:25px;color:var(--text)}.detail-card small{color:var(--muted)}.quick-grid-single{grid-template-columns:minmax(260px,360px)}.mobile-nav{display:none}@media(max-width:760px){.topbar{height:68px;justify-content:center}.brand img{height:40px}.desktop-nav{display:none}.page-shell{padding:26px 14px 95px}.welcome,.page-heading{align-items:flex-start}.date-pill{display:none}.welcome h1,.page-heading h1{font-size:30px}.summary-grid,.loan-summary-grid,.quick-grid,.service-grid,.account-grid,.benefit-grid,.profile-layout{grid-template-columns:1fr}.loan-detail-grid{grid-template-columns:1fr 1fr}.quick-grid-single{grid-template-columns:1fr}.credit-card{min-height:225px}.benefit-card{min-height:245px}.mobile-nav{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:50;padding:7px 3px max(7px,env(safe-area-inset-bottom))}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;color:#768292;font-size:10px;font-weight:700}.mobile-nav a.active{color:var(--blue)}.mobile-nav img{width:22px;height:22px}.mini-profile{width:22px;height:22px;font-size:8px}.login-card{padding:28px 23px}.button-row{grid-template-columns:1fr}}@media(max-width:520px){.loan-detail-grid{grid-template-columns:1fr}}

/* Portada pública */
.public-body{min-height:100vh;background:#fff;color:var(--text)}
.public-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 max(6vw,24px);background:#fff;border-bottom:1px solid #edf0f5;position:relative;z-index:10}
.public-brand img{height:48px;width:auto;display:block}
.public-account-button,.public-primary-button{display:inline-flex;align-items:center;justify-content:center;border-radius:28px;font-weight:900;transition:transform .2s ease,box-shadow .2s ease}
.public-account-button{padding:12px 25px;color:#fff;background:var(--blue);box-shadow:0 8px 22px rgba(23,75,155,.18)}
.public-account-button:hover,.public-primary-button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(23,75,155,.24)}
.public-main{min-height:calc(100vh - 88px);display:flex;align-items:stretch}
.public-hero{width:100%;min-height:calc(100vh - 88px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);align-items:center;gap:40px;padding:70px max(6vw,24px);overflow:hidden;background:linear-gradient(125deg,#fff 0%,#fff 55%,#eff5fc 100%)}
.public-hero-content{max-width:650px;position:relative;z-index:2}
.public-kicker{margin:0 0 18px;color:var(--green);font-size:13px;font-weight:900;letter-spacing:2.4px}
.public-hero h1{margin:0;color:var(--blue2);font-size:clamp(44px,5vw,72px);line-height:1.02;letter-spacing:-2px}
.public-description{max-width:560px;margin:25px 0 32px;color:var(--muted);font-size:20px;line-height:1.55}
.public-primary-button{padding:15px 30px;background:var(--blue);color:#fff;font-size:17px}
.public-hero-visual{position:relative;min-height:490px;display:grid;place-items:center}
.public-shape{position:absolute;border-radius:50%}
.public-shape-one{width:430px;height:430px;background:linear-gradient(145deg,#174b9b,#2870cd);box-shadow:0 40px 80px rgba(23,75,155,.25)}
.public-shape-two{width:230px;height:230px;right:-65px;top:8px;background:rgba(36,162,123,.18)}
.public-loan-card{position:relative;z-index:2;width:min(390px,85%);min-height:235px;padding:34px;border-radius:28px;background:rgba(255,255,255,.96);box-shadow:0 30px 70px rgba(18,55,110,.24);display:flex;flex-direction:column;justify-content:center;gap:10px;transform:rotate(-3deg)}
.public-loan-card img{width:108px;height:auto;margin-bottom:18px}
.public-loan-card span{color:var(--muted);font-size:15px}
.public-loan-card strong{color:var(--blue);font-size:31px;line-height:1.1}
.public-loan-card small{color:var(--muted);font-size:14px;margin-top:8px}
@media(max-width:900px){.public-hero{grid-template-columns:1fr;padding-top:55px}.public-hero-content{text-align:center;margin:0 auto}.public-description{margin-left:auto;margin-right:auto}.public-hero-visual{min-height:380px}.public-shape-one{width:340px;height:340px}}
@media(max-width:600px){.public-header{height:72px;padding:0 18px}.public-brand img{height:39px}.public-account-button{padding:10px 18px;font-size:14px}.public-main,.public-hero{min-height:calc(100vh - 72px)}.public-hero{padding:44px 18px 58px;gap:18px}.public-hero h1{font-size:42px;letter-spacing:-1px}.public-description{font-size:17px}.public-hero-visual{min-height:320px}.public-shape-one{width:285px;height:285px}.public-shape-two{width:150px;height:150px}.public-loan-card{min-height:205px;padding:27px}.public-loan-card strong{font-size:26px}}

/* Pie de página público */
.public-footer{background:#103f84;color:#fff}
.public-footer a{color:rgba(255,255,255,.88);transition:color .2s ease}
.public-footer a:hover{color:#fff;text-decoration:underline}
.public-footer-top{max-width:1280px;margin:0 auto;padding:64px max(5vw,24px) 42px;display:grid;grid-template-columns:1.2fr 1fr 1.15fr 1.45fr;gap:46px}
.public-footer h2{font-size:18px;margin:0 0 20px;color:#fff}
.public-footer h3{font-size:15px;margin:25px 0 12px;color:#fff}
.footer-contact p{margin:0 0 15px;line-height:1.55;color:rgba(255,255,255,.82)}
.footer-legal-highlights{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:11px;font-size:14px;line-height:1.45}
.footer-subtitle{margin-top:24px!important}
.footer-company{display:flex;flex-direction:column;gap:5px;margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);font-size:12px;line-height:1.45}
.footer-company strong{margin-top:5px;color:#fff}
.footer-company span{color:rgba(255,255,255,.8)}
.footer-social{display:flex;gap:10px}
.footer-social a{width:34px;height:34px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:900;text-decoration:none}
.public-footer-actions{max-width:1280px;margin:0 auto;padding:0 max(5vw,24px) 42px;display:flex;gap:14px;flex-wrap:wrap}
.footer-action-button{display:inline-flex;align-items:center;justify-content:center;min-width:230px;padding:13px 22px;border-radius:28px;background:#fff;color:#103f84!important;font-weight:900;text-decoration:none!important}
.footer-action-button-outline{background:transparent;color:#fff!important;border:2px solid rgba(255,255,255,.8)}
.public-footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:20px max(5vw,24px);text-align:center;color:rgba(255,255,255,.7);font-size:12px}
@media(max-width:1050px){.public-footer-top{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.public-footer-top{grid-template-columns:1fr;padding-top:45px;gap:36px}.public-footer-actions{flex-direction:column}.footer-action-button{width:100%}.footer-column-wide{padding-top:4px}}

/* Ajustes de Inicio, Autogestión, Perfil y pie institucional */
.summary-grid-single{grid-template-columns:minmax(280px,1fr);max-width:760px}
.service-card{color:inherit;text-decoration:none}
.service-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(30,60,110,.11)}
.service-grid-loans{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-grid-loans .service-card:last-child{grid-column:1/-1}
.footer-social a{background:#fff;border-color:#fff}
.footer-social a img{width:17px;height:17px;display:block;filter:none}
.footer-institutional-logos{max-width:1280px;margin:0 auto;padding:4px max(5vw,24px) 32px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.footer-institutional-logos a{display:block;background:#fff;border-radius:8px;padding:6px;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.footer-institutional-logos img{display:block;width:auto;height:82px;max-width:250px;object-fit:contain}
@media(max-width:760px){.service-grid-loans{grid-template-columns:1fr}.service-grid-loans .service-card:last-child{grid-column:auto}}
@media(max-width:520px){.footer-institutional-logos{align-items:stretch;flex-direction:column}.footer-institutional-logos a{width:100%}.footer-institutional-logos img{width:100%;height:auto;max-width:100%}}

/* ===== Ajuste footer público: composición visual del sitio QIDA original ===== */
.public-footer{background:#fff;color:#596273;border-top:1px solid #edf0f4;font-family:'Lato',sans-serif}
.public-footer a{color:#667080;text-decoration:none;transition:color .18s ease}
.public-footer a:hover{color:#133f82;text-decoration:none}
.public-footer-top{width:min(1140px,calc(100% - 40px));margin:0 auto;padding:52px 0 30px;display:grid;grid-template-columns:1.18fr .92fr 1.02fr 1.28fr;gap:42px;align-items:start}
.public-footer h2{position:relative;font-size:16px;line-height:1.3;font-weight:900;text-transform:none;color:#153f80;margin:0 0 19px;padding-bottom:10px}
.public-footer h2:after{content:"";position:absolute;left:0;bottom:0;width:30px;height:2px;background:#1a65ad}
.public-footer h3{font-size:14px;font-weight:900;color:#153f80;margin:23px 0 11px}
.footer-contact p{margin:0 0 13px;color:#667080;font-size:13px;line-height:1.55}
.footer-contact p strong{color:#3f4856;font-weight:700}
.footer-legal-highlights{display:flex;flex-direction:column;gap:8px;margin-top:18px;font-size:12px;line-height:1.45}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4}
.footer-column>a{display:block}
.footer-subtitle{margin-top:21px!important;width:100%}
.footer-company{display:flex;flex-direction:column;gap:3px;margin-top:18px;padding-top:15px;border-top:1px solid #e6e9ee;font-size:11px;line-height:1.4;color:#737c8b}
.footer-company strong{margin-top:4px;color:#3e4856;font-weight:900}
.footer-company span{color:#737c8b}
.footer-social{display:flex;align-items:center;gap:9px}
.footer-social a{width:30px;height:30px;border:1px solid #dce1e8;border-radius:50%;display:grid;place-items:center;background:#fff}
.footer-social a:hover{border-color:#1a65ad;transform:translateY(-1px)}
.footer-social a img{display:block;width:14px;height:14px;object-fit:contain}
.footer-institutional-logos{width:min(1140px,calc(100% - 40px));margin:0 auto;padding:8px 0 28px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;border-top:1px solid #edf0f4}
.footer-institutional-logos a{display:flex;align-items:center;background:transparent;border-radius:0;padding:18px 0 0;box-shadow:none}
.footer-institutional-logos img{display:block;width:auto;height:64px;max-width:235px;object-fit:contain}
.public-footer-actions{width:min(1140px,calc(100% - 40px));margin:0 auto;padding:0 0 28px;display:flex;gap:12px;flex-wrap:wrap}
.footer-action-button{display:inline-flex;align-items:center;justify-content:center;min-width:218px;padding:11px 20px;border-radius:4px;background:#174b8e;color:#fff!important;border:1px solid #174b8e;font-size:12px;font-weight:900;text-decoration:none!important}
.footer-action-button-outline{background:#fff;color:#174b8e!important;border-color:#174b8e}
.public-footer-bottom{border-top:1px solid #e6e9ee;background:#f7f8fa;padding:18px 20px;text-align:center;color:#7b8491;font-size:11px}
@media(max-width:1020px){.public-footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 50px}}
@media(max-width:620px){.public-footer-top{width:min(100% - 32px,1140px);grid-template-columns:1fr;padding-top:38px;gap:32px}.footer-institutional-logos,.public-footer-actions{width:min(100% - 32px,1140px)}.footer-institutional-logos{align-items:flex-start;flex-direction:column;gap:8px}.footer-institutional-logos img{max-width:100%;height:auto;max-height:70px}.public-footer-actions{flex-direction:column}.footer-action-button{width:100%}}

/* ===== Inicio Mi Cuenta: préstamo + estado ===== */
.account-status-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);gap:20px;margin-top:20px}
.available-loan-card{min-height:168px}
.account-status-card{min-height:168px;border-radius:20px;padding:27px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 12px 28px rgba(30,60,110,.10);color:#fff}
.account-status-card span{font-size:14px;font-weight:700;opacity:.88}
.account-status-card strong{font-size:34px;line-height:1.1;margin:10px 0 8px;letter-spacing:.2px}
.account-status-card small{font-size:13px;opacity:.84}
.account-status--current{background:#174f94}
.account-status--late{background:#c73131}
.account-status--passive{background:#737b86}
.loan-overview-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.45fr);gap:20px;margin-top:20px;align-items:stretch}
.loan-compact-card{background:#fff;border-radius:20px;padding:22px 24px;box-shadow:0 8px 26px rgba(30,60,110,.07);display:flex;flex-direction:column;justify-content:center;min-height:224px}
.loan-compact-heading{display:grid;grid-template-columns:1fr auto;grid-template-areas:'title label' 'title code';align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}
.loan-compact-heading>span{grid-area:title;color:var(--blue);font-size:21px;font-weight:900}
.loan-compact-heading>small{grid-area:label;color:var(--muted);font-size:11px;text-align:right}
.loan-compact-heading>b{grid-area:code;color:var(--text);font-size:14px;text-align:right;margin-top:2px}
.loan-compact-value,.loan-credit-line{display:flex;flex-direction:column;gap:5px;padding-top:15px}
.loan-compact-value small,.loan-credit-line small{color:var(--muted);font-size:12px}
.loan-compact-value strong,.loan-credit-line strong{font-size:25px;line-height:1.1;color:var(--text)}
.loan-credit-line{margin-top:14px;border-top:1px solid var(--line)}
.loan-credit-line strong{color:var(--blue)}
.loan-detail-grid-home{grid-template-columns:1fr;gap:14px}
.loan-detail-grid-home .detail-card{min-height:105px;justify-content:center}
@media(max-width:760px){.account-status-grid,.loan-overview-grid{grid-template-columns:1fr}.account-status-card,.available-loan-card{min-height:150px}.loan-compact-card{min-height:auto}.loan-compact-heading{grid-template-columns:1fr;grid-template-areas:'title' 'label' 'code';gap:4px}.loan-compact-heading>small,.loan-compact-heading>b{text-align:left}.loan-compact-heading>small{margin-top:10px}}

/* ===== Publicidad pública de préstamos ===== */
.loan-publicity{position:relative;width:100%;min-height:345px;overflow:hidden;background:#eef4fb}
.loan-publicity-image{position:absolute;inset:0;display:block}
.loan-publicity-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.loan-publicity-overlay{position:relative;z-index:1;width:min(1140px,calc(100% - 40px));min-height:345px;margin:0 auto;display:flex;align-items:center;padding:34px 0}
.loan-publicity-copy{max-width:620px;background:rgba(255,255,255,.95);border-radius:18px;padding:27px 31px;box-shadow:0 15px 45px rgba(19,63,130,.14);backdrop-filter:blur(3px)}
.loan-publicity-copy h2{font-size:31px;line-height:1.12;color:#153f80;margin:6px 0 14px;letter-spacing:-.5px}
.loan-publicity-legal{font-size:12px;line-height:1.5;color:#5f6875}
.loan-publicity-legal p{margin:0 0 7px}
.loan-publicity-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px}
.loan-info-toggle{border:0;background:transparent;padding:8px 0;color:#174b9b;font-family:inherit;font-size:14px;font-weight:900;cursor:pointer}
.loan-info-toggle:hover{text-decoration:underline}
@media(min-width:651px){.loan-publicity-legal{display:block}}
@media(max-width:650px){.loan-publicity{min-height:425px}.loan-publicity-overlay{width:100%;min-height:425px;align-items:flex-end;padding:18px}.loan-publicity-copy{width:100%;max-width:none;padding:21px;border-radius:15px}.loan-publicity-copy h2{font-size:25px}.loan-publicity-legal{display:none;margin-top:10px}.loan-publicity-legal.is-visible{display:block}.loan-publicity-actions{gap:13px}.loan-publicity-actions .public-primary-button{padding:12px 17px}}

/* ===== Formulario público de préstamo ===== */
.loan-form-body{min-height:100vh;background:#f1f5fa;color:#1d2735}
.loan-form-header{position:relative;box-shadow:0 4px 20px rgba(25,57,101,.07)}
.loan-form-main{padding:46px 20px 80px}
.loan-form-shell{width:min(920px,100%);margin:0 auto}
.loan-form-back{display:inline-flex;margin-bottom:18px;color:#174b9b;font-size:14px;font-weight:900}
.loan-form-card{background:#fff;border-radius:22px;box-shadow:0 14px 45px rgba(25,57,101,.10);overflow:hidden}
.loan-form-intro{padding:34px 38px 27px;border-bottom:1px solid #e6ebf1}
.loan-form-intro h1{font-size:31px;line-height:1.18;color:#173e7c;margin:5px 0 9px}
.loan-form-intro>p:last-child{margin:0;color:#6c7684}
.loan-application-form{padding:32px 38px 38px}
.loan-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 25px}
.form-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.form-field>span,.form-field legend{font-size:13px;color:#394556;font-weight:900}
.form-field input,.form-field select{width:100%;height:49px;border:1px solid #ced6e1;border-radius:7px;background:#fff;padding:0 14px;color:#243044;font:inherit;outline:none;transition:border-color .16s,box-shadow .16s}
.form-field input:focus,.form-field select:focus{border-color:#1b62aa;box-shadow:0 0 0 3px rgba(27,98,170,.12)}
.form-field input::placeholder{color:#9aa3af}
.form-field small{color:#7b8491;font-size:11px}
.form-field-phone{border:0;padding:0;margin:0;grid-column:1/-1}
.form-field-phone legend{padding:0;margin:0 0 8px}
.phone-grid{display:grid;grid-template-columns:150px minmax(0,1fr);gap:15px}
.phone-grid label{display:flex;flex-direction:column;gap:7px}
.phone-grid label span{font-size:11px;color:#6e7885;font-weight:700}
.terms-check{display:flex;align-items:flex-start;gap:11px;margin:29px 0 24px;color:#586373;font-size:13px;line-height:1.45}
.terms-check input{margin-top:3px;width:17px;height:17px;accent-color:#174b9b}
.terms-check a{color:#174b9b;font-weight:900}
.loan-submit-button{min-width:190px;border:0;border-radius:25px;background:#174b9b;color:#fff;padding:14px 27px;font:900 14px Lato,Arial,sans-serif;cursor:pointer;box-shadow:0 8px 18px rgba(23,75,155,.20)}
.loan-submit-button:hover{background:#103f84}
.loan-form-success{background:#fff;border-radius:22px;padding:42px;display:flex;gap:24px;align-items:flex-start;box-shadow:0 14px 45px rgba(25,57,101,.10)}
.loan-form-success>span{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:50%;background:#1f9c75;color:#fff;font-size:26px;font-weight:900}
.loan-form-success h1{margin:0 0 9px;color:#173e7c;font-size:30px}
.loan-form-success p{margin:0 0 24px;color:#697483;line-height:1.55}
@media(max-width:650px){.loan-form-main{padding:28px 15px 55px}.loan-form-intro{padding:27px 22px 22px}.loan-form-intro h1{font-size:25px}.loan-application-form{padding:25px 22px 29px}.loan-form-grid{grid-template-columns:1fr;gap:19px}.form-field-phone{grid-column:auto}.phone-grid{grid-template-columns:105px minmax(0,1fr);gap:10px}.loan-submit-button{width:100%}.loan-form-success{padding:28px 22px;flex-direction:column}}


/* ===== Ajustes Mi Cuenta: préstamo, login y simulador ===== */
.loan-title-inline{display:flex!important;align-items:center;justify-content:space-between;gap:16px}
.loan-title-inline>span{font-size:21px;font-weight:900;color:var(--blue)}
.loan-title-inline>b{font-size:16px;color:var(--text);text-align:right}
.forgot-link{display:block;text-align:center;color:var(--blue);font-weight:700;margin-top:18px}
.forgot-link:hover{text-decoration:underline}
.success-message{background:#eaf7f2;color:#187556;border-radius:10px;padding:13px 15px;margin-bottom:16px}

.loan-current-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}
.loan-current-summary>div{background:#fff;border-radius:16px;padding:19px 21px;display:flex;flex-direction:column;gap:5px;box-shadow:0 6px 20px rgba(30,60,110,.05)}
.loan-current-summary small{color:var(--muted)}
.loan-current-summary strong{font-size:20px;color:var(--blue)}
.installments-card,.simulator-card{background:#fff;border-radius:20px;padding:26px;box-shadow:0 8px 26px rgba(30,60,110,.07)}
.installments-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.installments-head h2,.simulator-heading h2{margin:0;font-size:23px}
.status-legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.status-legend span{display:flex;align-items:center;gap:6px}
.status-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.status-dot.paid,.status-paid{background:#e7f6ef;color:#18845f}
.status-dot.overdue,.status-overdue{background:#fde9e9;color:#bd2d2d}
.status-dot.pending,.status-pending{background:#e8f0fb;color:#174b9b}
.installments-table-wrap{overflow-x:auto}
.installments-table{width:100%;border-collapse:collapse;min-width:620px}
.installments-table th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.6px;padding:12px 14px;border-bottom:1px solid var(--line)}
.installments-table td{padding:15px 14px;border-bottom:1px solid var(--line)}
.installments-table tbody tr:last-child td{border-bottom:0}
.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:88px;border-radius:20px;padding:7px 12px;font-size:12px;font-weight:900}

.loan-availability-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.loan-availability-grid article{background:#fff;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:8px;box-shadow:0 6px 20px rgba(30,60,110,.05)}
.loan-availability-grid span{font-size:12px;color:var(--muted)}
.loan-availability-grid strong{font-size:20px;color:var(--blue)}
.simulator-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:25px}
.sim-rate{background:#eef4fb;color:var(--blue);border-radius:20px;padding:9px 13px;font-size:12px}
.simulator-fields{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(320px,1.15fr);gap:28px;align-items:end}
.amount-field,.installment-selector{display:flex;flex-direction:column;gap:9px;font-weight:700}
.amount-field small{font-weight:400;color:var(--muted)}
.money-input{display:flex;align-items:center;border:1px solid #ccd5e2;border-radius:12px;background:#fff;overflow:hidden}
.money-input span{padding-left:14px;font-weight:900;color:var(--blue)}
.money-input input{width:100%;border:0;padding:14px 12px;font-size:18px;font-weight:900;outline:0}
.installment-selector label{display:flex;justify-content:space-between;gap:12px}
.installment-selector input[type=range]{width:100%;accent-color:var(--blue)}
.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}
.simulate-button{margin-top:24px;border:0;border-radius:28px;background:var(--blue);color:#fff;padding:13px 28px;font-size:16px;font-weight:900;cursor:pointer}
.simulate-button:hover{background:var(--blue2)}
.simulation-results{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}
.simulation-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}
.simulation-summary article{background:var(--light);border-radius:15px;padding:18px;display:flex;flex-direction:column;gap:6px}
.simulation-summary span{font-size:12px;color:var(--muted)}
.simulation-summary strong{font-size:19px;color:var(--blue)}
.simulation-breakdown h3{margin:0 0 13px}
.simulation-note{font-size:12px;color:var(--muted);margin:16px 0 0}

@media(max-width:900px){
  .loan-availability-grid{grid-template-columns:repeat(2,1fr)}
  .simulator-fields{grid-template-columns:1fr}
}
@media(max-width:760px){
  .loan-current-summary,.simulation-summary{grid-template-columns:1fr}
  .installments-head,.simulator-heading{align-items:flex-start;flex-direction:column}
  .installments-table{min-width:0}
  .installments-table thead{display:none}
  .installments-table,.installments-table tbody,.installments-table tr,.installments-table td{display:block;width:100%}
  .installments-table tr{padding:12px 0;border-bottom:1px solid var(--line)}
  .installments-table td{display:flex;justify-content:space-between;gap:16px;border:0;padding:7px 4px}
  .installments-table td::before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:700}
}
@media(max-width:520px){
  .loan-availability-grid{grid-template-columns:1fr}
}

/* ===== Ajustes préstamo y pantalla de pago ===== */
.loan-title-stacked{display:flex!important;flex-direction:column;align-items:flex-start;gap:4px}
.loan-title-stacked>span{font-size:21px;font-weight:900;color:var(--blue)}
.loan-title-stacked>b{font-size:16px;color:var(--text);font-weight:900}

.payment-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}
.payment-summary-card{background:#fff;border-radius:18px;padding:22px 24px;box-shadow:0 8px 26px rgba(30,60,110,.07);display:flex;flex-direction:column;gap:7px;border:1px solid #edf1f6}
.payment-summary-card span{font-size:13px;color:var(--muted);font-weight:700}
.payment-summary-card strong{font-size:23px;color:var(--blue)}
.payment-summary-card small{color:var(--muted);line-height:1.4}
.payment-balance-card{background:linear-gradient(135deg,var(--blue),#2870cd);border:0;color:#fff}
.payment-balance-card span,.payment-balance-card small,.payment-balance-card strong{color:#fff}
.payment-balance-card small{opacity:.82}
.payment-methods-section{margin-top:8px}
.payment-section-heading{margin-bottom:20px}
.payment-section-heading h2{margin:0 0 6px;font-size:25px}
.payment-section-heading>p:last-child{margin:0;color:var(--muted)}
.payment-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.payment-method-card{background:#fff;border-radius:20px;padding:24px;box-shadow:0 8px 26px rgba(30,60,110,.07);border:1px solid #edf1f6;display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-height:260px}
.payment-method-icon{width:48px;height:48px;border-radius:14px;background:#edf4fd;color:var(--blue);display:grid;place-items:center;font-size:25px;font-weight:900}
.payment-method-icon--bank{background:#e8f1fc}
.payment-method-title h3{margin:0 0 5px;font-size:20px;color:var(--text)}
.payment-method-title p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}
.payment-transfer-options{width:100%;display:grid;gap:10px}
.payment-account-box{border:1px solid #dce5f0;border-radius:14px;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fafcff}
.payment-account-box--instant{border-color:#ccebdd;background:#f5fcf9}
.payment-account-box>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.payment-account-box span{color:var(--muted);font-size:12px;font-weight:700}
.payment-account-box strong{color:var(--blue);font-size:14px;word-break:break-word}
.payment-account-box small{color:var(--muted);font-size:11px}
.copy-payment-data{border:1px solid var(--blue);border-radius:18px;background:#fff;color:var(--blue);padding:8px 12px;font-weight:900;cursor:pointer;flex:0 0 auto}
.payment-method-note{display:inline-flex;border-radius:20px;padding:8px 12px;font-size:12px;font-weight:900;background:#eef3f8;color:var(--muted)}
.payment-method-note--instant{background:#e7f6ef;color:#18845f}
.payment-primary-button,.payment-secondary-button{border-radius:24px;padding:12px 18px;font-family:inherit;font-size:14px;font-weight:900;cursor:pointer;margin-top:auto}
.payment-primary-button{border:0;background:var(--blue);color:#fff}
.payment-secondary-button{border:1px solid var(--blue);background:#fff;color:var(--blue)}
.payment-primary-button:hover{background:var(--blue2)}
.payment-secondary-button:hover{background:#f1f6fd}
.payment-brand-row{display:flex;gap:8px;flex-wrap:wrap}
.payment-brand-pill{border-radius:18px;background:#f0f4f9;color:#4c5a6c;padding:7px 10px;font-size:11px;font-weight:900}

.payment-slip-dialog{width:min(760px,calc(100% - 28px));max-height:90vh;border:0;border-radius:20px;padding:0;box-shadow:0 28px 80px rgba(14,35,68,.28);overflow:hidden}
.payment-slip-dialog::backdrop{background:rgba(18,31,49,.58)}
.payment-slip-toolbar{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;background:#f5f7fa;border-bottom:1px solid var(--line)}
.payment-slip-toolbar>div{display:flex;flex-direction:column;gap:3px}
.payment-slip-toolbar small{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:1.3px}
.payment-slip-toolbar strong{color:var(--text)}
.payment-slip-close{border:0;background:transparent;font-size:30px;line-height:1;color:#6f7a88;cursor:pointer}
.payment-slip-paper{padding:28px;background:#fff}
.payment-slip-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px dashed #cbd3de}
.payment-slip-brand img{height:43px;width:auto}
.payment-slip-brand>div{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}
.payment-slip-brand small{color:var(--muted)}
.payment-slip-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px 0}
.payment-slip-summary>div{display:flex;flex-direction:column;gap:4px}
.payment-slip-summary span{font-size:11px;color:var(--muted)}
.payment-slip-summary strong{font-size:14px;color:var(--text)}
.payment-barcode{height:78px;margin:8px 0;background:repeating-linear-gradient(90deg,#111 0,#111 2px,#fff 2px,#fff 5px,#111 5px,#111 8px,#fff 8px,#fff 10px,#111 10px,#111 11px,#fff 11px,#fff 15px)}
.payment-barcode-number{text-align:center;letter-spacing:3px;font-family:monospace;font-size:12px;color:#333;margin-bottom:26px}
.payment-slip-qr-section{display:grid;grid-template-columns:145px 1fr;gap:22px;align-items:center;padding:20px;border:1px solid #e3e8ef;border-radius:16px;background:#fafbfd}
.demo-qr{width:132px;height:132px;padding:8px;background:#fff;border:1px solid #dfe4eb;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);gap:2px}
.demo-qr i{display:block;background:#fff}
.demo-qr i:nth-child(2n),.demo-qr i:nth-child(3n+1),.demo-qr i:nth-child(7n+1),.demo-qr i:nth-child(11n+3){background:#111}
.demo-qr i:nth-child(1),.demo-qr i:nth-child(2),.demo-qr i:nth-child(3),.demo-qr i:nth-child(8),.demo-qr i:nth-child(10),.demo-qr i:nth-child(15),.demo-qr i:nth-child(16),.demo-qr i:nth-child(17),.demo-qr i:nth-child(5),.demo-qr i:nth-child(6),.demo-qr i:nth-child(7),.demo-qr i:nth-child(12),.demo-qr i:nth-child(14),.demo-qr i:nth-child(19),.demo-qr i:nth-child(20),.demo-qr i:nth-child(21){background:#111}
.payment-slip-qr-section strong{font-size:19px;color:var(--blue)}
.payment-slip-qr-section p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.payment-slip-locations{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.payment-slip-locations span{font-size:11px;font-weight:900;color:#596779;border:1px solid #dce2ea;border-radius:17px;padding:7px 10px}

@media(max-width:820px){
  .payment-summary-grid,.payment-method-grid{grid-template-columns:1fr}
  .payment-slip-summary{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .payment-account-box{align-items:flex-start;flex-direction:column}
  .payment-slip-paper{padding:20px 16px}
  .payment-slip-brand{align-items:flex-start}
  .payment-slip-summary{grid-template-columns:1fr 1fr}
  .payment-slip-qr-section{grid-template-columns:1fr;text-align:center}
  .demo-qr{margin:0 auto}
}


/* ===== Contacto, refinanciación y notificación de pagos ===== */
.qida-section-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 5px 18px rgba(30,60,110,.05)}
.home-contact-section{margin-top:28px;padding:24px 26px}
.home-section-heading{margin-bottom:18px}.home-section-heading h2{margin:2px 0 6px;font-size:23px;color:var(--text)}.home-section-heading p:last-child{margin:0;color:var(--muted);font-size:14px}
.contact-list{border-top:1px solid var(--line)}
.contact-line{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 2px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background .18s ease}
.contact-line:last-child{border-bottom:0}.contact-line:hover{background:#f8fbff}.contact-line>div{display:flex;flex-direction:column;gap:3px}.contact-line-label{font-size:12px;font-weight:800;color:var(--muted)}.contact-line strong{font-size:16px;color:var(--text)}.contact-line-action{display:inline-flex;align-items:center;justify-content:center;min-width:92px;border:1px solid #b9cde6;border-radius:18px;padding:7px 12px;color:var(--blue);font-size:12px;font-weight:900;background:#fff}.contact-line--disabled{opacity:.55}.contact-line--disabled:hover{background:transparent}
.refinance-callout{margin-top:18px;padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:28px}.refinance-callout-copy h2{margin:2px 0 7px;font-size:22px;color:var(--text)}.refinance-callout-copy p:last-child{margin:0;color:var(--muted);font-size:14px;line-height:1.55;max-width:690px}
.qida-primary-button,.qida-secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:22px;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:900;text-decoration:none;cursor:pointer;transition:.18s ease}.qida-primary-button{border:1px solid var(--blue);background:var(--blue);color:#fff}.qida-primary-button:hover{background:var(--blue2)}.qida-secondary-button{border:1px solid #b9c9dc;background:#fff;color:var(--blue)}.qida-secondary-button:hover{background:#f5f9fe}
.qida-dialog{width:min(720px,calc(100% - 32px));max-height:88vh;margin:auto;border:0;border-radius:18px;padding:0;background:transparent;box-shadow:0 26px 70px rgba(16,37,66,.28);overflow:visible}.qida-dialog::backdrop{background:rgba(21,38,61,.5)}
.qida-modal-card{max-height:88vh;overflow:auto;padding:0;background:#fff;border-radius:18px;border:1px solid #dce5ef}.qida-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 18px;border-bottom:1px solid var(--line);background:#fff}.qida-modal-header h2{margin:2px 0 5px;font-size:22px;color:var(--text)}.qida-modal-header p:last-child{margin:0;color:var(--muted);font-size:13px}.qida-modal-close{width:34px;height:34px;border:1px solid #d6dfeb;border-radius:50%;background:#fff;color:#687687;font-size:23px;line-height:1;cursor:pointer}.qida-modal-close:hover{background:#f5f8fc}
#refinanceFormBody{padding:22px 24px 24px}.qida-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.qida-field{display:flex;flex-direction:column;gap:7px}.qida-field>span{font-size:12px;font-weight:800;color:#4f5d6e}.qida-field>span small{font-weight:500;color:var(--muted)}.qida-field input,.qida-field select{width:100%;height:44px;border:1px solid #cdd7e4;border-radius:9px;background:#fff;padding:0 12px;font:inherit;font-size:14px;color:var(--text);outline:none;box-sizing:border-box}.qida-field select{appearance:auto}.qida-field input:focus,.qida-field select:focus{border-color:#7ca6d7;box-shadow:0 0 0 3px rgba(43,103,171,.09)}.qida-field input[readonly]{background:#f5f7fa;color:#667486}.qida-field--full{grid-column:1/-1}.qida-input-prefix{height:44px;display:flex;align-items:center;border:1px solid #cdd7e4;border-radius:9px;background:#fff;overflow:hidden}.qida-input-prefix:focus-within{border-color:#7ca6d7;box-shadow:0 0 0 3px rgba(43,103,171,.09)}.qida-input-prefix b{padding-left:12px;color:#667486;font-size:14px}.qida-input-prefix input{border:0!important;height:42px!important;box-shadow:none!important;padding-left:7px!important}.qida-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.local-success-message{text-align:center;padding:34px 24px}.success-check{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto 13px;background:#e6f5ee;color:#188158;font-size:26px;font-weight:900}.local-success-message h3{margin:0 0 7px;font-size:22px;color:var(--text)}.local-success-message p{margin:0 auto 19px;max-width:500px;color:var(--muted);font-size:14px;line-height:1.55}
.payment-notice-heading{margin-bottom:18px}.payment-notice-info{padding:22px 26px;margin-bottom:18px;border-left:4px solid var(--blue)}.payment-notice-info-copy h2{margin:2px 0 8px;font-size:20px;color:var(--text)}.payment-notice-info-copy p{margin:6px 0;color:#566579;font-size:14px;line-height:1.55}.payment-notice-card{padding:24px 26px}.payment-form-heading{margin-bottom:19px}.payment-form-heading h2{margin:0 0 5px;font-size:21px}.payment-form-heading p{margin:0;color:var(--muted);font-size:14px}.payment-method-field{max-width:440px}.payment-notice-dynamic{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.notice-destination{grid-column:1/-1;padding:16px 18px;border:1px solid #d4e1ef;border-radius:11px;background:#f7faff;display:flex;flex-direction:column;gap:3px}.notice-destination span{font-size:11px;font-weight:800;color:var(--muted)}.notice-destination strong{font-size:17px;color:var(--blue)}.notice-destination small{font-size:13px;color:#566579}.notice-file-field input[type=file]{height:auto;padding:10px 12px}.notice-file-field>small{font-size:11px;color:var(--muted);font-weight:400}.payment-notice-actions{margin-top:22px}.payment-notice-success{padding:34px 20px}
@media(max-width:820px){.refinance-callout{align-items:flex-start;flex-direction:column}.qida-form-grid{grid-template-columns:1fr}.qida-field--full,.notice-destination{grid-column:auto}.payment-method-field{max-width:none}}
@media(max-width:520px){.home-contact-section,.refinance-callout,.payment-notice-info,.payment-notice-card{padding:20px 16px}.contact-line{align-items:flex-start;flex-direction:column;gap:10px}.contact-line-action{min-width:0}.qida-dialog{width:calc(100% - 20px)}.qida-modal-header{padding:19px 18px 15px}#refinanceFormBody{padding:18px}.qida-modal-actions{flex-direction:column-reverse}.qida-modal-actions .qida-primary-button,.qida-modal-actions .qida-secondary-button{width:100%}.refinance-callout .qida-primary-button{width:100%}}

/* ===== Corrección visual integrada: contacto, refinanciación y notificación ===== */
.support-section{margin-top:44px}
.support-section .section-title{margin-top:0;margin-bottom:17px}
.support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.support-card{min-height:132px;padding:21px 22px;align-items:center}
.support-card div{display:flex;flex-direction:column;gap:4px}
.support-card h3{font-size:17px;color:var(--text);margin:0 0 2px}
.support-card p{font-size:12px;margin:0;color:var(--muted)}
.support-card strong{display:block;margin-top:7px;color:var(--blue);font-size:14px}
.support-card>span{font-size:28px;color:var(--blue)}
.support-card--disabled{opacity:.62}

.refinance-section{margin-top:32px;padding:27px 28px;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:0 8px 26px rgba(30,60,110,.07)}
.refinance-section-copy h2{font-size:21px;margin:1px 0 7px;color:var(--text)}
.refinance-section-copy>p:last-child{max-width:690px;margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.refinance-open-button{flex:0 0 auto}

.refinance-dialog{width:min(790px,calc(100% - 34px));max-height:90vh;border:0;padding:0;background:transparent;margin:auto;overflow:visible}
.refinance-dialog::backdrop{background:rgba(18,40,72,.48)}
.refinance-modal{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 22px 65px rgba(20,47,88,.25);border:1px solid #e1e7ef;max-height:90vh;overflow-y:auto}
.refinance-modal-intro{padding:29px 34px 23px;border-bottom:1px solid #e6ebf1;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.refinance-modal-intro h2{font-size:27px;line-height:1.2;color:#173e7c;margin:4px 0 7px}
.refinance-modal-intro>div>p:last-child{margin:0;color:#6c7684;font-size:14px}
.refinance-modal-close{width:36px;height:36px;display:grid;place-items:center;border:1px solid #d5dce5;border-radius:50%;background:#fff;color:#6d7887;font-size:24px;cursor:pointer;line-height:1}
.refinance-modal-close:hover{border-color:#174b9b;color:#174b9b;background:#f7faff}
.refinance-modal-body{padding:28px 34px 32px}
.refinance-form-grid{gap:21px 24px}
.refinance-modal .form-field input[readonly]{background:#f5f7fa;color:#667486}
.refinance-actions,.payment-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:27px}
.secondary-form-button{min-width:130px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #bfcada;border-radius:25px;background:#fff;color:#174b9b;padding:13px 25px;font:900 14px Lato,Arial,sans-serif;cursor:pointer;text-decoration:none}
.secondary-form-button:hover{background:#f4f7fb;border-color:#9db2cd}
.form-money-input{height:49px;border:1px solid #ced6e1;border-radius:7px;background:#fff;display:flex;align-items:center;overflow:hidden;transition:border-color .16s,box-shadow .16s}
.form-money-input:focus-within{border-color:#1b62aa;box-shadow:0 0 0 3px rgba(27,98,170,.12)}
.form-money-input>span{padding-left:14px;color:#5d6978;font-weight:900}
.form-money-input input{height:47px!important;border:0!important;box-shadow:none!important;padding-left:8px!important}
.refinance-success{border-radius:0;box-shadow:none;padding:38px 34px}

/* Selects con la misma estética que los formularios originales */
.form-field select{
  appearance:none;
  -webkit-appearance:none;
  padding-right:42px;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23174b9b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 15px center;
  background-size:12px 7px;
  cursor:pointer;
}
.form-field select:hover{border-color:#aebdce}

.payment-notice-heading{margin-bottom:25px}
.payment-info-panel{background:#fff;border-radius:16px;padding:23px 26px 22px;margin-bottom:22px;box-shadow:0 6px 20px rgba(30,60,110,.05);border-left:4px solid var(--blue)}
.payment-info-panel h2{font-size:20px;margin:1px 0 8px;color:var(--text)}
.payment-info-panel p{margin:5px 0;color:var(--muted);font-size:14px;line-height:1.55}
.payment-notice-form-card{margin-top:0}
.payment-form-intro h2{font-size:25px;line-height:1.2;color:#173e7c;margin:4px 0 7px}
.payment-form-intro>p:last-child{margin:0;color:#6c7684}
.payment-method-row{width:min(470px,100%)}
.payment-notice-dynamic{margin-top:26px;padding-top:26px;border-top:1px solid #e6ebf1}
.payment-destination-box{margin-bottom:23px;border-radius:12px;background:#f4f8fd;border:1px solid #d7e2ef;padding:17px 19px;display:grid;grid-template-columns:160px 1fr;gap:4px 16px;align-items:center}
.payment-destination-box span{grid-row:1/3;color:#697687;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}
.payment-destination-box strong{color:#174b9b;font-size:17px}
.payment-destination-box small{color:#667486;font-size:13px}
.payment-fields-grid{gap:21px 25px}
.payment-file-field{grid-column:1/-1}
.payment-file-field input[type=file]{height:auto;min-height:49px;padding:10px 12px;background:#fff}
.payment-file-field input[type=file]::file-selector-button{border:0;border-radius:18px;background:#eaf1fb;color:#174b9b;font:900 12px Lato,Arial,sans-serif;padding:8px 13px;margin-right:12px;cursor:pointer}
.payment-file-field input[type=file]::file-selector-button:hover{background:#dbe8f8}
.payment-notice-success{border-radius:0;box-shadow:none;margin:0}

@media(max-width:850px){
  .support-grid{grid-template-columns:1fr}
  .support-card{min-height:108px}
  .refinance-section{align-items:flex-start;flex-direction:column}
  .refinance-open-button{width:100%}
}
@media(max-width:650px){
  .support-section{margin-top:34px}
  .refinance-section{padding:23px 22px}
  .refinance-modal-intro{padding:24px 22px 20px}
  .refinance-modal-body{padding:24px 22px 26px}
  .refinance-actions,.payment-form-actions{flex-direction:column-reverse}
  .refinance-actions .loan-submit-button,.refinance-actions .secondary-form-button,.payment-form-actions .loan-submit-button,.payment-form-actions .secondary-form-button{width:100%}
  .payment-info-panel{padding:20px 20px 19px}
  .payment-destination-box{grid-template-columns:1fr;gap:5px}
  .payment-destination-box span{grid-row:auto}
  .payment-file-field{grid-column:auto}
}

/* ===== Ajustes finales: contacto, refinanciación y notificación ===== */
.support-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}

.refinance-section{
  align-items:flex-start;
  flex-direction:column;
  gap:0;
}
.refinance-open-button{
  margin-top:24px;
  align-self:flex-start;
}
.refinance-actions{
  margin-top:34px;
}
.refinance-actions .loan-submit-button{
  min-width:150px;
}
.refinance-success-modal{
  overflow:hidden;
}
.refinance-success{
  padding:40px 36px;
}

.payment-form-actions{
  margin-top:36px;
  padding-top:4px;
}
.payment-form-actions .loan-submit-button{
  min-width:150px;
}

@media(max-width:850px){
  .support-grid{grid-template-columns:1fr;max-width:none}
}
@media(max-width:650px){
  .refinance-open-button{margin-top:20px}
  .refinance-actions,.payment-form-actions{margin-top:28px}
}


/* Resumen de múltiples productos */
.product-overviews{display:flex;flex-direction:column;gap:22px;margin-top:20px}
.product-overview-block{position:relative}
.product-overview-block+.product-overview-block{padding-top:2px}
.card-migrated-card{justify-content:flex-start}
.card-migrated-visual{margin-top:auto;min-height:72px;border-top:1px solid #e4e9f1;padding-top:17px;display:flex;align-items:center;gap:11px;color:var(--blue)}
.card-migrated-visual img{width:44px;height:44px;object-fit:contain}
.card-migrated-visual span{font-size:18px;font-weight:900;letter-spacing:1.5px;color:var(--blue)}
.multi-loan-list{display:flex;flex-direction:column;gap:28px}
.loan-product-card{background:#fff;border-radius:20px;box-shadow:0 8px 26px rgba(30,60,110,.07);overflow:hidden}
.loan-current-summary-multi{box-shadow:none;border-radius:0;border-bottom:1px solid var(--line);position:relative}
.loan-product-icon{display:flex!important;align-items:center;justify-content:flex-end;min-width:70px}
.loan-product-icon img{width:42px;height:42px}
.installments-card-nested{margin:0;border-radius:0;box-shadow:none}
@media(max-width:760px){
  .product-overviews{gap:18px}
  .loan-current-summary-multi{grid-template-columns:1fr!important}
  .loan-product-icon{justify-content:flex-start}
}


/* Selector de productos en Mis préstamos */
.loan-selector-card{max-width:760px;margin:0 auto 24px;background:#fff;border-radius:20px;padding:26px 28px;box-shadow:0 8px 26px rgba(30,60,110,.07);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.8fr);gap:28px;align-items:center;border:1px solid #e4e9f1}
.loan-selector-copy .eyebrow{margin-bottom:6px}.loan-selector-copy h2{margin:0 0 8px;font-size:23px;color:#1d2735}.loan-selector-copy p:last-child{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.loan-selector-control{margin:0}.loan-selector-control select{cursor:pointer}.selected-product-area{max-width:100%;margin:0 auto}.selectable-product[hidden]{display:none!important}.selected-product-area .loan-product-card{animation:qidaProductFade .18s ease-out}@keyframes qidaProductFade{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:760px){.loan-selector-card{grid-template-columns:1fr;padding:22px 20px;gap:20px;margin-bottom:20px}.loan-selector-copy h2{font-size:20px}}

/* ===== Inicio: selector por producto, prioridad de mora y cobranza ===== */
.home-product-selector{max-width:none;width:100%;box-sizing:border-box;margin-top:2px;margin-bottom:20px}
.home-selected-product-area{min-height:0}
.home-product-view[hidden]{display:none!important}
.home-product-view{animation:qidaHomeProductFade .2s ease-out}
@keyframes qidaHomeProductFade{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}
.available-loan-card--blocked{background:linear-gradient(135deg,#b82626,#d54141);color:#fff}
.available-loan-card--blocked strong{font-size:34px}
.available-warning{margin:7px 0 0!important;padding-top:10px;border-top:1px solid rgba(255,255,255,.28);color:#fff!important;font-size:12px!important;line-height:1.45;opacity:.93}
.collection-assignment{margin-top:20px;background:#fff;border:1px solid #f0d4d4;border-radius:18px;padding:22px 24px;box-shadow:0 8px 26px rgba(30,60,110,.06);border-left:4px solid #c73131}
.collection-assignment[hidden]{display:none!important}
.collection-assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.collection-info-card{background:#f9fbfe;border:1px solid #e1e7ef;border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:7px}
.collection-info-card span{font-size:12px;font-weight:900;color:#6f7a88;text-transform:uppercase;letter-spacing:.45px}
.collection-info-card strong{font-size:18px;color:#174b9b}
.collection-assignment-note{margin:17px 0 0!important;padding-top:15px;border-top:1px solid #edf0f4;color:#667486!important;font-size:13px!important;line-height:1.55}
@media(max-width:760px){.collection-assignment-grid{grid-template-columns:1fr}.home-product-selector{width:100%;margin-bottom:18px}}

/* ===== Alineación Pagar / Mis préstamos con múltiples productos ===== */
.payment-product-selector{margin-bottom:20px}
.payment-total-debt{margin:0 0 24px;background:linear-gradient(135deg,#174b9b,#2870cd);border-radius:20px;padding:24px 28px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:0 10px 30px rgba(23,75,155,.18)}
.payment-total-debt h2{margin:2px 0 6px;font-size:23px;color:#fff}.payment-total-debt p{margin:0;color:rgba(255,255,255,.83);font-size:14px}.payment-total-eyebrow{color:#dceafe!important}.payment-total-value{min-width:230px;text-align:right;display:flex;flex-direction:column;gap:3px}.payment-total-value span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.65px;color:#dceafe}.payment-total-value strong{font-size:34px;line-height:1.05;color:#fff}.payment-total-value small{font-size:12px;color:#fff;background:rgba(169,25,25,.46);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:6px 9px;align-self:flex-end;margin-top:6px}
.payment-selected-product-area{margin-bottom:26px}.payment-product-view[hidden]{display:none!important}.payment-product-view{animation:qidaProductFade .18s ease-out}.payment-product-debt-note{background:#fff;border:1px solid #e4e9f1;border-radius:14px;padding:13px 17px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:-12px;box-shadow:0 6px 18px rgba(30,60,110,.04)}.payment-product-debt-note span{color:var(--muted);font-size:13px;font-weight:700}.payment-product-debt-note strong{font-size:18px;color:var(--blue)}
.payment-balance-card--late{background:linear-gradient(135deg,#b82626,#d54141)!important}
.product-status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:18px;padding:6px 10px;font-size:11px;font-weight:900;width:max-content;margin-top:4px}.product-status-current{background:#eaf2fd;color:#174b9b}.product-status-late{background:#c72d2d;color:#fff}.product-status-passive{background:#7a828c;color:#fff}
.loan-product-state-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 21px 15px;background:#fafcff;border-bottom:1px solid var(--line)}.loan-product-state-row>div{display:flex;flex-direction:column;gap:3px}.loan-product-state-row span{font-size:12px;font-weight:900;color:#697687;text-transform:uppercase;letter-spacing:.45px}.loan-product-state-row small{font-size:13px;color:var(--muted)}.loan-product-state-row .product-status-badge{margin:0;flex:0 0 auto}
@media(max-width:760px){.payment-total-debt{align-items:flex-start;flex-direction:column;padding:22px 20px}.payment-total-value{min-width:0;text-align:left}.payment-total-value small{align-self:flex-start}.payment-product-debt-note{align-items:flex-start;flex-direction:column;gap:5px;margin-top:-8px}.loan-product-state-row{align-items:flex-start}.payment-total-value strong{font-size:30px}}


/* Ajuste compacto del selector de producto en Inicio */
.product-selector-card {
    width: 100%;
    max-width: none;
    margin: 0 0 18px 0;
    padding: 12px 18px;
    box-sizing: border-box;
}

.product-selector-card .product-selector-copy {
    margin-bottom: 7px;
}

.product-selector-card .product-selector-copy h2,
.product-selector-card .product-selector-copy h3 {
    margin: 0 0 2px 0;
    line-height: 1.2;
}

.product-selector-card .product-selector-copy p {
    margin: 0;
    line-height: 1.25;
}

.product-selector-card .form-field {
    margin-bottom: 0;
}

.product-selector-card select {
    height: 42px;
    min-height: 42px;
}

@media (max-width: 768px) {
    .product-selector-card {
        padding: 11px 14px;
        margin-bottom: 14px;
    }
}

/* ===== Flujo público de alta de préstamo ===== */
.loan-flow-steps{display:flex;align-items:center;justify-content:center;gap:10px;margin:4px 0 24px;color:#8a95a3;font-size:12px;font-weight:800}.loan-flow-steps span{display:flex;align-items:center;gap:7px;white-space:nowrap}.loan-flow-steps span b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e9eef5;color:#667486;font-size:11px}.loan-flow-steps span.active{color:var(--blue)}.loan-flow-steps span.active b{background:var(--blue);color:#fff}.loan-flow-steps span.done{color:#3c6da8}.loan-flow-steps span.done b{background:#e5effc;color:var(--blue)}.loan-flow-steps i{width:42px;height:1px;background:#d9e1eb;display:block}
.form-field--full{grid-column:1/-1}.prospect-offer-card{padding-bottom:32px}.prospect-credit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:2px 0 28px}.prospect-credit-grid article{background:#f7faff;border:1px solid #dce6f2;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:7px}.prospect-credit-grid span{font-size:12px;color:var(--muted);font-weight:800}.prospect-credit-grid strong{font-size:20px;color:var(--blue)}.prospect-simulator{border-top:1px solid #e6ebf1;padding-top:27px}.loan-flow-next-form,.loan-flow-actions{display:flex;justify-content:flex-end;margin-top:26px}.loan-flow-next-form .loan-submit-button,.loan-flow-actions .loan-submit-button{min-width:150px}.loan-flow-next-form .loan-submit-button{border:0;text-decoration:none}
.loan-upload-field input[type=file]{height:auto;min-height:49px;padding:10px 12px;background:#fff}.loan-upload-field input[type=file]::file-selector-button{border:0;border-radius:18px;background:#eaf1fb;color:#174b9b;font:900 12px Lato,Arial,sans-serif;padding:8px 13px;margin-right:12px;cursor:pointer}.cbu-benefit-banner{margin:22px 0 0;padding:15px 18px;border:1px solid #cfe0f4;border-left:4px solid var(--blue);border-radius:12px;background:#f5f9ff;display:flex;flex-direction:column;gap:4px}.cbu-benefit-banner strong{color:var(--blue);font-size:14px}.cbu-benefit-banner span{color:#627083;font-size:13px;line-height:1.45}.repayment-method-panel{margin-top:22px;padding-top:22px;border-top:1px solid #e5eaf0}.repayment-method-panel[hidden]{display:none!important}.cbu-validation-row{display:flex;align-items:center;gap:14px;margin-top:16px}.cbu-validation-status{font-size:13px;font-weight:800}.cbu-validation-status.valid{color:#188158}.cbu-validation-status.invalid{color:#b32626}.loan-flow-actions .loan-submit-button:disabled{background:#aeb9c7;cursor:not-allowed;box-shadow:none}.loan-final-card{text-align:center;padding:48px 42px}.loan-final-check{width:68px;height:68px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#e6f5ee;color:#188158;font-size:34px;font-weight:900}.loan-final-card h1{margin:5px 0 10px;color:#173e7c;font-size:31px}.loan-final-card>p{color:var(--muted);max-width:620px;margin:0 auto;line-height:1.55}.loan-final-contact{max-width:650px;margin:28px auto 26px;padding:20px 22px;border-radius:14px;background:#f5f9ff;border:1px solid #d7e4f2;text-align:left}.loan-final-contact span{display:block;font-size:11px;font-weight:900;color:var(--blue);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}.loan-final-contact strong{display:block;font-size:18px;color:#173e7c;line-height:1.4}.loan-final-contact p{margin:8px 0 0;color:#657386;line-height:1.5;font-size:14px}.loan-final-home{display:inline-flex;text-decoration:none}

/* Refinanciación total de cartera */
.refinance-total-summary{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:14px;margin-bottom:18px}.refinance-total-summary article{border:1px solid #dce4ee;border-radius:13px;padding:16px 17px;background:#f8fafc;display:flex;flex-direction:column;gap:5px}.refinance-total-summary span{font-size:11px;color:#6c7888;font-weight:900;text-transform:uppercase;letter-spacing:.45px}.refinance-total-summary strong{font-size:21px;color:#174b9b}.refinance-total-summary small{font-size:11px;color:#7b8795;line-height:1.4}.refinance-total-summary .refinance-total-main{background:linear-gradient(135deg,#174b9b,#2870cd);border-color:transparent}.refinance-total-summary .refinance-total-main span,.refinance-total-summary .refinance-total-main strong,.refinance-total-summary .refinance-total-main small{color:#fff}.refinance-total-summary .refinance-total-main strong{font-size:24px}.refinance-whole-debt-note{margin:0 0 22px;padding:13px 15px;border-radius:10px;background:#eef5fd;color:#4f6480;font-size:12px;line-height:1.5;border-left:3px solid var(--blue)}

@media(max-width:820px){.prospect-credit-grid{grid-template-columns:repeat(2,1fr)}.refinance-total-summary{grid-template-columns:1fr}.loan-flow-steps{gap:6px}.loan-flow-steps i{width:20px}.loan-flow-steps span{font-size:10px}}
@media(max-width:560px){.loan-flow-steps span{font-size:0}.loan-flow-steps span b{font-size:11px}.loan-flow-steps i{flex:1}.prospect-credit-grid{grid-template-columns:1fr 1fr}.cbu-validation-row{align-items:flex-start;flex-direction:column}.loan-final-card{padding:36px 22px}.loan-final-card h1{font-size:26px}.loan-flow-next-form .loan-submit-button,.loan-flow-actions .loan-submit-button{width:100%}}
.loan-availability-blocked{background:#fff5f5!important;border-color:#efcaca!important}.loan-availability-blocked strong{color:#b82626!important}.loan-blocked-notice{margin-top:22px;background:#fff;border-radius:20px;padding:27px 28px;box-shadow:0 8px 26px rgba(30,60,110,.07);border-left:4px solid #c72d2d;display:flex;align-items:center;justify-content:space-between;gap:28px}.loan-blocked-notice h2{font-size:21px;margin:2px 0 7px;color:#1d2735}.loan-blocked-notice p:last-child{margin:0;color:var(--muted);font-size:14px;line-height:1.55;max-width:720px}.loan-blocked-notice .loan-submit-button{flex:0 0 auto;text-decoration:none}@media(max-width:760px){.loan-blocked-notice{align-items:flex-start;flex-direction:column}.loan-blocked-notice .loan-submit-button{width:100%}}

/* ===== Modo de demostración de cliente ===== */
.client-mode-switch{
  margin:0 0 24px;
  padding:12px 16px;
  border:1px solid #dbe5f0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 18px rgba(30,60,110,.05);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.client-mode-switch>div:first-child{display:flex;align-items:center;gap:9px;min-width:0}
.client-mode-switch>div:first-child span{font-size:11px;font-weight:900;letter-spacing:.55px;text-transform:uppercase;color:#7a8797}
.client-mode-switch>div:first-child strong{font-size:14px;color:#173e7c;white-space:nowrap}
.client-mode-actions{display:flex;align-items:center;gap:7px;padding:3px;border-radius:22px;background:#f1f5fa}
.client-mode-option{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 14px;border-radius:18px;text-decoration:none;color:#647386;font-size:12px;font-weight:900;transition:.18s ease}
.client-mode-option:hover{color:#174b9b;background:#e9f1fb}
.client-mode-option.active{background:#174b9b;color:#fff;box-shadow:0 3px 9px rgba(23,75,155,.18)}

/* En mora sólo se muestra el contacto del gestor asignado. */
.collection-assignment--global{margin-top:0}
.support-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Paso 2 del alta pública: más ancho para permitir operar el simulador cómodamente. */
.loan-form-shell--wide{width:min(1180px,100%)}
.loan-form-shell--wide .prospect-offer-card{overflow:visible}
.loan-form-shell--wide .prospect-simulator{min-width:0}
.loan-form-shell--wide .simulation-results{min-width:0}

@media(max-width:760px){
  .client-mode-switch{align-items:flex-start;flex-direction:column;padding:12px 13px;margin-bottom:18px}
  .client-mode-switch>div:first-child{align-items:flex-start;flex-direction:column;gap:2px}
  .client-mode-actions{width:100%}
  .client-mode-option{flex:1;padding-left:8px;padding-right:8px}
  .support-grid--two{grid-template-columns:1fr}
}


/* ===== Ajuste de proporciones: oferta pública y selectores de productos ===== */

/* El paso Oferta debe crecer con los resultados, sin recortar slider, tabla ni botón Siguiente. */
.loan-form-shell--wide{
  width:min(1280px,100%);
}
.loan-form-shell--wide .prospect-offer-card{
  height:auto;
  min-height:0;
  max-height:none;
  overflow:hidden;
  padding-bottom:0;
}
.loan-form-shell--wide .prospect-credit-grid{
  margin:2px 32px 30px;
}
.loan-form-shell--wide .prospect-simulator{
  min-width:0;
  height:auto;
  max-height:none;
  overflow:visible;
  padding:28px 32px 38px;
  border-top:1px solid #e6ebf1;
}
.loan-form-shell--wide .simulator-fields{
  width:100%;
  min-width:0;
}
.loan-form-shell--wide .installment-selector,
.loan-form-shell--wide .installment-selector input[type="range"]{
  width:100%;
  min-width:0;
}
.loan-form-shell--wide .range-labels{
  width:100%;
  padding:0 2px;
  box-sizing:border-box;
}
.loan-form-shell--wide .simulation-results{
  width:100%;
  min-width:0;
  height:auto;
  max-height:none;
  overflow:visible;
}

/* En Pagar y Mis préstamos el selector acompaña el ancho del bloque principal inferior. */
.loan-selector-card--full{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  margin-left:0;
  margin-right:0;
}
.payment-product-selector{
  width:100%;
  max-width:none;
}

/* El contenido del selector sigue legible aunque la tarjeta sea ancha. */
.loan-selector-card--full .loan-selector-copy{
  min-width:0;
}
.loan-selector-card--full .loan-selector-control{
  width:100%;
  min-width:0;
}

@media(max-width:900px){
  .loan-form-shell--wide .prospect-credit-grid{
    margin-left:24px;
    margin-right:24px;
  }
  .loan-form-shell--wide .prospect-simulator{
    padding-left:24px;
    padding-right:24px;
  }
}
@media(max-width:600px){
  .loan-form-shell--wide .prospect-credit-grid{
    margin-left:18px;
    margin-right:18px;
  }
  .loan-form-shell--wide .prospect-simulator{
    padding:24px 18px 30px;
  }
}


/* =========================================================
   Consola interna de APIs
   ========================================================= */
.api-console-page {
  display: grid;
  gap: 22px;
}

.api-console-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: 22px;
  align-items: stretch;
}

.api-console-header > div:first-child,
.api-connection-card,
.api-toolbar-card,
.api-work-card,
.api-json-panel,
.api-visual-result,
.api-documentation-alert {
  background: #fff;
  border: 1px solid #dbe6f5;
  border-radius: 22px;
  box-shadow: 0 10px 28px rgba(16, 65, 124, 0.06);
}

.api-console-header > div:first-child {
  padding: 28px 30px;
}

.api-console-header h1,
.api-work-heading h2 {
  color: #124a91;
  margin: 7px 0 8px;
}

.api-console-header p,
.api-work-heading p {
  color: #68778b;
  margin: 0;
  line-height: 1.5;
}

.api-connection-card {
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.api-connection-card > span {
  color: #68778b;
  font-size: 14px;
  margin-bottom: 8px;
}

.api-connection-card strong {
  font-size: 21px;
  margin-bottom: 8px;
}

.api-connection-card strong.is-online {
  color: #009d79;
}

.api-connection-card strong.is-offline {
  color: #d84444;
}

.api-connection-card small {
  color: #7c8798;
  line-height: 1.4;
}

.api-toolbar-card {
  padding: 18px 22px;
  display: grid;
  grid-template-columns: minmax(210px, .36fr) minmax(360px, 1fr);
  gap: 18px;
  align-items: end;
}

.api-toolbar-card .form-field,
.api-dynamic-form .form-field {
  margin-bottom: 0;
}

.api-toolbar-card select,
.api-dynamic-form select,
.api-dynamic-form input,
.api-dynamic-form textarea {
  width: 100%;
  box-sizing: border-box;
}

.api-work-card {
  padding: 26px 28px 28px;
}

.api-work-heading {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 22px;
}

.api-doc-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.api-doc-badge.documented {
  background: #e8f7f2;
  color: #008f6d;
}

.api-doc-badge.missing {
  background: #fff2e7;
  color: #b45e00;
}

.api-dynamic-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.api-field-full {
  grid-column: 1 / -1;
}

.api-dynamic-form textarea {
  min-height: 120px;
  resize: vertical;
}

.api-actions {
  display: flex;
  gap: 12px;
  margin-top: 24px;
  flex-wrap: wrap;
}

.api-secondary-button {
  background: #fff !important;
  color: #1755a6 !important;
  border: 1px solid #1755a6 !important;
}

.api-console-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.api-json-panel {
  overflow: hidden;
}

.api-panel-title {
  min-height: 52px;
  padding: 0 18px;
  background: #f4f8fd;
  border-bottom: 1px solid #dbe6f5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.api-panel-title span {
  color: #124a91;
  font-weight: 900;
  letter-spacing: .08em;
  font-size: 13px;
}

.api-panel-title small {
  color: #78869a;
}

.api-json-panel pre,
.api-inline-json {
  margin: 0;
  padding: 20px;
  min-height: 300px;
  max-height: 520px;
  overflow: auto;
  background: #0e2340;
  color: #e8f2ff;
  font: 13px/1.55 Consolas, Monaco, "Courier New", monospace;
  white-space: pre-wrap;
  word-break: break-word;
}

.api-documentation-alert {
  padding: 24px 28px;
  border-left: 5px solid #f0a238;
}

.api-documentation-alert h3 {
  color: #124a91;
  margin: 6px 0 8px;
}

.api-documentation-alert p {
  color: #68778b;
  margin: 0;
}

.api-documentation-alert ul {
  margin: 18px 0 0;
  padding-left: 20px;
  color: #586a80;
}

.api-documentation-alert li + li {
  margin-top: 7px;
}

.api-visual-result {
  padding: 26px 28px 28px;
}

.api-visual-empty {
  border: 1px dashed #cbd9eb;
  background: #f7faff;
  border-radius: 16px;
  padding: 28px;
  text-align: center;
  color: #718098;
}

.api-table-wrap {
  overflow-x: auto;
  border: 1px solid #dbe6f5;
  border-radius: 16px;
}

.api-result-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 780px;
  background: #fff;
}

.api-result-table th {
  background: #f4f8fd;
  color: #124a91;
  text-align: left;
  padding: 13px 14px;
  font-size: 13px;
  border-bottom: 1px solid #dbe6f5;
}

.api-result-table td {
  padding: 13px 14px;
  color: #52647a;
  border-bottom: 1px solid #edf2f8;
  vertical-align: top;
  font-size: 14px;
}

.api-result-table tr:last-child td {
  border-bottom: 0;
}

.api-kpi-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.api-kpi {
  border: 1px solid #dbe6f5;
  background: #f8fbff;
  border-radius: 15px;
  padding: 16px;
  min-width: 0;
}

.api-kpi span {
  display: block;
  color: #74839a;
  font-size: 12px;
  margin-bottom: 6px;
}

.api-kpi strong {
  display: block;
  color: #124a91;
  font-size: 15px;
  overflow-wrap: anywhere;
}

@media (max-width: 900px) {
  .api-console-header,
  .api-console-grid,
  .api-toolbar-card {
    grid-template-columns: 1fr;
  }

  .api-dynamic-form {
    grid-template-columns: 1fr;
  }

  .api-field-full {
    grid-column: auto;
  }

  .api-work-heading {
    flex-direction: column;
  }

  .api-kpi-grid {
    grid-template-columns: 1fr;
  }
}



/* ===== Inicio: deuda global y detalle de todos los productos ===== */
.home-total-debt{
  margin:20px 0 28px;
  border-radius:20px;
  padding:24px 28px;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  box-shadow:0 10px 30px rgba(23,75,155,.16);
}
.home-total-debt--current{background:linear-gradient(135deg,#174b9b,#2870cd)}
.home-total-debt--late{background:linear-gradient(135deg,#b92323,#dc4141);box-shadow:0 10px 30px rgba(185,35,35,.18)}
.home-total-debt h2{margin:2px 0 6px;color:#fff;font-size:23px}
.home-total-debt p{margin:0;color:rgba(255,255,255,.86);font-size:14px}
.home-total-debt-eyebrow{color:#eaf2ff!important}
.home-total-debt-value{min-width:230px;text-align:right;display:flex;flex-direction:column;gap:3px}
.home-total-debt-value span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.65px;color:#e6efff}
.home-total-debt-value strong{font-size:34px;line-height:1.05;color:#fff}
.home-total-debt-value small{font-size:12px;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:6px 9px;align-self:flex-end;margin-top:6px}

.home-products-detail{margin-top:32px}
.home-detail-heading{margin-bottom:16px}
.home-detail-heading h2{margin:0 0 5px;font-size:24px}
.home-detail-heading p:last-child{margin:0;color:var(--muted)}
.home-products-list{display:flex;flex-direction:column;gap:16px}
.home-product-row{
  display:grid;
  grid-template-columns:minmax(220px,.9fr) repeat(2,minmax(0,1fr));
  gap:14px;
  padding:16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:0 8px 26px rgba(30,60,110,.06);
}
.home-product-row--late{border-left:4px solid #c73131}
.home-product-identity,.home-product-metric{
  min-height:112px;
  border-radius:15px;
  padding:18px 20px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
}
.home-product-identity{background:#f4f7fc;border:1px solid #e1e8f2}
.home-product-identity>span,.home-product-metric>span{font-size:13px;color:var(--muted)}
.home-product-identity>strong{font-size:24px;color:var(--blue)}
.home-product-identity .product-status-badge{align-self:flex-start;margin-top:5px}
.home-product-metric{background:#fff;border:1px solid #e2e7ef}
.home-product-metric strong{font-size:23px;color:var(--text)}
.home-product-metric small{color:var(--muted);font-size:12px}
.collection-info-card--under{margin-top:16px;width:calc(50% - 8px)}
.collection-info-card--under small{display:block;margin-top:5px;color:var(--muted)}

/* ===== Pagar: pago global y detalle completo ===== */
.payment-total-debt--late{
  background:linear-gradient(135deg,#b92323,#dc4141);
  box-shadow:0 10px 30px rgba(185,35,35,.18);
}
.payment-allocation-note{
  margin-top:12px!important;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.23);
  font-weight:700;
  line-height:1.5;
  color:#fff!important;
}
.payment-products-detail{margin:0 0 34px}
.payment-products-heading{margin-bottom:15px}
.payment-products-list{display:flex;flex-direction:column;gap:14px}
.payment-product-row{
  display:grid;
  grid-template-columns:minmax(220px,.9fr) repeat(2,minmax(0,1fr));
  gap:14px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 7px 23px rgba(30,60,110,.055);
}
.payment-product-row--late{border-left:4px solid #c73131}
.payment-product-identity,.payment-product-metric{
  min-height:108px;
  border:1px solid #e1e7ef;
  border-radius:14px;
  padding:17px 19px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
}
.payment-product-identity{background:#f4f7fc}
.payment-product-identity>span,.payment-product-metric>span{color:var(--muted);font-size:13px}
.payment-product-identity>strong{font-size:23px;color:var(--blue)}
.payment-product-identity .product-status-badge{align-self:flex-start;margin-top:4px}
.payment-product-metric strong{font-size:21px}
.payment-product-metric small{font-size:12px;color:var(--muted)}
.payment-product-metric--balance strong{color:var(--blue)}
.payment-product-row--late .payment-product-metric--balance strong{color:#b92323}

.payment-slip-total{
  margin:20px 0 16px;
  padding:18px 20px;
  border-radius:15px;
  background:linear-gradient(135deg,#174b9b,#2870cd);
  color:#fff;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.payment-slip-total span{font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.7px;color:#dceafe}
.payment-slip-total strong{font-size:30px}
.payment-slip-total small{color:rgba(255,255,255,.84)}
.payment-slip-products{border:1px solid #e2e7ef;border-radius:15px;overflow:hidden;margin-bottom:20px}
.payment-slip-products-title{padding:13px 16px;background:#f6f8fb;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e2e7ef}
.payment-slip-products-title span{color:var(--muted);font-size:11px;text-align:right}
.payment-slip-product-line{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 16px;border-bottom:1px solid #edf0f4}
.payment-slip-product-line:last-child{border-bottom:0}
.payment-slip-product-line>div{display:flex;flex-direction:column;gap:3px}
.payment-slip-product-line small{color:var(--muted);font-size:11px}
.payment-slip-product-line>span{font-weight:900;color:var(--blue);white-space:nowrap}

@media(max-width:760px){
  .home-total-debt{flex-direction:column;align-items:flex-start;padding:22px 20px}
  .home-total-debt-value{min-width:0;text-align:left}
  .home-total-debt-value small{align-self:flex-start}
  .home-product-row,.payment-product-row{grid-template-columns:1fr}
  .collection-info-card--under{width:100%}
  .home-product-identity,.home-product-metric,.payment-product-identity,.payment-product-metric{min-height:auto}
  .payment-slip-products-title{align-items:flex-start;flex-direction:column}
  .payment-slip-products-title span{text-align:left}
}


/* Flujo Quiero mi préstamo - mejora opcional de oferta */
.loan-offer-actions{
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}
.loan-offer-actions .secondary-form-button,
.loan-offer-actions .loan-submit-button{
  min-width:210px;
  justify-content:center;
}
.loan-offer-improve{
  border:1px solid #1e5aab;
  background:#fff;
  color:#1e5aab;
  min-height:49px;
  border-radius:24px;
  font:900 14px Lato,Arial,sans-serif;
  padding:0 22px;
  cursor:pointer;
}
.loan-offer-improve:hover{
  background:#f2f7fd;
}

.employment-panel{
  margin-top:24px;
  padding-top:24px;
  border-top:1px solid #e5eaf0;
}
.employment-panel[hidden],
#monotributoDetails[hidden],
#documentReviewNote[hidden]{
  display:none!important;
}

.bank-autocomplete-field{
  position:relative;
}
.bank-suggestions{
  position:absolute;
  z-index:25;
  left:0;
  right:0;
  top:76px;
  padding:6px;
  background:#fff;
  border:1px solid #d5e0ec;
  border-radius:12px;
  box-shadow:0 12px 28px rgba(25,57,101,.14);
  max-height:230px;
  overflow:auto;
}
.bank-suggestions[hidden]{display:none!important}
.bank-suggestions button{
  display:block;
  width:100%;
  border:0;
  background:#fff;
  color:#31465f;
  text-align:left;
  border-radius:8px;
  padding:10px 11px;
  font:700 13px Lato,Arial,sans-serif;
  cursor:pointer;
}
.bank-suggestions button:hover{
  background:#f1f6fc;
  color:#174b9b;
}

.optional-upload span em{
  display:inline-flex;
  margin-left:7px;
  padding:3px 8px;
  border-radius:12px;
  background:#eef4fb;
  color:#174b9b;
  font-size:10px;
  font-style:normal;
  font-weight:900;
  text-transform:uppercase;
}

.document-review-note{
  margin:24px 0 0;
  padding:16px 18px;
  border:1px solid #d5e3f2;
  border-left:4px solid #1e5aab;
  border-radius:12px;
  background:#f7faff;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.document-review-note strong{
  color:#174b9b;
  font-size:14px;
}
.document-review-note span{
  color:#647286;
  font-size:13px;
  line-height:1.45;
}

.loan-step-skipped{
  color:#9ca8b6!important;
}
.loan-step-skipped b{
  background:#f0f3f7!important;
  color:#8e9aa8!important;
}

@media(max-width:650px){
  .loan-offer-actions{
    flex-direction:column-reverse;
    align-items:stretch;
  }
  .loan-offer-actions .secondary-form-button,
  .loan-offer-actions .loan-submit-button{
    width:100%;
    min-width:0;
  }
}

/* ===== Flujo público: capacidad BCRA, oferta dinámica y validación de contacto ===== */
.loan-flow-steps--five{grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto}
.loan-inline-alert{display:flex;flex-direction:column;gap:4px;margin:0 0 22px;padding:15px 17px;border-radius:12px;font-size:13px;line-height:1.45}
.loan-inline-alert strong{font-size:14px}
.loan-inline-alert--error{background:#fff4f4;border:1px solid #f0caca;color:#a32c2c}
.loan-inline-alert--info{margin-top:18px;background:#f5f9ff;border:1px solid #cfdef2;color:#244a73}

.prospect-credit-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.no-offer-card{display:flex;gap:15px;align-items:flex-start;margin:22px 0;padding:20px;border:1px solid #e8c6c6;border-radius:14px;background:#fff7f7;color:#7f2d2d}
.no-offer-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:50%;background:#b53b3b;color:#fff;font-weight:900}
.no-offer-card strong{font-size:17px}.no-offer-card p{margin:5px 0 0;line-height:1.5;color:#7a4b4b}

.financial-analysis-card{margin-top:24px;padding:24px;border:1px solid #dce6f1;border-radius:16px;background:#fbfdff}
.financial-analysis-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding-bottom:17px;border-bottom:1px solid #e5ecf4}
.financial-analysis-head h2{margin:2px 0 0;color:#173f70;font-size:21px}
.financial-ratio{text-align:right;display:flex;flex-direction:column;gap:2px;min-width:220px}
.financial-ratio span,.financial-entity-item span{color:#6e7e90;font-size:12px;font-weight:700}
.financial-ratio strong{color:#174b9b;font-size:23px}.financial-ratio small{color:#69798d}
.analysis-meta-row{display:flex;flex-wrap:wrap;gap:10px 24px;padding:15px 0;color:#66778a;font-size:12px}.analysis-meta-row strong{color:#314b69}
.financial-entities{display:flex;flex-direction:column;gap:10px}
.financial-entity-item{display:grid;grid-template-columns:minmax(240px,1.7fr) repeat(3,minmax(105px,.7fr));gap:16px;align-items:center;padding:15px 16px;background:#fff;border:1px solid #e1e9f2;border-radius:12px}
.financial-entity-item>div{display:flex;flex-direction:column;gap:3px}.financial-entity-main strong{color:#244f83;font-size:14px}.financial-entity-main small{color:#7a899a;font-size:11px}.financial-entity-item>div:not(.financial-entity-main) strong{color:#273f5d;font-size:14px}
.analysis-disclaimer{margin:14px 0 0;color:#7a899a;font-size:11px;line-height:1.5}.analysis-empty{padding:16px;border-radius:10px;background:#f4f8fc;color:#60738a;font-size:13px}

.installment-selector--dynamic{display:flex;flex-direction:column;gap:12px}.installment-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.installment-choice{min-height:66px;border:1px solid #bfd0e4;border-radius:11px;background:#fff;color:#234d7d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px;cursor:pointer;font-family:Lato,Arial,sans-serif;transition:.18s ease}
.installment-choice strong{font-size:20px}.installment-choice span{font-size:10px;text-align:center;color:#718196}.installment-choice:hover:not(:disabled),.installment-choice.selected{border-color:#1d5dab;background:#eef5fd;box-shadow:0 4px 12px rgba(28,82,145,.10)}
.installment-choice.selected strong{color:#174b9b}.installment-choice.disabled{cursor:not-allowed;opacity:.46;background:#f5f6f8}
.simulator-capacity-note{margin:4px 0 17px;padding:11px 13px;border-radius:10px;background:#f5f9fe;color:#60738a;font-size:12px}.simulator-capacity-note strong{color:#174b9b}

.contact-validation-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-validation-card{padding:20px;border:1px solid #dce6f1;border-radius:14px;background:#fbfdff}.contact-validation-card .form-field{margin-bottom:13px}
.contact-send-link{width:100%;justify-content:center;margin-top:4px}
.contact-status{display:flex;gap:10px;align-items:center;margin-top:15px;padding:12px;border-radius:10px;background:#f4f6f8;color:#657588}
.contact-status i{width:12px;height:12px;border-radius:50%;background:#aeb7c1;box-shadow:0 0 0 4px rgba(174,183,193,.15)}.contact-status div{display:flex;flex-direction:column;gap:2px}.contact-status strong{font-size:12px}.contact-status span{font-size:11px}
.contact-status[data-state="sent"]{background:#fff8e7;color:#8b6a21}.contact-status[data-state="sent"] i{background:#e5aa2c;box-shadow:0 0 0 4px rgba(229,170,44,.14)}
.contact-status[data-state="verified"]{background:#eff9f4;color:#2e7454}.contact-status[data-state="verified"] i{background:#35a56f;box-shadow:0 0 0 4px rgba(53,165,111,.14)}
.contact-status[data-state="error"]{background:#fff3f3;color:#a14444}.contact-status[data-state="error"] i{background:#cf5858;box-shadow:0 0 0 4px rgba(207,88,88,.14)}
.contact-validation-note{margin-top:18px;padding:13px 15px;border-left:3px solid #1e5aab;background:#f6f9fd;border-radius:8px;color:#66778b;font-size:12px;line-height:1.5}

@media(max-width:900px){
  .financial-analysis-head{flex-direction:column}.financial-ratio{text-align:left;min-width:0}
  .financial-entity-item{grid-template-columns:1fr 1fr}.financial-entity-main{grid-column:1/-1}
  .prospect-credit-grid--three{grid-template-columns:1fr}
}
@media(max-width:700px){
  .loan-flow-steps--five{display:flex;overflow-x:auto;gap:8px;padding-bottom:6px}.loan-flow-steps--five i{display:none}.loan-flow-steps--five span{flex:0 0 auto}
  .contact-validation-grid{grid-template-columns:1fr}.installment-buttons{grid-template-columns:1fr 1fr}
  .financial-entity-item{grid-template-columns:1fr}.financial-entity-main{grid-column:auto}
}

/* Detalle auditable del análisis UVA */
.financial-uva-meta{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;padding:13px 14px;margin-top:2px;background:#f6f9fd;border:1px solid #dbe7f3;border-radius:10px}
.financial-uva-meta>div{display:flex;flex-direction:column;gap:3px}.financial-uva-meta span{color:#6e7e90;font-size:11px;font-weight:700}.financial-uva-meta strong{color:#244f83;font-size:13px}.financial-uva-meta small{color:#8491a0;font-size:10px}
.financial-entity-item .financial-entity-observation{grid-column:1/-1;margin:0;color:#748396;font-size:11px;line-height:1.45}
.financial-entity-item>div small{color:#8290a0;font-size:10px}
@media(max-width:760px){.financial-uva-meta{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.financial-uva-meta{grid-template-columns:1fr}}


/* Simulador de oferta: slider dinámico de 1 a 12 cuotas */
.installment-selector--dynamic input[type="range"]{
  width:100%;
  accent-color:#1e5aab;
  cursor:pointer;
}
.installment-selector--dynamic input[type="range"]:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.range-labels--dynamic{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0;
  width:100%;
  margin-top:3px;
}
.range-labels--dynamic span{
  flex:1 1 0;
  text-align:center;
  min-width:0;
  color:#6f7f91;
  font-size:10px;
  font-weight:700;
}
.range-labels--dynamic span:first-child{text-align:left}
.range-labels--dynamic span:last-child{text-align:right}
.range-labels--dynamic .range-label-minor{
  color:#9ca8b5;
  font-size:9px;
}
.installment-estimate{
  display:block;
  min-height:17px;
  margin-top:2px;
  color:#718196;
  font-size:11px;
  line-height:1.4;
}


/* Refinamiento visual: análisis BCRA y simulador */
.analysis-kpi-grid,
.simulator-kpi-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:16px 0 20px;
}
.analysis-kpi-grid article,
.simulator-kpi-grid article{
  min-height:78px;
  padding:15px 17px;
  border:1px solid #d9e5f2;
  border-radius:14px;
  background:#f7faff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
}
.analysis-kpi-grid span,
.simulator-kpi-grid span,
.financial-tna-card span{
  color:#6d7b8c;
  font-size:12px;
  font-weight:700;
}
.analysis-kpi-grid strong,
.simulator-kpi-grid strong{
  color:#174b9b;
  font-size:18px;
  font-weight:900;
}

.financial-tna-card{
  padding:13px 15px!important;
  border:1px solid #cfe0f2!important;
  border-radius:12px;
  background:#f2f7fd;
  display:flex!important;
  flex-direction:column;
  gap:3px;
}
.financial-tna-card strong{
  color:#174b9b;
  font-size:17px;
}
.financial-tna-card small{
  color:#7b8796;
  line-height:1.35;
}

.analysis-info-box,
.simulation-info-box{
  margin-top:16px;
  padding:14px 16px;
  border:1px solid #d7e3ef;
  border-left:4px solid #1e5aab;
  border-radius:12px;
  background:#f8fbff;
}
.analysis-info-box{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.analysis-info-box strong{
  color:#174b9b;
  font-size:13px;
}
.analysis-info-box span,
.simulation-info-box span{
  color:#667588;
  font-size:12px;
  line-height:1.45;
}

.prospect-simulator .simulator-fields{
  margin-top:18px;
}
.prospect-simulator .amount-field,
.prospect-simulator .installment-selector{
  padding:18px;
  border:1px solid #dbe5ef;
  border-radius:14px;
  background:#fff;
}
.prospect-simulator .amount-field > small,
.prospect-simulator .installment-estimate{
  margin-top:8px;
}

@media(max-width:760px){
  .analysis-kpi-grid,
  .simulator-kpi-grid{
    grid-template-columns:1fr;
  }
}


/* Identidad BCRA, situación y resumen del simulador */
.prospect-identity-card{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 20px;padding:14px 16px;
  border:1px solid #d9e5f2;border-radius:14px;background:#f7faff;
}
.prospect-identity-card>div{display:flex;flex-direction:column;gap:4px}
.prospect-identity-card span{color:#6d7b8c;font-size:11px;font-weight:700}
.prospect-identity-card strong{color:#174b9b;font-size:16px;font-weight:900}
.prospect-identity-card small{grid-column:1/-1;color:#7a8797;font-size:11px}
.simulator-kpi-grid--four{grid-template-columns:repeat(4,minmax(0,1fr));}
.financial-situation-card{
  padding:12px 14px!important;border:1px solid #d9e5f2!important;border-radius:12px;background:#f7faff;
  display:flex!important;flex-direction:column;justify-content:center;gap:4px;
}
.financial-situation-card span{color:#6d7b8c;font-size:11px;font-weight:700}
.financial-situation-card strong{color:#174b9b;font-size:14px;font-weight:900}
@media(max-width:900px){.simulator-kpi-grid--four{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.prospect-identity-card,.simulator-kpi-grid--four{grid-template-columns:1fr;}}

/* Perfil de riesgo */
.risk-summary{margin:18px 0;padding:16px;border:1px solid #dce6f1;border-left:5px solid #174b9b;border-radius:14px;background:#fff}.risk-summary.risk-bajo{border-left-color:#2f9b63}.risk-summary.risk-medio{border-left-color:#d89b2b}.risk-summary.risk-alto{border-left-color:#d94a4a}.risk-profile-main{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid #edf2f6}.risk-profile-main span{color:#6e7e90;font-size:12px;font-weight:800}.risk-profile-main strong{font-size:20px;color:#174b9b}.risk-bajo .risk-profile-main strong{color:#24794d}.risk-medio .risk-profile-main strong{color:#9a650b}.risk-alto .risk-profile-main strong{color:#b83232}.risk-profile-main small{margin-left:auto;color:#8190a1;font-size:11px}.risk-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}.risk-facts article{padding:10px 12px;background:#f7faff;border:1px solid #e1eaf3;border-radius:10px;display:flex;flex-direction:column;gap:4px}.risk-facts span{font-size:10px;color:#748396;font-weight:800}.risk-facts strong{font-size:12px;color:#294968}@media(max-width:900px){.risk-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.risk-facts{grid-template-columns:1fr}.risk-profile-main small{margin-left:0;width:100%}}


.loan-form-back { display: inline-flex; width: fit-content; max-width: max-content; }

.loan-offer-improve-inline{display:inline-flex;margin:0}.loan-offer-improve-inline .secondary-form-button{white-space:nowrap}

.receipt-upload-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}.receipt-upload-button{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-width:190px;padding:14px 20px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--blue);font-weight:700;cursor:pointer}.receipt-upload-button input{position:absolute;width:1px;height:1px;opacity:0}.receipt-selected-file{margin-top:10px;padding:9px 12px;border-radius:9px;background:#f3f6fb;color:var(--text);font-size:13px}@media(max-width:520px){.receipt-upload-actions{flex-direction:column}.receipt-upload-button{width:100%}}

/* Corrección definitiva de acciones de oferta */
.loan-offer-actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;flex-wrap:nowrap!important;width:100%}
.loan-offer-actions form{display:inline-flex!important;width:auto!important;margin:0!important;padding:0!important}
.loan-offer-actions button{width:auto!important;margin:0!important;white-space:nowrap!important}
@media(max-width:600px){.loan-offer-actions{flex-direction:column!important;flex-wrap:nowrap!important}.loan-offer-actions form,.loan-offer-actions button{width:100%!important}}

/* Flujo condicional de documentación: [hidden] siempre debe ocultar el elemento. */
.loan-form-body [hidden]{display:none!important}

.receipt-camera-button{border:0;font-family:inherit;cursor:pointer;appearance:none;-webkit-appearance:none}

.receipt-upload-actions input[type="file"][hidden]{display:none!important}

/* Sacar foto: visible solamente en dispositivos móviles/táctiles. */
.mobile-camera-only{display:none!important}
@media (pointer:coarse){
  .mobile-camera-only{display:inline-flex!important}
}

.simulator-kpi-grid--two{grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:620px){.simulator-kpi-grid--two{grid-template-columns:1fr;}}

/* Resultado de validación de correo */
.email-validation-result{text-align:center;max-width:720px;margin:50px auto;padding:52px 42px}
.email-validation-result h1{margin:8px 0 14px;color:#173e7c}
.email-validation-result>p:last-child{max-width:560px;margin:0 auto;color:#687687;line-height:1.6}
.email-validation-check{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#e6f5ee;color:#188158;font-size:34px;font-weight:900}
.email-validation-check--error{background:#fdecec;color:#c63d3d}
@media(max-width:600px){.email-validation-result{margin:26px auto;padding:38px 20px}}

/* ===== Onboarding: validación sólo por email y rechazo de situación laboral ===== */
.contact-validation-grid--single{
  grid-template-columns:minmax(0,620px);
  justify-content:center;
}
.loan-final-check--rejected{
  background:#fff1f1;
  color:#b32626;
  border:1px solid #f0caca;
}
@media(max-width:650px){
  .contact-validation-grid--single{grid-template-columns:1fr}
}

/* Ajustes onboarding correo y soporte WhatsApp */
.email-highlight-box{
  margin-top:20px;
  padding:22px;
  background:#f3f7ff;
  border:1px solid #d7e5ff;
  border-radius:16px;
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:18px;
  line-height:1.45;
}
.email-highlight-box strong{font-size:21px;color:var(--blue)}
.email-auto-redirect{
  margin-top:20px;
  padding:12px 18px;
  background:#f3f6fb;
  border-radius:12px;
  color:var(--blue);
  font-weight:700;
}
.whatsapp-float{
  position:fixed;
  right:25px;
  bottom:25px;
  width:58px;
  height:58px;
  border-radius:50%;
  background:#25D366;
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  font-weight:900;
  box-shadow:0 8px 20px rgba(0,0,0,.2);
  z-index:999;
}

.whatsapp-float img{width:100%;height:100%;border-radius:50%;display:block;}

/* ===== Onboarding: campos económicos destacados y estado de procesamiento ===== */
.form-field--highlighted-money{
  padding:15px 16px 14px;
  border:1px solid #bfd4ef;
  border-radius:14px;
  background:#f5f9ff;
  box-shadow:0 7px 18px rgba(23,75,155,.07);
}
.form-field--highlighted-money>span{
  color:#174b9b;
  font-size:14px;
}
.form-field--highlighted-money .form-money-input{
  background:#fff;
  border-radius:8px;
}
.form-field--highlighted-money:focus-within{
  border-color:#1b62aa;
  box-shadow:0 0 0 3px rgba(27,98,170,.11),0 8px 20px rgba(23,75,155,.08);
}
.loan-processing-overlay{
  position:fixed;
  inset:0;
  z-index:2000;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(238,244,251,.84);
  backdrop-filter:blur(3px);
}
.loan-processing-card{
  width:min(430px,100%);
  padding:31px 28px;
  border-radius:20px;
  background:#fff;
  border:1px solid #d6e2ef;
  box-shadow:0 18px 55px rgba(28,60,103,.18);
  text-align:center;
}
.loan-processing-card strong{display:block;margin-top:16px;color:#173e7c;font-size:20px}
.loan-processing-card p{margin:8px 0 0;color:#687687;line-height:1.5;font-size:14px}
.loan-processing-spinner{
  display:inline-block;
  width:46px;
  height:46px;
  border:4px solid #dce8f6;
  border-top-color:#174b9b;
  border-radius:50%;
  animation:qida-spin .8s linear infinite;
}
.loan-button-spinner{
  display:inline-block;
  width:15px;
  height:15px;
  margin-right:7px;
  border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  border-radius:50%;
  vertical-align:-2px;
  animation:qida-spin .7s linear infinite;
}
@keyframes qida-spin{to{transform:rotate(360deg)}}
.loan-submit-button:disabled{cursor:wait;opacity:.78}

/* ===== Cierre de solicitud: ayuda visible de WhatsApp ===== */
.whatsapp-float--attention{
  animation:qida-whatsapp-pulse 1.55s ease-in-out infinite;
}
@keyframes qida-whatsapp-pulse{
  0%,100%{box-shadow:0 8px 20px rgba(0,0,0,.20),0 0 0 0 rgba(37,211,102,.52);transform:scale(1)}
  50%{box-shadow:0 10px 25px rgba(0,0,0,.22),0 0 0 13px rgba(37,211,102,0);transform:scale(1.07)}
}
.whatsapp-help-popover{
  position:fixed;
  right:24px;
  bottom:101px;
  z-index:998;
  width:min(310px,calc(100vw - 38px));
  padding:14px 16px;
  border:1px solid #cfe7d8;
  border-radius:14px;
  background:#fff;
  color:#415063;
  text-decoration:none;
  box-shadow:0 12px 34px rgba(25,57,101,.17);
  animation:qida-popover-float 2s ease-in-out infinite;
}
.whatsapp-help-popover::after{
  content:"";
  position:absolute;
  right:24px;
  bottom:-10px;
  width:18px;
  height:18px;
  background:#fff;
  border-right:1px solid #cfe7d8;
  border-bottom:1px solid #cfe7d8;
  transform:rotate(45deg);
}
.whatsapp-help-popover strong{display:block;color:#176c43;font-size:14px;margin-bottom:3px}
.whatsapp-help-popover span{display:block;font-size:13px;line-height:1.4}
.whatsapp-help-popover:hover{transform:translateY(-3px);box-shadow:0 15px 38px rgba(25,57,101,.22)}
@keyframes qida-popover-float{0%,100%{margin-bottom:0}50%{margin-bottom:5px}}
.simulation-results--previous{border-top:0;padding-top:0}
.recent-simulation-result{margin-top:24px;text-align:left}
@media(max-width:600px){
  .whatsapp-help-popover{right:16px;bottom:94px}
  .whatsapp-float{right:18px;bottom:20px}
}

/* ===== Información legal debajo de Continuar ===== */
.loan-legal-disclosure{
  margin:10px 0 0;
  max-width:900px;
  color:#7b8796;
  font-size:10px;
  font-weight:400;
  line-height:1.4;
  text-align:left;
}
@media(max-width:650px){.loan-legal-disclosure{font-size:9.5px;line-height:1.38}}
