/* Figuras de artículos (CTP Journey v50): se usan en las páginas del sitio y en figura.html, que las exporta en PNG para Substack */
/* Figura 1: estructura de cuentas en tres niveles */
.dg{background:var(--fondo);border:1px solid var(--borde);border-radius:var(--radius-md);padding:28px;font-size:14px;line-height:1.35}
.dg small{display:block;font-size:12.5px;color:var(--texto-secundario);font-weight:400;margin-top:3px}
.dg-caja{background:var(--fondo);border:1.5px solid var(--verde-tinta);border-radius:var(--radius-sm);padding:12px 14px;text-align:center;font-weight:700}
.dg-arriba{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,220px);gap:16px;align-items:center}
.dg-holding{background:var(--menta);font-size:17px;max-width:420px;width:100%;justify-self:center}
.dg-linea{border:1.5px dashed var(--naranja-texto);color:var(--naranja-texto);background:var(--fondo)}
.dg-linea small{color:var(--texto-secundario)}
.dg-flujos{display:flex;justify-content:center;gap:28px;margin:12px 0;font:600 12px/1.3 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
.sube{color:var(--esmeralda)}
.baja{color:var(--azul-texto)}
.dg-subs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.dg-sub{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--borde);padding-top:14px}
.dg-sub .dg-flujos{margin:0;gap:14px;font-size:11px}
.dg-hojas{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dg-hojas .dg-caja{border-width:1px;border-color:var(--borde-fuerte);font-weight:600;font-size:13px;padding:10px 8px}
.dg-nota{display:none;font-size:13px;color:var(--texto-secundario);margin:10px 0 0;text-align:center}
.dg-leyenda{display:flex;flex-wrap:wrap;gap:8px 20px;border-top:1px solid var(--borde);margin-top:18px;padding-top:14px;font:500 12px/1.4 var(--font-mono);color:var(--texto-secundario)}
.dg-leyenda span::before{content:"";display:inline-block;width:22px;height:0;border-top:2px solid currentColor;vertical-align:middle;margin-right:8px}
.dg-leyenda .l-barrido{color:var(--esmeralda)}.dg-leyenda .l-fondeo{color:var(--azul-texto)}.dg-leyenda .l-linea{color:var(--naranja-texto)}
.dg-leyenda .l-linea::before{border-top-style:dashed}
/* Figura 2: dos gráficas lado a lado */
.graficas{display:grid;grid-template-columns:1fr 1fr;gap:28px;background:var(--fondo);border:1px solid var(--borde);border-radius:var(--radius-md);padding:24px}
/* ISO 20022: el dato nace dentro de la empresa y viaja por el banco y SWIFT */
.iso{background:var(--fondo);border:1px solid var(--borde);border-radius:var(--radius-md);padding:28px;font-size:14px;line-height:1.4}
.iso-grupos{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr);gap:0}
.iso-grupo{display:flex;flex-direction:column;gap:14px;padding:0 20px}
.iso-grupo:first-child{padding-left:0;border-right:1.5px dashed var(--borde-fuerte)}
.iso-grupo:last-child{padding-right:0}
.iso-rotulo{font:600 12px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--azul-texto);border-bottom:2px solid var(--azul);padding-bottom:8px}
.iso-fuera .iso-rotulo{color:var(--texto-suave);border-color:var(--borde-fuerte)}
.iso-pasos{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px;list-style:none;margin:0;padding:0}
.iso-paso{display:flex;flex-direction:column;gap:6px}
.iso-num{font:600 13px/1 var(--font-mono);color:var(--azul-texto);background:var(--azul-claro);border-radius:var(--radius-xs);padding:6px 8px;align-self:flex-start}
.iso-fuera .iso-num{color:var(--texto-secundario);background:var(--fondo-papel)}
.iso-paso b{font-size:15px;line-height:1.25}
.iso-paso span{font-size:13px;color:var(--texto-secundario)}
.iso-nota{margin:0;border-radius:var(--radius-sm);padding:12px 14px;font-size:14px;font-weight:600;background:var(--azul-claro);color:var(--azul-noche)}
.iso-fuera .iso-nota{background:var(--fondo-papel);color:var(--texto);font-weight:500}
.iso-tesis{margin:22px 0 0;background:var(--azul-noche);color:var(--papel);border-radius:var(--radius-sm);padding:16px 20px;font-size:18px;font-weight:700;line-height:1.35}
.iso-tesis span{display:block;color:var(--azul-luz)}
@media (max-width:720px){
.dg{padding:18px}
.dg-arriba{grid-template-columns:1fr}
.dg-subs{grid-template-columns:1fr}
.dg-sub:not(:first-child){display:none}
.dg-nota{display:block}
.graficas{grid-template-columns:1fr;padding:18px}
.iso{padding:18px}
.iso-grupos{grid-template-columns:1fr;gap:24px}
.iso-grupo,.iso-grupo:first-child{padding:0;border:0}
.iso-pasos{grid-auto-flow:row}
}
/* ISO 20022, figuras de apoyo: dirección en una línea frente a estructurada, dato que se pierde, cinco conversaciones */
.isx{background:var(--fondo);border:1px solid var(--borde);border-radius:var(--radius-md);padding:28px;font-size:15px;line-height:1.4}
.isx-rot{font:600 12px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--texto-suave);margin:0 0 10px}
.isx-rot.azul{color:var(--azul-texto)}
.isx-dos{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px;align-items:center}
.isx-flecha{font:600 22px/1 var(--font-mono);color:var(--azul-texto)}
.isx-linea{border:1.5px solid var(--borde-fuerte);border-radius:var(--radius-sm);padding:16px;font:500 15px/1.5 var(--font-mono);background:var(--fondo-papel)}
.isx-campos{display:grid;gap:6px;margin:0}
.isx-campos div{display:grid;grid-template-columns:120px 1fr;border:1.5px solid var(--azul-luz);border-radius:var(--radius-sm);overflow:hidden}
.isx-campos dt{background:var(--azul-claro);color:var(--azul-texto);font:600 12px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:10px 12px;display:flex;align-items:center}
.isx-campos dd{margin:0;padding:9px 12px;font-weight:600}
.isx-frase{margin:20px 0 0;font-size:17px;font-weight:700;line-height:1.4}
.isx-frase span{color:var(--azul-texto)}
.isx-tres{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.2fr);gap:14px;align-items:stretch}
.isx-etapa{border:1.5px solid var(--borde-fuerte);border-radius:var(--radius-sm);padding:14px;display:flex;flex-direction:column;gap:8px}
.isx-etapa b{font-size:16px}
.isx-etapa code{font:500 14px/1.45 var(--font-mono);background:var(--azul-claro);color:var(--azul-noche);border-radius:var(--radius-xs);padding:6px 8px}
.isx-etapa.mal code{background:var(--alerta-claro);color:var(--texto)}
.isx-etapa small{font-size:13px;color:var(--texto-secundario)}
.isx-tres .isx-flecha{align-self:center}
.isx-estado{font:600 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--azul-texto)}
.isx-etapa.mal .isx-estado{color:var(--naranja-texto)}
.isx-lista{list-style:none;margin:0;padding:0;display:grid;gap:0}
.isx-lista li{display:grid;grid-template-columns:52px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--borde)}
.isx-lista li:first-child{border-top:0;padding-top:0}
.isx-lista .n{font:600 14px/1 var(--font-mono);color:var(--azul-texto);border-top:2px solid var(--azul);padding-top:6px;align-self:start}
.isx-lista b{display:block;font-size:17px;margin-bottom:3px}
.isx-lista span{color:var(--texto-secundario)}
@media (max-width:720px){
.isx{padding:18px}
.isx-dos,.isx-tres{grid-template-columns:1fr}
.isx-flecha{transform:rotate(90deg);justify-self:center}
.isx-campos div{grid-template-columns:104px 1fr}
}
/* Figuras de apoyo de liquidez (serie esmeralda) y tesorería agéntica (serie violeta): marco común .fx con acento por serie */
.fx{--fx:var(--esmeralda);--fx-claro:var(--menta);--fx-noche:var(--verde-tinta);background:var(--fondo);border:1px solid var(--borde);border-radius:var(--radius-md);padding:28px;font-size:15px;line-height:1.4}
.fx.ia{--fx:var(--violeta);--fx-claro:var(--violeta-claro);--fx-noche:var(--violeta-noche)}
.fx-rot{font:600 12px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--texto-suave);margin:0 0 10px}
.fx-frase{margin:20px 0 0;font-size:17px;font-weight:700;line-height:1.4}
.fx-frase span{color:var(--fx)}
/* capas apiladas */
.fx-capas{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fx-capas li{display:grid;grid-template-columns:44px minmax(0,190px) 1fr;gap:16px;align-items:center;border:1.5px solid var(--borde-fuerte);border-radius:var(--radius-sm);padding:12px 16px}
.fx-capas .n{font:600 15px/1 var(--font-mono);color:var(--fx)}
.fx-capas b{font-size:16px}
.fx-capas span{color:var(--texto-secundario);font-size:14px}
.fx-capas li.foco{background:var(--fx-claro);border-color:var(--fx)}
.fx-capas em{display:block;font:600 11px/1.3 var(--font-mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--fx);margin-top:4px}
/* dos columnas comparadas */
.fx-dos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fx-col{border:1.5px solid var(--borde-fuerte);border-radius:var(--radius-sm);padding:18px}
.fx-col.foco{border-color:var(--fx);background:var(--fx-claro)}
.fx-col h3{margin:0 0 4px;font-size:20px}
.fx-col p{margin:0 0 12px;color:var(--texto-secundario)}
.fx-col ul,.fx-col ol{margin:0;padding-left:20px;display:grid;gap:6px}
.fx-col.foco ol{color:var(--fx-noche);font-weight:600}
/* salida de un agente */
.fx-agente{border:1.5px solid var(--fx);border-radius:var(--radius-sm);overflow:hidden}
.fx-agente header{background:var(--fx-noche);color:var(--papel);padding:12px 16px;font:600 12px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;display:flex;justify-content:space-between;gap:12px}
.fx-agente header span:last-child{color:var(--violeta-luz)}
.fx-agente .cuerpo-ag{padding:16px;display:grid;gap:14px}
.fx-chips{display:flex;flex-wrap:wrap;gap:6px}
.fx-chips span{font:500 12px/1 var(--font-mono);background:var(--fondo-papel);border:1px solid var(--borde);border-radius:var(--radius-xs);padding:6px 8px;color:var(--texto-secundario)}
.fx-alerta{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:baseline;background:var(--alerta-claro);border-radius:var(--radius-sm);padding:12px 14px}
.fx-alerta strong{font-size:28px;line-height:1;letter-spacing:-.02em}
.fx-alerta span{color:var(--texto-secundario)}
.fx-opciones{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.fx-opciones li{display:flex;gap:10px;align-items:baseline;color:var(--texto-secundario)}
.fx-opciones li::before{content:"○";color:var(--borde-fuerte);font-weight:700}
.fx-opciones li.elegida{color:var(--texto);font-weight:700}
.fx-opciones li.elegida::before{content:"●";color:var(--fx)}
.fx-autoriza{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--borde);padding-top:12px;font-weight:700}
.fx-autoriza div{display:flex;gap:8px}
.fx-autoriza i{font:600 13px/1 var(--font-sans);font-style:normal;padding:9px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--fx)}
.fx-autoriza i:first-child{background:var(--fx);color:var(--blanco)}
.fx-autoriza i:last-child{color:var(--fx)}
/* línea de tiempo y tarjetas */
.fx-tiempo{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fx-tiempo li{border-top:3px solid var(--borde-fuerte);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.fx-tiempo li.foco{border-color:var(--fx)}
.fx-tiempo .hora{font:600 13px/1 var(--font-mono);color:var(--fx)}
.fx-tiempo b{font-size:16px;line-height:1.25}
.fx-tiempo span{color:var(--texto-secundario);font-size:14px}
.fx-cuatro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fx-tarjeta{border:1.5px solid var(--borde-fuerte);border-radius:var(--radius-sm);padding:16px;display:flex;flex-direction:column;gap:6px}
.fx-tarjeta .verbo{font:600 12px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fx)}
.fx-tarjeta b{font-size:18px}
.fx-tarjeta span{color:var(--texto-secundario)}
@media (max-width:720px){
.fx{padding:18px}
.fx-capas li{grid-template-columns:32px 1fr;gap:4px 12px}
.fx-capas li span{grid-column:2}
.fx-dos,.fx-cuatro,.fx-tiempo{grid-template-columns:1fr}
.fx-autoriza{flex-direction:column;align-items:flex-start}
}
