:root{--az:#0b5cad;--az-osc:#083f78;--tx:#1c2733;--gris:#5b6877;--lin:#dfe5ec;--alto:128px}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--tx);background:#fff}
[hidden]{display:none!important}
a{color:var(--az)}

/* Cabecera */
#cx-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--lin)}
.cx-top{display:flex;align-items:center;gap:28px;padding:18px 32px 12px}
.cx-marca img{height:34px;display:block}
.cx-titulo{margin:0;font-size:30px;font-weight:700;letter-spacing:-.01em;flex:1}
.cx-buscar{position:relative;width:min(440px,40vw)}
.cx-buscar svg{position:absolute;left:14px;top:50%;margin-top:-9px;width:18px;height:18px;fill:none;stroke:var(--gris);stroke-width:2;stroke-linecap:round}
.cx-buscar input{width:100%;height:44px;padding:0 14px 0 42px;border:1px solid #b9c4d0;border-radius:6px;font:inherit;font-size:15px;color:var(--tx);background:#fff}
.cx-buscar input:focus{outline:2px solid var(--az);outline-offset:-1px;border-color:var(--az)}
#cx-res{position:absolute;left:0;right:0;top:50px;background:#fff;border:1px solid var(--lin);border-radius:8px;box-shadow:0 10px 30px rgba(20,40,70,.18);max-height:60vh;overflow:auto;z-index:60}
#cx-res a{display:flex;flex-direction:column;gap:2px;padding:10px 16px;text-decoration:none;color:var(--tx);border-bottom:1px solid #eef1f5}
#cx-res a:hover{background:#eef4fb}
#cx-res small{color:var(--gris)}
#cx-res .vacio{padding:14px 16px;color:var(--gris)}
.cx-tabs{display:flex;gap:6px;padding:0 24px}
.cx-tabs a{padding:10px 14px 12px;text-decoration:none;color:var(--gris);font-weight:600;font-size:15px;border-bottom:3px solid transparent}
.cx-tabs a:hover{color:var(--az)}
.cx-tabs a.act{color:var(--az);border-bottom-color:var(--az)}

/* Portada */
#cx-inicio{display:flex;align-items:flex-start}
.cx-lateral{width:345px;flex:none;position:sticky;top:var(--alto);height:calc(100vh - var(--alto));overflow:auto;padding:22px 16px 40px;border-right:1px solid var(--lin);background:#fff}
.cx-sec{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gris);padding:0 12px 10px}
.cx-it{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:6px;text-decoration:none;color:var(--tx);font-size:15px}
.cx-it:hover{background:#eef4fb}
.cx-it.act{background:var(--az);color:#fff;font-weight:600}
.cx-it i{width:7px;height:7px;border-right:2px solid var(--gris);border-bottom:2px solid var(--gris);transform:rotate(-45deg);margin-right:4px}
.cx-cuerpo{flex:1;min-width:0;padding:0 0 70px}
.cx-banda{height:190px;display:flex;align-items:center;padding:0 48px;color:#fff;background-color:var(--az);background-image:radial-gradient(rgba(255,255,255,.22) 1.6px,transparent 1.8px),linear-gradient(120deg,#0b5cad,#0a78d1 60%,#12a0ea);background-size:22px 22px,100% 100%}
.cx-banda h2{margin:0;font-size:34px;font-weight:700;letter-spacing:-.01em;max-width:780px}
.cx-intro{font-size:22px;line-height:1.55;color:var(--tx);margin:38px 48px 30px;max-width:980px}
.cx-tarjetas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0 48px}
.cx-tarjeta{display:block;padding:22px 24px 24px;background:#fff;border:1px solid var(--lin);border-radius:6px;box-shadow:0 2px 8px rgba(20,40,70,.08);text-decoration:none;color:var(--tx);transition:box-shadow .15s,transform .15s}
.cx-tarjeta:hover{box-shadow:0 8px 22px rgba(20,40,70,.16);transform:translateY(-2px)}
.cx-tarjeta h3{margin:0 0 10px;font-size:19px;font-weight:600;color:var(--az)}
.cx-tarjeta p{margin:0;font-size:15px;line-height:1.55;color:var(--gris)}

/* Redoc con el aspecto del sitio */
#redoc [role=navigation],#redoc .menu-content{background:#fff!important;border-right:1px solid var(--lin)}
#redoc .menu-content{padding-top:14px}
#redoc .menu-content ul li{margin:0}
#redoc .menu-content label{border-radius:6px;margin:1px 12px;font-size:15px;padding:9px 12px!important;display:flex}
#redoc .menu-content label.active,#redoc .menu-content label:hover{background:var(--az)!important;color:#fff!important}
#redoc .menu-content label.active *,#redoc .menu-content label:hover *{color:#fff!important}
#redoc .menu-content label[type=group]{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--gris);padding:18px 24px 8px!important;margin:0}
#redoc .menu-content label[type=group]:hover{background:transparent!important;color:var(--gris)!important}
#redoc .menu-content > div:first-child{display:none}
#redoc .api-content{padding-bottom:60px}
#redoc .api-content h1{font-size:30px}
#redoc .api-content h2{font-size:25px}

@media(max-width:1100px){.cx-tarjetas{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-titulo{font-size:24px}}
@media(max-width:800px){
	.cx-top{flex-wrap:wrap;gap:12px;padding:12px 16px}.cx-titulo{font-size:21px;order:2;flex:1 1 100%}.cx-buscar{width:100%;order:3}.cx-marca{order:1}
	.cx-lateral{display:none}.cx-tarjetas{grid-template-columns:1fr;margin:0 16px}.cx-banda{padding:0 20px;height:140px}.cx-banda h2{font-size:24px}.cx-intro{margin:24px 16px;font-size:18px}
}

#cargando{display:flex;align-items:center;justify-content:center;height:60vh;flex-direction:column;gap:14px;color:var(--gris)}
#cargando .rueda{width:38px;height:38px;border:4px solid #dbe8f6;border-top-color:var(--az);border-radius:50%;animation:g .9s linear infinite}
@keyframes g{to{transform:rotate(360deg)}}

#redoc .api-info{display:none}
#redoc .menu-content img{display:none}
#redoc .menu-content>div:first-child{display:none}

/* «Loading ...» y rueda propios de Redoc */
#redoc div[style*="text-align"]:has(> svg){display:none!important}
