/* Exclusivo del formulario público de solicitud. */
body.abca-solicitud { background:linear-gradient(125deg,#f0f6e6 0%,#eaf5f7 48%,#edf4fb 100%); background-attachment:fixed; color:#203d4b; }
body.abca-solicitud .navbar-abca { background:rgba(255,255,255,.9); border-bottom:1px solid #dce8e9; padding:14px max(24px,calc((100vw - 1080px)/2))!important; }
body.abca-solicitud .navbar-abca .navbar-brand { color:#355766; font-size:.85rem; font-weight:600; }
body.abca-solicitud .abca-logo-nav { width:112px; padding:0; background:transparent; }
body.abca-solicitud .wrap { max-width:1080px; }
body.abca-solicitud .sol-hero { display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:center; padding:32px 0; }
body.abca-solicitud .sol-eyebrow { font-size:.7rem; font-weight:800; letter-spacing:.14em; color:#366376; }
body.abca-solicitud h1 { font-size:clamp(2rem,3.6vw,3rem); font-weight:800; letter-spacing:-.045em; line-height:1.14; margin:14px 0 18px; color:#173d50; }
body.abca-solicitud .sol-hero p { font-size:.92rem; color:#526e7b; line-height:1.7; margin-bottom:0; }
body.abca-solicitud .sol-monitor { border:1px solid #cfdfdf; border-radius:20px; padding:24px; background:rgba(255,255,255,.78); box-shadow:0 8px 28px #24536b06; }
body.abca-solicitud .sol-monitor-title { display:flex; gap:10px; align-items:center; font-weight:700; font-size:.95rem; }
body.abca-solicitud .sol-monitor-title i { color:#0065ac; font-size:1.2rem; }
body.abca-solicitud .sol-status { font-size:.8rem; margin-top:18px; font-weight:600; color:#276443; }
body.abca-solicitud .sol-status::before { content:''; display:inline-block; width:7px; height:7px; border-radius:50%; background:currentColor; margin-right:8px; }
body.abca-solicitud .sol-status.is-offline { color:#9c4d12; }

/* Señal viva del sistema de IA: punto verde con eco pulsante (estilo "en línea"). */
body.abca-solicitud .sol-ia { margin-top:10px; display:flex; align-items:center; color:#1a8f52; }
body.abca-solicitud .sol-ia::before { content:none; }
body.abca-solicitud .sol-pulse { position:relative; display:inline-block; width:8px; height:8px; border-radius:50%; background:#1fbf6a; margin-right:9px; flex:none; box-shadow:0 0 0 rgba(31,191,106,.55); animation:sol-pulse-beat 1.8s ease-out infinite; }
body.abca-solicitud .sol-pulse::after { content:''; position:absolute; inset:0; border-radius:50%; background:#1fbf6a; animation:sol-pulse-ring 1.8s ease-out infinite; }
@keyframes sol-pulse-beat { 0%,100% { box-shadow:0 0 0 0 rgba(31,191,106,.45); } 50% { box-shadow:0 0 0 5px rgba(31,191,106,0); } }
@keyframes sol-pulse-ring { 0% { transform:scale(1); opacity:.75; } 100% { transform:scale(2.6); opacity:0; } }

/* Mientras la IA está leyendo el documento: cambia a un tono violeta "pensando". */
body.abca-solicitud .sol-ia.is-scanning { color:#5b3fd6; }
body.abca-solicitud .sol-ia.is-scanning .sol-pulse,
body.abca-solicitud .sol-ia.is-scanning .sol-pulse::after { background:#7c5cf0; }
body.abca-solicitud .sol-ia.is-scanning .sol-pulse { animation-duration:.9s; }
body.abca-solicitud .sol-ia.is-scanning .sol-pulse::after { animation-duration:.9s; }

@media (prefers-reduced-motion: reduce) {
  body.abca-solicitud .sol-pulse,
  body.abca-solicitud .sol-pulse::after { animation:none; }
}
body.abca-solicitud .sol-monitor p,body.abca-solicitud .sol-monitor small { font-size:.74rem; line-height:1.55; color:#586f7a; }
body.abca-solicitud .sol-secure { display:flex; align-items:center; gap:6px; color:#1a8f52!important; font-weight:600; }
body.abca-solicitud .sol-secure.is-insecure { color:#b23b1f!important; }
body.abca-solicitud .sol-secure i { font-size:.9rem; }
body.abca-solicitud .sol-stage { border-top:1px solid #dde8e9; margin-top:16px; padding:15px 0 5px; font-size:.82rem; font-weight:700; color:#0065ac; }
body.abca-solicitud .sol-route { display:flex; gap:24px; padding:8px 0 28px; color:#466675; font-size:.8rem; }
body.abca-solicitud .sol-route span { display:flex; gap:9px; align-items:center; }
body.abca-solicitud .sol-route b { border:1px solid #bdcfb0; border-radius:50%; background:#f6faef; color:#466122; width:28px; height:28px; display:grid; place-items:center; font-size:.7rem; }
body.abca-solicitud #formSolicitud { padding:32px!important; border:1px solid #dbe7e9; border-radius:22px; box-shadow:0 16px 48px #224f6310; }
body.abca-solicitud #formSolicitud > .mb-4,body.abca-solicitud #bloqueDatos > .mb-4 { padding-bottom:26px; margin-bottom:26px!important; border-bottom:1px solid #e6edef; }
body.abca-solicitud .sec-title { font-size:1.12rem; letter-spacing:-.02em; color:#174963; }
body.abca-solicitud .sec-sub { color:#637c88; margin:7px 0 20px; line-height:1.6; }
body.abca-solicitud .form-label { color:#365665; font-size:.82rem; }
body.abca-solicitud .form-control,body.abca-solicitud .form-select { min-height:46px; border-radius:9px; border-color:#c6d7de; }
body.abca-solicitud :is(.form-control,.form-select):disabled { background:#f3f6f7; color:#687d88; }
body.abca-solicitud .doc-box { background:#f5f9fa; border-color:#bccfd5; border-radius:12px; padding:18px; }
body.abca-solicitud .doc-box.doc-ok { background:#eff8ee; border-color:#679748; }
body.abca-solicitud .btn-abca { background:#0065ac; color:white; border-color:#0065ac; border-radius:10px; }
body.abca-solicitud .btn-abca:hover { background:#00548f; }
body.abca-solicitud #btnEnviar { min-height:52px; }
@media(max-width:767.98px) { body.abca-solicitud .sol-hero { grid-template-columns:1fr; gap:22px; padding:20px 0; } body.abca-solicitud .sol-route { flex-wrap:wrap; gap:12px; } body.abca-solicitud #formSolicitud { padding:20px!important; } body.abca-solicitud .navbar-abca .navbar-brand { white-space:normal; font-size:.72rem; } }
/* Segunda revisión: recorrido lateral y tarjetas de sección. */
body.abca-solicitud .wrap { max-width:1240px; }
body.abca-solicitud .sol-hero { position:relative; padding:40px 16px; }
body.abca-solicitud .sol-eyebrow { display:inline-block; padding:8px 12px; border:1px solid #cedfbd; border-radius:30px; background:#f6faef; }
body.abca-solicitud .sol-monitor { border-top:3px solid #9fbb32; box-shadow:0 12px 35px #28546d0b; }
body.abca-solicitud .sol-route { padding-left:16px; }
body.abca-solicitud .sol-workspace { display:grid; grid-template-columns:225px minmax(0,1fr); gap:28px; align-items:start; }
body.abca-solicitud .sol-guide { position:sticky; top:24px; padding:24px 0; }
body.abca-solicitud .sol-guide h2 { font-size:1.06rem; font-weight:800; color:#174963; margin-bottom:8px; }
body.abca-solicitud .sol-guide p { font-size:.8rem; color:#587480; line-height:1.6; margin-bottom:22px; }
body.abca-solicitud .sol-guide nav { display:grid; gap:7px; }
body.abca-solicitud .sol-guide a { display:flex; align-items:center; gap:12px; padding:12px 10px; color:#4b6875; text-decoration:none; border-radius:11px; font-size:.78rem; line-height:1.5; border:1px solid transparent; }
body.abca-solicitud .sol-guide a span:first-child { color:#6b838b; font-size:.7rem; font-weight:800; }
body.abca-solicitud .sol-guide a.is-current { background:#fff; color:#0065ac; border-color:#d5e3e8; box-shadow:0 5px 16px #264d6908; font-weight:700; }
body.abca-solicitud .sol-guide a.is-current span:first-child { color:#0065ac; }
body.abca-solicitud .sol-guide a:focus-visible { outline:2px solid #0065ac; outline-offset:2px; }
body.abca-solicitud .sol-guide-note { margin-top:24px; padding:16px; border-left:3px solid #9fbb32; background:#f5f9ee; border-radius:0 10px 10px 0; font-size:.76rem; line-height:1.7; color:#536849; }
body.abca-solicitud #formSolicitud { background:transparent; padding:0!important; border:0; box-shadow:none; }
body.abca-solicitud #formSolicitud .sol-section { background:#fff; border:1px solid #d8e5e8; border-radius:18px; padding:26px; margin-bottom:18px!important; box-shadow:0 8px 24px #284d6505; scroll-margin-top:24px; }
body.abca-solicitud .sec-title { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
body.abca-solicitud .sec-title > i { display:inline-grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:11px; background:#eaf4f9; color:#0065ac; font-size:1.2rem; }
body.abca-solicitud .sol-section:nth-child(even) .sec-title > i { background:#f1f6e7; color:#58741c; }
body.abca-solicitud .doc-box { background:linear-gradient(135deg,#f5f9ef,#f2f8fb); }
body.abca-solicitud #btnEnviar { box-shadow:0 8px 20px #0065ac18; }
@media(max-width:991.98px) { body.abca-solicitud .sol-workspace { grid-template-columns:1fr; } body.abca-solicitud .sol-guide { display:none; } }
@media(max-width:575.98px) { body.abca-solicitud .sol-hero { padding:20px 0; } body.abca-solicitud #formSolicitud .sol-section { padding:20px 16px; } body.abca-solicitud .sec-title { font-size:1rem; } }

/* Selector de archivo en español: reemplaza visualmente el control nativo
   ("Choose File / No file chosen"), que sigue el idioma del navegador y no
   el de la página. El input real sigue funcionando igual, solo queda oculto. */
body.abca-solicitud .file-picker { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
body.abca-solicitud .file-picker-btn { display:inline-flex; align-items:center; gap:.4rem; padding:.4rem .85rem; font-size:.82rem; font-weight:600; color:#0065ac; background:#fff; border:1px solid #b9cdd4; border-radius:8px; cursor:pointer; white-space:nowrap; transition:background .15s,border-color .15s; }
body.abca-solicitud .file-picker-btn:hover { background:#eaf4f9; border-color:#0065ac; }
body.abca-solicitud .file-picker-name { font-size:.8rem; color:#63808c; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.abca-solicitud .file-picker-input { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body.abca-solicitud .file-picker-btn:focus-within { outline:2px solid #0065ac; outline-offset:2px; }

/* Mantener Verificar alineado con los campos, independientemente del aviso de cédula. */
body.abca-solicitud .row:has(#btnEnviarCodigo) > .col-md-5 > .form-label { line-height:20px; margin-bottom:8px; }
body.abca-solicitud #btnEnviarCodigo { min-height:46px; }
@media(min-width:768px) {
 body.abca-solicitud .row:has(#btnEnviarCodigo) > .col-md-2 { align-self:flex-start!important; padding-top:28px; }
}
body.abca-solicitud .row:has(#btnEnviarCodigo) > .col-md-5 > .form-label { display:block; }

/* Escala amplia, en continuidad con el portal de clientes. */
body.abca-solicitud .wrap { max-width:1440px; padding-inline:32px; }
body.abca-solicitud .abca-logo-nav { width:180px; }
body.abca-solicitud .navbar-abca .navbar-brand { font-size:1rem; gap:22px; }
body.abca-solicitud .sol-hero { padding:44px 0; gap:56px; }
body.abca-solicitud h1 { font-size:clamp(2.8rem,4.3vw,4.2rem); line-height:1.1; }
body.abca-solicitud .sol-eyebrow { font-size:.85rem; padding:10px 15px; }
body.abca-solicitud .sol-hero p { font-size:1.12rem; }
body.abca-solicitud .sol-monitor { padding:30px; border-radius:24px; }
body.abca-solicitud .sol-monitor-title { font-size:1.15rem; }
body.abca-solicitud .sol-monitor-title i { font-size:1.45rem; }
body.abca-solicitud .sol-status,body.abca-solicitud .sol-stage { font-size:.95rem; }
body.abca-solicitud .sol-monitor p,body.abca-solicitud .sol-monitor small { font-size:.85rem; }
body.abca-solicitud .sol-route { font-size:.95rem; padding:0 0 32px; }
body.abca-solicitud .sol-route b { width:34px; height:34px; font-size:.8rem; }
body.abca-solicitud .sol-workspace { grid-template-columns:240px minmax(0,1fr); gap:30px; }
body.abca-solicitud .sol-guide h2 { font-size:1.25rem; }
body.abca-solicitud .sol-guide p,body.abca-solicitud .sol-guide-note { font-size:.9rem; }
body.abca-solicitud .sol-guide a { font-size:.9rem; padding:12px 10px; }
body.abca-solicitud .sol-guide { max-height:calc(100dvh - 48px); overflow-y:auto; }
body.abca-solicitud #formSolicitud .sol-section { padding:32px; border-radius:22px; margin-bottom:24px!important; }
body.abca-solicitud .sec-title { font-size:1.4rem; gap:14px; }
body.abca-solicitud .sec-title > i { width:46px; height:46px; flex-basis:46px; font-size:1.4rem; }
body.abca-solicitud .sec-sub { font-size:1rem; margin-bottom:24px; }
body.abca-solicitud .form-label { font-size:1rem; }
body.abca-solicitud .form-text { font-size:.875rem; }
body.abca-solicitud :is(.form-control,.form-select):not(.file-picker-input) { min-height:56px; font-size:1rem; border-radius:11px; }
body.abca-solicitud .doc-box { padding:22px; }
body.abca-solicitud .file-picker-btn { font-size:.95rem; padding:10px 14px; }
body.abca-solicitud .file-picker-name { font-size:.9rem; }
body.abca-solicitud #formSolicitud .small { font-size:.9rem; }
body.abca-solicitud #btnEnviar { min-height:60px; font-size:1.15rem; }
body.abca-solicitud #btnEnviarCodigo { min-height:56px; font-size:1rem; }
body.abca-solicitud .row:has(#btnEnviarCodigo) > .col-md-5 > .form-label { line-height:24px; }
@media(min-width:768px) { body.abca-solicitud .row:has(#btnEnviarCodigo) > .col-md-2 { padding-top:32px; } }
@media(max-width:1100px) { body.abca-solicitud .sol-workspace { grid-template-columns:1fr; } body.abca-solicitud .sol-guide { display:none; } }
@media(max-width:767.98px) {
 body.abca-solicitud .wrap { padding-inline:18px; }
 body.abca-solicitud .sol-hero { padding:26px 0; gap:24px; }
 body.abca-solicitud h1 { font-size:2.65rem; }
 body.abca-solicitud .sol-hero p { font-size:1rem; }
 body.abca-solicitud .abca-logo-nav { width:140px; }
 body.abca-solicitud .navbar-abca .navbar-brand { font-size:.8rem; gap:14px; }
 body.abca-solicitud .sol-monitor { padding:24px; }
 body.abca-solicitud #formSolicitud .sol-section { padding:24px 18px; }
 body.abca-solicitud .sec-title { font-size:1.2rem; }
 body.abca-solicitud .sol-route { font-size:.85rem; gap:14px; }
}
