/* =====================================================================
   orama-paneles.css · paneles animados de orama.ai (widget orama_zigzag)
   Un solo archivo: pegar entero en el CSS adicional del tema.
   Generado el 08/10/2026 a partir de orama-zz-nuevos.css + lote-a/b/c.css;
   lote D (bloques 70–93, los últimos huecos) añadido el 13/10/2026
   ===================================================================== */


/* ######## Base y paneles aprobados (zz-fx-diaria, zz-fx-concilia, zz-fx-iaprev) ######## */
/* ==========================================================================
   Orama · paneles nuevos del widget orama_zigzag (.orama-seq .panel > .app-pad.zz-fx-*)
   Mismas variables y convención que los existentes (zz-fx-cuadro, zz-fx-ia…):
   la animación se lanza al pasar el ratón por el panel (.panel:hover) y también
   cuando el bloque entra en pantalla (.orama-seq__item.in), si el tema añade esa clase.
   Variantes: zz-fx-diaria · zz-fx-concilia · zz-fx-iaprev
   ========================================================================== */

/* --- Base común de las variantes nuevas --- */
.zz-fx-diaria,.zz-fx-concilia,.zz-fx-iaprev{position:relative;font-variant-numeric:tabular-nums;padding-bottom:34px}
/* Las tarjetas solo se solapan con el borde del panel y con franjas reservadas: nunca tapan datos ni a otra tarjeta. */
.zz-fx-diaria .zz-dia-top{min-height:30px}
.zz-chip{position:absolute;z-index:2;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;
  background:linear-gradient(180deg,var(--orama-surface-2),var(--orama-surface));border:1px solid rgb(124 162 255 / .32);
  box-shadow:0 18px 40px -16px rgb(0 0 0 / .9);font-size:.8rem;color:var(--orama-muted);white-space:nowrap;
  opacity:0;transform:translateY(8px) scale(.96);transition:opacity .45s var(--orama-ease),transform .45s var(--orama-ease)}
.zz-chip b{color:var(--orama-text);font-weight:700}
.zz-chip .ic{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:.75rem;font-weight:800;flex:none}
.zz-chip .ic.bad{background:rgb(224 82 126 / .18);color:#F08AA8}
.zz-chip .ic.ok{background:rgb(119 163 121 / .2);color:#9CCB9E}
.zz-chip .ic.br{background:rgb(84 134 255 / .2);color:var(--orama-brand-bright)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-chip{opacity:1;transform:none}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-chip.d1{transition-delay:.55s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-chip.d2{transition-delay:.85s}

/* ==========================================================================
   1) zz-fx-diaria · tesorería día a día con un día de tensión
   ========================================================================== */
.zz-fx-diaria .zz-dia-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.zz-fx-diaria .zz-dia-top .lbl{color:var(--orama-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
.zz-fx-diaria .zz-dia-top .val{color:var(--orama-text);font-weight:700;font-size:1.15rem}
.zz-fx-diaria svg{display:block;width:100%;height:auto;overflow:visible}
.zz-fx-diaria .zz-dia-zero{stroke:var(--orama-line);stroke-dasharray:3 4}
.zz-fx-diaria .zz-dia-area{fill:url(#zzDiaFill);opacity:.0;transition:opacity .6s var(--orama-ease) .35s}
.zz-fx-diaria .zz-dia-neg{fill:rgb(224 82 126 / .28);opacity:0;transition:opacity .4s ease .8s}
.zz-fx-diaria .zz-dia-line{fill:none;stroke:var(--orama-brand-bright);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.zz-fx-diaria .zz-dia-days text{fill:var(--orama-faint);font-size:9px;text-anchor:middle}
.zz-fx-diaria .zz-dia-dot{fill:#F08AA8;transform-box:fill-box;transform-origin:center;opacity:0}
.zz-fx-diaria .zz-dia-halo{fill:none;stroke:#F08AA8;stroke-width:1.5;transform-box:fill-box;transform-origin:center;opacity:0}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-diaria .zz-dia-line{animation:zz-dia-draw 1.1s var(--orama-ease) forwards}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-diaria .zz-dia-area,
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-diaria .zz-dia-neg{opacity:1}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-diaria .zz-dia-dot{opacity:1;transition:opacity .2s ease .9s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-diaria .zz-dia-halo{animation:zz-dia-ping 1.6s ease-out 1s infinite}
.zz-fx-diaria .zz-chip.c-tension{right:0;top:-8px}
.zz-fx-diaria .zz-chip.c-linea{right:0;bottom:-14px}
@keyframes zz-dia-draw{to{stroke-dashoffset:0}}
@keyframes zz-dia-ping{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}

/* ==========================================================================
   2) zz-fx-concilia · movimientos que encuentran su partida
   ========================================================================== */
.zz-fx-concilia .zz-co-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.zz-fx-concilia .zz-co-head .lbl{color:var(--orama-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
.zz-fx-concilia .zz-co-count{font-size:.78rem;color:var(--orama-muted);background:rgb(224 176 90 / .14);border:1px solid rgb(224 176 90 / .3);border-radius:99px;padding:3px 10px}
.zz-fx-concilia .zz-co-count b{color:#F1C27A}
.zz-fx-concilia .zz-co-list{display:flex;flex-direction:column;gap:7px}
.zz-fx-concilia .row{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;
  background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);font-size:.84rem;color:var(--orama-muted);
  transition:background .4s var(--orama-ease),border-color .4s var(--orama-ease)}
.zz-fx-concilia .row .amt{color:var(--orama-text);font-weight:600}
.zz-fx-concilia .row .amt.neg{color:#F08AA8}
.zz-fx-concilia .row .ck{width:18px;height:18px;border-radius:6px;border:1.5px solid var(--orama-line);display:grid;place-items:center;font-size:.7rem;color:transparent;transition:all .35s var(--orama-ease)}
.zz-fx-concilia .row .tag{display:inline-block;margin-left:8px;font-size:.72rem;padding:2px 8px;border-radius:99px;background:rgb(119 163 121 / .18);color:#9CCB9E;opacity:0;transform:translateX(-6px);transition:all .4s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-concilia .row.is-hit{background:rgb(119 163 121 / .08);border-color:rgb(119 163 121 / .35);transition-delay:.35s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-concilia .row.is-hit .ck{background:var(--orama-good);border-color:var(--orama-good);color:#fff;transition-delay:.35s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-concilia .row.is-hit .tag{opacity:1;transform:none;transition-delay:.5s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-concilia .row.is-hit:nth-of-type(3) *{transition-delay:.75s}
.zz-fx-concilia .zz-co-n{display:inline-block}
.zz-fx-concilia .zz-co-n .b{display:none}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-concilia .zz-co-n .a{display:none}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-concilia .zz-co-n .b{display:inline}
.zz-fx-concilia .zz-chip.c-regla{right:0;bottom:-14px}

/* ==========================================================================
   3) zz-fx-iaprev · la IA escribe la previsión a partir de una instrucción
   (sustituye al «chat»: es un campo de instrucción + previsión generada)
   ========================================================================== */
.zz-fx-iaprev .zz-ip-input{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:12px;background:rgb(84 134 255 / .08);border:1px solid rgb(84 134 255 / .3);font-size:.84rem;color:var(--orama-text)}
.zz-fx-iaprev .zz-ip-input .spark{color:var(--orama-brand-bright);font-size:1rem}
.zz-fx-iaprev .zz-ip-txt{overflow:hidden;white-space:nowrap;max-width:0;border-right:2px solid var(--orama-brand-bright)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-iaprev .zz-ip-txt{animation:zz-ip-type 1.6s steps(44,end) forwards,zz-ip-caret .8s step-end infinite}
.zz-fx-iaprev .zz-ip-bars{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;align-items:end;height:118px;margin-top:16px;padding:0 4px}
.zz-fx-iaprev .zz-ip-bars i{display:block;border-radius:6px 6px 3px 3px;height:var(--h);background:linear-gradient(180deg,var(--orama-brand-bright),rgb(84 134 255 / .35));
  transform:scaleY(.06);transform-origin:bottom;opacity:.5;transition:transform .6s var(--orama-ease),opacity .6s var(--orama-ease)}
.zz-fx-iaprev .zz-ip-bars i.up{background:linear-gradient(180deg,#9CCB9E,rgb(119 163 121 / .35))}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-iaprev .zz-ip-bars i{transform:none;opacity:1;transition-delay:calc(1.3s + var(--i) * .09s)}
.zz-fx-iaprev .zz-ip-months{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;padding:6px 4px 0;font-size:.68rem;color:var(--orama-faint);text-align:center;text-transform:uppercase;letter-spacing:.04em}
.zz-fx-iaprev .zz-chip.c-priv{right:0;bottom:-14px}
.zz-fx-iaprev .zz-chip.c-dic{left:0;bottom:-14px}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-iaprev .zz-chip.d1{transition-delay:1.9s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-iaprev .zz-chip.d2{transition-delay:2.2s}
@keyframes zz-ip-type{to{max-width:44ch}}
@keyframes zz-ip-caret{50%{border-color:transparent}}

/* Móvil: las tarjetas pasan al flujo, debajo del contenido, sin solaparse */
@media (max-width:640px){
  .zz-fx-diaria,.zz-fx-concilia,.zz-fx-iaprev{padding-bottom:0;display:flex;flex-direction:column}
  .zz-chip{position:relative;inset:auto!important;margin-top:10px;align-self:flex-start;font-size:.76rem;white-space:normal}
  .zz-fx-concilia .row{font-size:.78rem;padding:8px 10px}
}

/* Accesibilidad: sin movimiento si el usuario lo pide; se muestra el estado final */
@media (prefers-reduced-motion:reduce){
  .zz-fx-diaria *,.zz-fx-concilia *,.zz-fx-iaprev *{animation:none!important;transition:none!important}
  .zz-fx-diaria .zz-dia-line{stroke-dashoffset:0}
  .zz-fx-diaria .zz-dia-area,.zz-fx-diaria .zz-dia-neg,.zz-fx-diaria .zz-dia-dot,.zz-chip{opacity:1;transform:none}
  .zz-fx-iaprev .zz-ip-txt{max-width:44ch;border:0}
  .zz-fx-iaprev .zz-ip-bars i{transform:none;opacity:1}
}


/* ######## Lote A · sectores y multiempresa ######## */
/* ==========================================================================
   Orama · paneles del lote A (páginas de /soluciones/ y multiempresa)
   Requiere orama-zz-nuevos.css (base .zz-chip, .ic, d1/d2 y zz-fx-diaria).
   Variantes: zz-fx-alertas · zz-fx-multi · zz-fx-proyectos · zz-fx-kpis ·
              zz-fx-prestamos · zz-fx-diaria--semana · zz-fx-payout
   Animación: :is(.orama-seq .panel:hover,.orama-seq__item.in .panel) …
   ========================================================================== */

/* --- Base común del lote --- */
.zz-fx-alertas,.zz-fx-multi,.zz-fx-proyectos,.zz-fx-kpis,.zz-fx-prestamos,.zz-fx-payout{position:relative;font-variant-numeric:tabular-nums;padding-bottom:34px}
:is(.zz-fx-alertas,.zz-fx-multi,.zz-fx-proyectos,.zz-fx-kpis,.zz-fx-prestamos,.zz-fx-payout) .lbl{display:block;color:var(--orama-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
:is(.zz-fx-multi,.zz-fx-payout) .val{display:block;color:var(--orama-text);font-weight:700;font-size:1.15rem;margin-top:2px}
/* Fila de cabecera: deja a la derecha la franja reservada para la tarjeta superior */
.zz-fx-alertas .zz-al-top,.zz-fx-multi .zz-mu-top,.zz-fx-proyectos .zz-pr-top,.zz-fx-kpis .zz-kp-top,.zz-fx-prestamos .zz-pt-top,.zz-fx-payout .zz-po-top{display:flex;justify-content:space-between;align-items:baseline;min-height:30px;margin-bottom:6px}
.zz-fx-alertas svg,.zz-fx-kpis svg{display:block;width:100%;height:auto;overflow:visible}

/* ==========================================================================
   1) zz-fx-alertas · saldo que cae bajo el mínimo + aviso
   ========================================================================== */
.zz-fx-alertas .zz-al-band{fill:rgb(224 176 90 / .1);opacity:0;transition:opacity .5s var(--orama-ease) .2s}
.zz-fx-alertas .zz-al-min{stroke:#F1C27A;stroke-width:1.2;stroke-dasharray:4 4;opacity:.4;transition:opacity .5s var(--orama-ease) .2s}
.zz-fx-alertas .zz-al-mintxt{fill:#F1C27A;font-size:9px;text-anchor:end;opacity:.0;transition:opacity .5s var(--orama-ease) .3s}
.zz-fx-alertas .zz-al-area{fill:url(#zzAlFill);opacity:0;transition:opacity .6s var(--orama-ease) .35s}
.zz-fx-alertas .zz-al-low{fill:rgb(224 82 126 / .28);opacity:0;transition:opacity .4s ease .8s}
.zz-fx-alertas .zz-al-line{fill:none;stroke:var(--orama-brand-bright);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.zz-fx-alertas .zz-al-days text{fill:var(--orama-faint);font-size:9px}
.zz-fx-alertas .zz-al-dot{fill:#F08AA8;opacity:0}
.zz-fx-alertas .zz-al-halo{fill:none;stroke:#F08AA8;stroke-width:1.5;transform-box:fill-box;transform-origin:center;opacity:0}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-alertas .zz-al-line{animation:zz-dia-draw 1.1s var(--orama-ease) forwards}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-alertas :is(.zz-al-band,.zz-al-area,.zz-al-low,.zz-al-mintxt){opacity:1}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-alertas .zz-al-min{opacity:1}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-alertas .zz-al-dot{opacity:1;transition:opacity .2s ease .7s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-alertas .zz-al-halo{animation:zz-dia-ping 1.6s ease-out .8s infinite}
.zz-fx-alertas .zz-chip.c-bajo{right:0;top:-8px}
.zz-fx-alertas .zz-chip.c-mail{right:0;bottom:-14px}

/* ==========================================================================
   2) zz-fx-multi · selector de empresa abierto + total consolidado
   ========================================================================== */
.zz-fx-multi .zz-mu-top{min-height:44px}
.zz-fx-multi .zz-mu-btn{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:10px;background:rgb(84 134 255 / .08);border:1px solid rgb(84 134 255 / .3);font-size:.84rem;color:var(--orama-text)}
.zz-fx-multi .zz-mu-btn .car{color:var(--orama-brand-bright);display:inline-block;transition:transform .35s var(--orama-ease)}
.zz-fx-multi .zz-mu-list{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:5px;border-radius:12px;border:1px solid var(--orama-line-soft);background:rgb(255 255 255 / .02)}
.zz-fx-multi .row{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;font-size:.84rem;color:var(--orama-muted);
  opacity:0;transform:translateY(-5px);transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease),background .4s var(--orama-ease)}
.zz-fx-multi .row .av{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:.66rem;font-weight:800;color:var(--orama-brand-bright);background:rgb(84 134 255 / .16)}
.zz-fx-multi .row .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zz-fx-multi .row .amt{color:var(--orama-text);font-weight:600}
.zz-fx-multi .row .amt.neg{color:#F08AA8}
.zz-fx-multi .row.is-bad .av{background:rgb(224 82 126 / .18);color:#F08AA8}
.zz-fx-multi .row .perm{margin-left:8px;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:99px;background:rgb(119 163 121 / .18);color:#9CCB9E}
.zz-fx-multi .row .perm.ed{background:rgb(84 134 255 / .18);color:var(--orama-brand-bright)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-multi .zz-mu-btn .car{transform:rotate(180deg)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-multi .row{opacity:1;transform:none;transition-delay:calc(.2s + var(--i) * .1s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-multi .row.is-on{background:rgb(84 134 255 / .12)}
.zz-fx-multi .zz-chip.c-top{right:0;top:-8px}
.zz-fx-multi .zz-chip.c-pie{right:0;bottom:-14px}

/* ==========================================================================
   3) zz-fx-proyectos · caja neta por proyecto (barras horizontales)
   ========================================================================== */
.zz-fx-proyectos .zz-pr-list{display:flex;flex-direction:column;gap:12px;padding-top:8px}
.zz-fx-proyectos .row{display:grid;grid-template-columns:minmax(0,8.6em) 1fr 3.6em;align-items:center;gap:12px;font-size:.84rem;color:var(--orama-muted)}
.zz-fx-proyectos .row .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zz-fx-proyectos .row .trk{height:12px;border-radius:6px;background:rgb(255 255 255 / .04)}
.zz-fx-proyectos .row .trk i{display:block;height:100%;width:var(--w);border-radius:6px;background:linear-gradient(90deg,rgb(84 134 255 / .55),var(--orama-brand-bright));
  transform:scaleX(.04);transform-origin:left;opacity:.5;transition:transform .7s var(--orama-ease),opacity .7s var(--orama-ease)}
.zz-fx-proyectos .row.neg .trk i{background:linear-gradient(90deg,rgb(224 82 126 / .4),#F08AA8)}
.zz-fx-proyectos .row .amt{color:var(--orama-text);font-weight:600;text-align:right}
.zz-fx-proyectos .row.neg .amt{color:#F08AA8}
.zz-fx-proyectos .row.late .trk i{background:linear-gradient(90deg,rgb(224 176 90 / .4),#F1C27A)}
.zz-fx-proyectos .row.late .amt{color:#F1C27A}
.zz-fx-proyectos .zz-chip.c-top{right:0;top:-8px}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-proyectos .row .trk i{transform:none;opacity:1;transition-delay:calc(.15s + var(--i) * .12s)}
.zz-fx-proyectos .zz-chip.c-pie{right:0;bottom:-14px}

/* ==========================================================================
   4) zz-fx-kpis · runway (arco) + burn rate (mini barras)
   ========================================================================== */
.zz-fx-kpis .zz-kp-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}
.zz-fx-kpis .zz-kp-track{fill:none;stroke:rgb(255 255 255 / .06);stroke-width:12;stroke-linecap:round}
.zz-fx-kpis .zz-kp-arc{fill:none;stroke:var(--orama-brand-bright);stroke-width:12;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s var(--orama-ease) .2s}
.zz-fx-kpis .zz-kp-arc.warn{stroke:#F1C27A}
.zz-fx-kpis .zz-kp-num{fill:var(--orama-text);font-size:26px;font-weight:700;text-anchor:middle}
.zz-fx-kpis .zz-kp-cap{fill:var(--orama-faint);font-size:9px;text-anchor:middle;text-transform:uppercase;letter-spacing:.06em}
.zz-fx-kpis .zz-kp-bars{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;align-items:end;height:78px;margin-top:8px}
.zz-fx-kpis .zz-kp-bars i{display:block;height:var(--h);border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--orama-brand-bright),rgb(84 134 255 / .35));
  transform:scaleY(.06);transform-origin:bottom;opacity:.5;transition:transform .6s var(--orama-ease),opacity .6s var(--orama-ease)}
.zz-fx-kpis .zz-kp-bars i.neg{background:linear-gradient(180deg,#F08AA8,rgb(224 82 126 / .35))}
.zz-fx-kpis .zz-kp-m{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding-top:5px;font-size:.66rem;color:var(--orama-faint);text-align:center;text-transform:uppercase;letter-spacing:.04em}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-kpis .zz-kp-arc{stroke-dashoffset:calc(1 - var(--p))}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-kpis .zz-kp-bars i{transform:none;opacity:1;transition-delay:calc(.3s + var(--i) * .08s)}
.zz-fx-kpis .zz-chip.c-top{right:0;top:-8px}
.zz-fx-kpis .zz-chip.c-pie{right:0;bottom:-14px}

/* ==========================================================================
   5) zz-fx-prestamos · calendario de cuotas de préstamos y leasing
   ========================================================================== */
.zz-fx-prestamos .zz-pt-cols{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;align-items:end}
.zz-fx-prestamos .col{display:flex;flex-direction:column;align-items:center;gap:5px;border-radius:10px;padding:6px 0 5px;transition:background .4s var(--orama-ease)}
.zz-fx-prestamos .col b{font-size:.74rem;font-weight:600;color:var(--orama-muted);opacity:0;transition:opacity .4s var(--orama-ease)}
.zz-fx-prestamos .col .stk{display:flex;flex-direction:column;justify-content:flex-end;gap:2px;width:58%;height:84px;transform:scaleY(.06);transform-origin:bottom;opacity:.5;transition:transform .6s var(--orama-ease),opacity .6s var(--orama-ease)}
.zz-fx-prestamos .col .stk i{display:block;border-radius:4px}
.zz-fx-prestamos .pr{background:linear-gradient(180deg,var(--orama-brand-bright),rgb(84 134 255 / .45))}
.zz-fx-prestamos .le{background:linear-gradient(180deg,#F1C27A,rgb(224 176 90 / .45))}
.zz-fx-prestamos .col .m{font-size:.66rem;color:var(--orama-faint);text-transform:uppercase;letter-spacing:.04em}
.zz-fx-prestamos .col.is-now{background:rgb(84 134 255 / .08)}
.zz-fx-prestamos .col.is-now .m,.zz-fx-prestamos .col.is-now b{color:var(--orama-text)}
.zz-fx-prestamos .zz-pt-leg{display:flex;gap:14px;margin-top:8px;font-size:.72rem;color:var(--orama-muted)}
.zz-fx-prestamos .zz-pt-leg span{display:inline-flex;align-items:center;gap:6px}
.zz-fx-prestamos .zz-pt-leg i{display:inline-block;width:9px;height:9px;border-radius:3px}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-prestamos .col .stk{transform:none;opacity:1;transition-delay:calc(.15s + var(--i) * .09s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-prestamos .col b{opacity:1;transition-delay:calc(.5s + var(--i) * .09s)}
.zz-fx-prestamos .zz-chip.c-top{right:0;top:-8px}
.zz-fx-prestamos .zz-chip.c-pie{right:0;bottom:-14px}

/* ==========================================================================
   6) zz-fx-diaria--semana · modificador de zz-fx-diaria (hostelería)
   Reutiliza todo el CSS de zz-fx-diaria; solo añade fines de semana y el punto verde.
   ========================================================================== */
.zz-fx-diaria--semana .zz-dia-area{fill:url(#zzDiaSemFill)}
.zz-fx-diaria--semana .zz-dia-we{fill:rgb(124 162 255 / .07);opacity:0;transition:opacity .5s var(--orama-ease) .2s}
.zz-fx-diaria--semana .zz-dia-dot.ok{fill:#9CCB9E}
.zz-fx-diaria--semana .zz-dia-halo.ok{stroke:#9CCB9E}
.zz-fx-diaria--semana .zz-dia-days text.we{fill:var(--orama-muted);font-weight:700}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-diaria--semana .zz-dia-we{opacity:1}
.zz-fx-diaria--semana .zz-chip.c-sab{right:0;top:-8px}
.zz-fx-diaria--semana .zz-chip.c-lun{right:0;bottom:-14px}

/* ==========================================================================
   7) zz-fx-payout · un payout de Stripe que se parte en pedidos y comisión
   ========================================================================== */
.zz-fx-payout .zz-po-top{min-height:44px;margin-bottom:10px}
.zz-fx-payout .zz-po-bar{display:flex;gap:0;height:16px;transition:gap .5s var(--orama-ease) .3s}
.zz-fx-payout .zz-po-bar i{display:block;height:100%;position:relative;background:var(--orama-brand-bright);transition:background .5s var(--orama-ease) .3s,border-radius .5s var(--orama-ease) .3s}
.zz-fx-payout .zz-po-bar i.ord{flex:1;border-radius:8px 0 0 8px}
.zz-fx-payout .zz-po-bar i.dev{flex:0 0 14px}
.zz-fx-payout .zz-po-bar i.fee{flex:0 0 22px;border-radius:0 8px 8px 0}
/* 63 pedidos: finas líneas que aparecen al partir el payout */
.zz-fx-payout .zz-po-bar i.ord::after{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity .5s var(--orama-ease) .6s;
  background:repeating-linear-gradient(90deg,transparent 0 calc(100% / 63 - 1px),rgb(21 36 63 / .55) calc(100% / 63 - 1px) calc(100% / 63))}
.zz-fx-payout .zz-po-rows{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.zz-fx-payout .row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;padding:7px 12px;border-radius:10px;background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);font-size:.84rem;color:var(--orama-muted);
  opacity:0;transform:translateY(5px);transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease)}
.zz-fx-payout .row .sw{width:10px;height:10px;border-radius:3px}
.zz-fx-payout .row .sw.ord{background:var(--orama-brand-bright)}
.zz-fx-payout .row .sw.dev{background:#F1C27A}
.zz-fx-payout .row .sw.fee{background:#F08AA8}
.zz-fx-payout .row .amt{color:var(--orama-text);font-weight:600}
.zz-fx-payout .row .amt.neg{color:#F08AA8}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-payout .zz-po-bar{gap:4px}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-payout .zz-po-bar i.ord{border-radius:8px 4px 4px 8px}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-payout .zz-po-bar i.ord::after{opacity:1}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-payout .zz-po-bar i.dev{background:#F1C27A;border-radius:4px}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-payout .zz-po-bar i.fee{background:#F08AA8;border-radius:4px 8px 8px 4px}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-payout .row{opacity:1;transform:none;transition-delay:calc(.7s + var(--i) * .12s)}
.zz-fx-payout .zz-chip.c-top{right:0;top:-8px}
.zz-fx-payout .zz-chip.c-pie{left:0;bottom:-14px}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-payout .zz-chip.d1{transition-delay:1.1s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-payout .zz-chip.d2{transition-delay:1.3s}

/* Panel estrecho en escritorio/tableta (dos columnas, panel < ~480 px): la tarjeta superior
   ya no cabe al lado de la etiqueta, así que se reserva una franja superior para ella. */
@media (min-width:641px) and (max-width:1100px){
  :is(.zz-fx-alertas .zz-al-top,.zz-fx-multi .zz-mu-top,.zz-fx-proyectos .zz-pr-top,.zz-fx-kpis .zz-kp-top,.zz-fx-prestamos .zz-pt-top,.zz-fx-payout .zz-po-top,.zz-fx-diaria .zz-dia-top){padding-top:34px}
}

/* Móvil: las tarjetas pasan al flujo, debajo del contenido, sin solaparse */
@media (max-width:640px){
  .zz-fx-alertas,.zz-fx-multi,.zz-fx-proyectos,.zz-fx-kpis,.zz-fx-prestamos,.zz-fx-payout{padding-bottom:0;display:flex;flex-direction:column}
  .zz-fx-multi .zz-mu-top,.zz-fx-payout .zz-po-top{min-height:0}
  :is(.zz-fx-alertas,.zz-fx-proyectos,.zz-fx-kpis,.zz-fx-prestamos) :is(.zz-al-top,.zz-pr-top,.zz-kp-top,.zz-pt-top){min-height:0}
  .zz-fx-multi .row,.zz-fx-proyectos .row,.zz-fx-payout .row{font-size:.78rem}
  .zz-fx-proyectos .row{grid-template-columns:minmax(0,7.6em) 1fr 3.4em;gap:10px}
  .zz-fx-prestamos .zz-pt-cols{gap:4px}
  .zz-fx-prestamos .col b{font-size:.68rem}
  .zz-fx-kpis .zz-kp-grid{gap:12px}
  /* el orden del flujo pone primero el contenido y después las tarjetas */
  :is(.zz-fx-alertas,.zz-fx-multi,.zz-fx-kpis,.zz-fx-prestamos,.zz-fx-payout,.zz-fx-diaria--semana) .zz-chip{order:5}
}

/* Accesibilidad: sin movimiento si el usuario lo pide; se muestra el estado final */
@media (prefers-reduced-motion:reduce){
  .zz-fx-alertas *,.zz-fx-multi *,.zz-fx-proyectos *,.zz-fx-kpis *,.zz-fx-prestamos *,.zz-fx-payout *,.zz-fx-diaria--semana *{animation:none!important;transition:none!important}
  .zz-fx-alertas .zz-al-line{stroke-dashoffset:0}
  .zz-fx-alertas :is(.zz-al-band,.zz-al-area,.zz-al-low,.zz-al-mintxt,.zz-al-min,.zz-al-dot),
  .zz-fx-diaria--semana .zz-dia-we,
  .zz-fx-multi .row,.zz-fx-payout .row,.zz-fx-prestamos .col b{opacity:1;transform:none}
  .zz-fx-proyectos .row .trk i,.zz-fx-kpis .zz-kp-bars i,.zz-fx-prestamos .col .stk{transform:none;opacity:1}
  .zz-fx-kpis .zz-kp-arc{stroke-dashoffset:calc(1 - var(--p))}
  .zz-fx-payout .zz-po-bar{gap:4px}
  .zz-fx-payout .zz-po-bar i.ord::after{opacity:1}
  .zz-fx-payout .zz-po-bar i.dev{background:#F1C27A}
  .zz-fx-payout .zz-po-bar i.fee{background:#F08AA8}
}


/* ######## Lote B · funcionalidades ######## */
/* ==========================================================================
   Orama · paneles nuevos del widget orama_zigzag · LOTE B (páginas /funcionalidades/)
   Requiere la base de orama-zz-nuevos.css (.zz-chip, .ic, d1/d2) y las variables --orama-*.
   La animación se lanza con .panel:hover y con .orama-seq__item.in (sin JavaScript).
   Variantes: zz-fx-semanas · zz-fx-rolling · zz-fx-realprev · zz-fx-incumplidas ·
   zz-fx-prevzonas · zz-fx-escenarios · zz-fx-iacat · zz-fx-iaratio · zz-fx-ialinea ·
   zz-fx-permisos · zz-fx-seguridad
   ========================================================================== */

/* --- Base común del lote B --- */
.zz-fx-semanas,.zz-fx-rolling,.zz-fx-realprev,.zz-fx-incumplidas,.zz-fx-prevzonas,.zz-fx-escenarios,
.zz-fx-iacat,.zz-fx-iaratio,.zz-fx-ialinea,.zz-fx-permisos,.zz-fx-seguridad{position:relative;font-variant-numeric:tabular-nums;padding-bottom:34px}
/* Cabecera: etiqueta a la izquierda; la derecha queda reservada para una tarjeta (.zz-chip.c-top) */
.zz-lb-head{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:30px;margin-bottom:8px}
.zz-lb-head .lbl{color:var(--orama-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
.zz-lb-pill{display:inline-grid;font-size:.74rem;color:var(--orama-muted);background:rgb(224 176 90 / .14);border:1px solid rgb(224 176 90 / .3);border-radius:99px;padding:3px 10px;white-space:nowrap}
.zz-lb-pill b{color:#F1C27A}
.zz-chip.c-top{right:0;top:-8px}
.zz-chip.c-br{right:0;bottom:-14px}
.zz-chip.c-bl{left:0;bottom:-14px}

/* ==========================================================================
   1) zz-fx-semanas · cuadro semanal S1–S13 con una semana en tensión
   ========================================================================== */
.zz-fx-semanas{--zz-sm-u:.9px}
.zz-fx-semanas .zz-sm-bars{position:relative;display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:5px;height:124px}
.zz-fx-semanas .zz-sm-bars::after{content:"";position:absolute;left:0;right:0;bottom:30px;border-top:1px dashed var(--orama-line)}
.zz-fx-semanas .zz-sm-bars span{position:relative;border-radius:6px;transition:background .4s ease}
.zz-fx-semanas .zz-sm-bars i{position:absolute;left:0;right:0;bottom:30px;height:calc(var(--h) * var(--zz-sm-u));border-radius:4px 4px 2px 2px;
  background:linear-gradient(180deg,var(--orama-brand-bright),rgb(84 134 255 / .35));transform:scaleY(.05);transform-origin:bottom;opacity:.5;
  transition:transform .55s var(--orama-ease),opacity .55s var(--orama-ease)}
.zz-fx-semanas .zz-sm-bars span.neg i{bottom:auto;top:calc(100% - 30px);border-radius:2px 2px 4px 4px;background:linear-gradient(0deg,#F08AA8,rgb(224 82 126 / .4));transform-origin:top}
.zz-fx-semanas .zz-sm-wk{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:5px;margin-top:6px;font-size:.62rem;color:var(--orama-faint);text-align:center}
.zz-fx-semanas .zz-sm-wk .neg{color:#F08AA8;font-weight:700}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-semanas .zz-sm-bars i{transform:none;opacity:1;transition-delay:calc(.15s + var(--i) * .05s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-semanas .zz-sm-bars span.neg{background:rgb(224 82 126 / .1);transition-delay:.9s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-semanas .zz-sm-bars span.neg i{animation:zz-sm-pulse 1.6s ease-in-out 1.2s infinite}
@keyframes zz-sm-pulse{50%{box-shadow:0 0 0 4px rgb(240 138 168 / .2)}}
/* Variante «Cuándo se utiliza»: cuatro usos en pastillas que se iluminan por turnos */
.zz-fx-semanas.zz-sm-usos{--zz-sm-u:.7px}
.zz-fx-semanas.zz-sm-usos .zz-sm-bars{height:104px}
.zz-fx-semanas .zz-sm-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.zz-fx-semanas .zz-sm-pills span{font-size:.74rem;padding:4px 10px;border-radius:99px;border:1px solid var(--orama-line);color:var(--orama-muted);background:rgb(255 255 255 / .03);
  opacity:0;transform:translateY(4px);transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-semanas .zz-sm-pills span{opacity:1;transform:none;transition-delay:calc(var(--i) * .12s);animation:zz-sm-lit 6s ease-in-out calc(.9s + var(--i) * 1.5s) infinite}
@keyframes zz-sm-lit{0%,22%{border-color:var(--orama-brand-bright);background:rgb(84 134 255 / .18);color:var(--orama-text)}28%,100%{border-color:var(--orama-line);background:rgb(255 255 255 / .03);color:var(--orama-muted)}}

/* ==========================================================================
   2) zz-fx-rolling · 12 meses: el mes cerrado pasa a real y entra uno nuevo por la derecha
   ========================================================================== */
.zz-fx-rolling .zz-rl-view{overflow:hidden}
.zz-fx-rolling .zz-rl-track{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));width:calc(100% * 13 / 12);transition:transform .9s var(--orama-ease)}
.zz-fx-rolling .zz-rl-col{display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:6px;height:130px;padding:6px 3px 4px;border-radius:8px;transition:background .4s ease}
.zz-fx-rolling .zz-rl-col i{position:relative;display:block;height:calc(var(--h) * 1px);border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--orama-brand-bright),rgb(84 134 255 / .3));
  transform:scaleY(.05);transform-origin:bottom;opacity:.5;transition:transform .55s var(--orama-ease),opacity .55s var(--orama-ease)}
.zz-fx-rolling .zz-rl-col i::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#8C9AB5;opacity:0;transition:opacity .45s ease}
.zz-fx-rolling .zz-rl-col.real i::after{opacity:.85}
.zz-fx-rolling .zz-rl-col em{font-style:normal;font-size:.6rem;color:var(--orama-faint);text-align:center;text-transform:uppercase;letter-spacing:.04em}
.zz-fx-rolling .zz-rl-col.new i{background:linear-gradient(180deg,#9CCB9E,rgb(119 163 121 / .35))}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-rolling .zz-rl-col i{transform:none;opacity:1;transition-delay:calc(.1s + var(--i) * .05s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-rolling .zz-rl-col.closing{background:rgb(255 255 255 / .06);transition-delay:1s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-rolling .zz-rl-col.closing i::after{opacity:.85;transition-delay:1s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-rolling .zz-rl-track{transform:translateX(calc(-100% / 13));transition-delay:1.6s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-rolling .zz-rl-col.new{background:rgb(119 163 121 / .1);transition-delay:2.3s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-rolling .zz-rl-col.new i{transition-delay:2s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-rolling .zz-rl-col.new em{color:#9CCB9E}
.zz-fx-rolling .zz-rl-key{display:flex;gap:12px;font-size:.68rem;color:var(--orama-faint)}
.zz-fx-rolling .zz-rl-key i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:-1px;background:var(--orama-brand-bright)}
.zz-fx-rolling .zz-rl-key i.r{background:#8C9AB5}
/* Variante con pestañas (previsión de tesorería · «Tres horizontes»): rota sola entre los tres horizontes */
.zz-fx-rolling .zz-rl-tabbar{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;border-radius:10px;background:rgb(255 255 255 / .04);border:1px solid var(--orama-line-soft);margin-bottom:12px}
.zz-fx-rolling .zz-rl-ind{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / 3);border-radius:8px;background:rgb(84 134 255 / .22);border:1px solid rgb(124 162 255 / .4)}
.zz-fx-rolling .zz-rl-tabbar [data-dato]{position:relative;text-align:center;font-size:.76rem;padding:6px 0;color:var(--orama-text);line-height:1.2}
.zz-fx-rolling .zz-rl-tabbar small{display:block;font-size:.62rem;color:var(--orama-faint)}
.zz-fx-rolling .zz-rl-panes{display:grid}
.zz-fx-rolling .zz-rl-pane{grid-area:1/1;opacity:0}
.zz-fx-rolling .zz-rl-pane.p1{opacity:1}
.zz-fx-rolling .zz-rl-mini{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:5px;align-items:end;height:100px}
.zz-fx-rolling .zz-rl-mini i{display:block;height:calc(var(--h) * 1px);border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--orama-brand-bright),rgb(84 134 255 / .3))}
.zz-fx-rolling .zz-rl-mini i.t{background:linear-gradient(180deg,#F08AA8,rgb(224 82 126 / .35))}
.zz-fx-rolling .zz-rl-lab{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:5px;margin-top:6px;font-size:.58rem;color:var(--orama-faint);text-align:center;text-transform:uppercase}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-rolling .zz-rl-ind{animation:zz-rl-ind 9s var(--orama-ease) .4s infinite}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-rolling .zz-rl-pane{animation:zz-rl-pane 9s ease .4s infinite}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-rolling .zz-rl-pane.p2{animation-delay:-5.6s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-rolling .zz-rl-pane.p3{animation-delay:-2.6s}
@keyframes zz-rl-ind{0%,30%{transform:none}36%,63%{transform:translateX(100%)}69%,96%{transform:translateX(200%)}100%{transform:none}}
@keyframes zz-rl-pane{0%,30%{opacity:1}35%,95%{opacity:0}100%{opacity:1}}

/* ==========================================================================
   3) zz-fx-realprev · real frente a previsto por partida (contorno = previsto, relleno = real)
   ========================================================================== */
.zz-fx-realprev .zz-rp-leg{display:flex;align-items:center;gap:6px;font-size:.7rem;color:var(--orama-faint);white-space:nowrap}
.zz-fx-realprev .zz-rp-leg i{display:inline-block;width:14px;height:7px;border-radius:3px}
.zz-fx-realprev .zz-rp-leg i.p{border:1.5px solid var(--orama-brand-bright)}
.zz-fx-realprev .zz-rp-leg i.r{background:var(--orama-brand-bright);margin-left:6px}
.zz-fx-realprev .zz-rp-list{display:flex;flex-direction:column;gap:7px}
.zz-fx-realprev .row{display:grid;grid-template-columns:104px 1fr 58px;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;
  background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);font-size:.84rem;color:var(--orama-muted)}
.zz-fx-realprev .row .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zz-fx-realprev .zz-rp-bars{display:flex;flex-direction:column;gap:4px}
.zz-fx-realprev .zz-rp-bars i{display:block;height:8px;width:var(--w);border-radius:4px;transform:scaleX(0);transform-origin:left;transition:transform .7s var(--orama-ease)}
.zz-fx-realprev .zz-rp-bars i.p{border:1.5px solid rgb(124 162 255 / .85)}
.zz-fx-realprev .zz-rp-bars i.r{background:linear-gradient(90deg,rgb(84 134 255 / .55),var(--orama-brand-bright))}
.zz-fx-realprev .zz-rp-bars i.r.bad{background:linear-gradient(90deg,rgb(224 82 126 / .5),#F08AA8)}
.zz-fx-realprev .row .dv{justify-self:end;font-size:.74rem;font-weight:700;padding:2px 8px;border-radius:99px;opacity:0;transition:opacity .4s ease}
.zz-fx-realprev .dv.ok{background:rgb(119 163 121 / .18);color:#9CCB9E}
.zz-fx-realprev .dv.bad{background:rgb(224 82 126 / .18);color:#F08AA8}
.zz-fx-realprev .dv.neu{background:rgb(84 134 255 / .16);color:var(--orama-brand-bright)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-realprev .zz-rp-bars i.p{transform:none;transition-delay:calc(.2s + var(--i) * .15s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-realprev .zz-rp-bars i.r{transform:none;transition-delay:calc(.55s + var(--i) * .15s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-realprev .row .dv{opacity:1;transition-delay:calc(1.05s + var(--i) * .15s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-realprev .zz-chip.d1{transition-delay:1.5s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-realprev .zz-chip.d2{transition-delay:1.8s}

/* ==========================================================================
   4) zz-fx-incumplidas · previsiones incumplidas con «Cambiar fecha» / «Cancelar»
   ========================================================================== */
.zz-fx-incumplidas .zz-in-list{display:flex;flex-direction:column;gap:7px}
.zz-fx-incumplidas .row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;
  background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);font-size:.82rem;color:var(--orama-text);
  transition:opacity .4s ease,background .4s ease,border-color .4s ease}
.zz-fx-incumplidas .row .nm{display:flex;flex-direction:column;gap:1px;min-width:0}
.zz-fx-incumplidas .row .nm small{display:grid;font-size:.7rem}
.zz-fx-incumplidas .row .nm small span{grid-area:1/1;transition:opacity .35s ease}
.zz-fx-incumplidas .row .nm small .a{color:#F08AA8}
.zz-fx-incumplidas .row .nm small .b{color:var(--orama-brand-bright);opacity:0}
.zz-fx-incumplidas .row .amt{font-weight:600}
.zz-fx-incumplidas .zz-in-acts{display:flex;gap:6px}
.zz-fx-incumplidas .zz-in-bt{font-size:.7rem;padding:4px 9px;border-radius:7px;border:1px solid var(--orama-line);color:var(--orama-muted);background:rgb(255 255 255 / .03);white-space:nowrap;transition:all .3s ease}
.zz-fx-incumplidas .zz-in-bt.x{color:#F08AA8;border-color:rgb(224 82 126 / .3)}
.zz-fx-incumplidas .zz-lb-pill{display:inline-flex;gap:4px}
.zz-fx-incumplidas .zz-in-n{display:grid}
.zz-fx-incumplidas .zz-in-n>span{grid-area:1/1;transition:opacity .3s ease}
.zz-fx-incumplidas .zz-in-n .b{opacity:0}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-incumplidas .row.r1 .zz-in-bt.cf{background:rgb(84 134 255 / .25);border-color:var(--orama-brand-bright);color:var(--orama-text);transition-delay:.7s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-incumplidas .row.r1 small .a{opacity:0;transition-delay:1.05s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-incumplidas .row.r1 small .b{opacity:1;transition-delay:1.05s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-incumplidas .row.r1{background:rgb(119 163 121 / .07);border-color:rgb(119 163 121 / .35);transition-delay:1.05s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-incumplidas .row.r2 .zz-in-bt.x{background:rgb(224 82 126 / .2);border-color:#F08AA8;transition-delay:1.4s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-incumplidas .row.r2{opacity:.4;transition-delay:1.75s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-incumplidas .zz-in-n .a{opacity:0;transition-delay:1.8s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-incumplidas .zz-in-n .b{opacity:1;transition-delay:1.8s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-incumplidas .zz-chip.d1{transition-delay:2s}

/* ==========================================================================
   5) zz-fx-prevzonas · curva de previsión a 12 meses sobre zonas verde, ámbar y roja
   ========================================================================== */
.zz-fx-prevzonas svg{display:block;width:100%;height:auto;overflow:visible}
.zz-fx-prevzonas .zz-pz-z{opacity:.25;transition:opacity .5s ease}
.zz-fx-prevzonas .zz-pz-z.g{fill:rgb(119 163 121 / .14)}
.zz-fx-prevzonas .zz-pz-z.a{fill:rgb(224 176 90 / .13)}
.zz-fx-prevzonas .zz-pz-z.r{fill:rgb(224 82 126 / .16)}
.zz-fx-prevzonas .zz-pz-zl text{font-size:8px;letter-spacing:.06em;text-transform:uppercase}
.zz-fx-prevzonas .zz-pz-zl .g{fill:#9CCB9E}.zz-fx-prevzonas .zz-pz-zl .a{fill:#F1C27A}.zz-fx-prevzonas .zz-pz-zl .r{fill:#F08AA8}
.zz-fx-prevzonas .zz-pz-line{fill:none;stroke:var(--orama-brand-bright);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.zz-fx-prevzonas .zz-pz-m text{fill:var(--orama-faint);font-size:9px;text-anchor:middle}
.zz-fx-prevzonas .zz-pz-dot{fill:#F08AA8;opacity:0}
.zz-fx-prevzonas .zz-pz-halo{fill:none;stroke:#F08AA8;stroke-width:1.5;transform-box:fill-box;transform-origin:center;opacity:0}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-prevzonas .zz-pz-z{opacity:1;transition-delay:calc(var(--i) * .12s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-prevzonas .zz-pz-line{animation:zz-pz-draw 1.3s var(--orama-ease) .3s forwards}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-prevzonas .zz-pz-dot{opacity:1;transition:opacity .2s ease 1s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-prevzonas .zz-pz-halo{animation:zz-pz-ping 1.6s ease-out 1.1s infinite}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-prevzonas .zz-chip.d1{transition-delay:1.2s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-prevzonas .zz-chip.d2{transition-delay:1.5s}
@keyframes zz-pz-draw{to{stroke-dashoffset:0}}
@keyframes zz-pz-ping{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}

/* ==========================================================================
   6) zz-fx-escenarios · optimista, base y pesimista se abren desde hoy
   ========================================================================== */
.zz-fx-escenarios svg{display:block;width:100%;height:auto;overflow:visible}
.zz-fx-escenarios .zz-es-hoy{stroke:var(--orama-line);stroke-dasharray:3 4}
.zz-fx-escenarios .zz-es-ax text{fill:var(--orama-faint);font-size:9px}
.zz-fx-escenarios .zz-es-fan{fill:rgb(124 162 255 / .08);opacity:0;transition:opacity .6s ease .9s}
.zz-fx-escenarios .zz-es-real{fill:none;stroke:#8C9AB5;stroke-width:2.2;stroke-linecap:round}
.zz-fx-escenarios .zz-es-l{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:opacity .4s ease,stroke-width .4s ease}
.zz-fx-escenarios .zz-es-l.opt{stroke:#9CCB9E}
.zz-fx-escenarios .zz-es-l.base{stroke:var(--orama-brand-bright)}
.zz-fx-escenarios .zz-es-l.pes{stroke:#F08AA8}
.zz-fx-escenarios .zz-es-end{opacity:0;transition:opacity .3s ease}
.zz-fx-escenarios .zz-es-end.opt{fill:#9CCB9E}.zz-fx-escenarios .zz-es-end.base{fill:var(--orama-brand-bright)}.zz-fx-escenarios .zz-es-end.pes{fill:#F08AA8}
.zz-fx-escenarios .zz-es-leg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:.78rem;color:var(--orama-muted)}
.zz-fx-escenarios .zz-es-leg span{display:inline-flex;align-items:center;gap:6px}
.zz-fx-escenarios .zz-es-leg i{width:9px;height:9px;border-radius:50%}
.zz-fx-escenarios .zz-es-leg b{color:var(--orama-text);font-weight:700}
.zz-fx-escenarios .zz-es-leg .opt i{background:#9CCB9E}.zz-fx-escenarios .zz-es-leg .base i{background:var(--orama-brand-bright)}.zz-fx-escenarios .zz-es-leg .pes i{background:#F08AA8}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-escenarios .zz-es-l{animation:zz-es-draw 1s var(--orama-ease) calc(.3s + var(--i) * .2s) forwards}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-escenarios .zz-es-fan{opacity:1}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-escenarios .zz-es-end{opacity:1;transition-delay:calc(1.2s + var(--i) * .2s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-escenarios .zz-chip.d1{transition-delay:1.4s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-escenarios .zz-chip.d2{transition-delay:1.7s}
@keyframes zz-es-draw{to{stroke-dashoffset:0}}
/* Variante «De la intuición a la decisión»: tarjeta del escenario activo; el resto se atenúa */
.zz-fx-escenarios .zz-es-card{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;border-radius:12px;
  background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);font-size:.8rem;color:var(--orama-muted)}
.zz-fx-escenarios .zz-es-card .lbl{color:var(--orama-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
.zz-fx-escenarios .zz-es-seg{display:flex;gap:4px;padding:3px;border-radius:9px;background:rgb(255 255 255 / .04)}
.zz-fx-escenarios .zz-es-seg span{font-size:.74rem;padding:4px 9px;border-radius:7px;color:var(--orama-muted);transition:all .35s ease}
.zz-fx-escenarios .zz-es-kpi{display:flex;gap:14px;width:100%;font-size:.8rem}
.zz-fx-escenarios .zz-es-kpi b{color:var(--orama-text)}
.zz-fx-escenarios .zz-es-kpi .neg{color:#F08AA8}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-escenarios .zz-es-seg .on{background:rgb(224 82 126 / .2);color:#F08AA8;transition-delay:1.4s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-escenarios.zz-es-act .zz-es-l:not(.pes){opacity:.3;transition-delay:1.6s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-escenarios.zz-es-act .zz-es-l.pes{stroke-width:3.4;transition-delay:1.6s}

/* ==========================================================================
   7) zz-fx-iacat · movimientos bancarios que se categorizan solos (con destello)
   ========================================================================== */
.zz-fx-iacat .zz-ic-list{display:flex;flex-direction:column;gap:7px}
.zz-fx-iacat .row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;
  background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);font-size:.84rem;color:var(--orama-muted)}
.zz-fx-iacat .row .amt{color:var(--orama-text);font-weight:600;text-align:right}
.zz-fx-iacat .row .amt.neg{color:#F08AA8}
.zz-fx-iacat .zz-ic-tag{position:relative;display:grid;justify-items:end}
.zz-fx-iacat .zz-ic-tag>span{grid-area:1/1;font-size:.72rem;padding:2px 8px;border-radius:99px;white-space:nowrap}
.zz-fx-iacat .zz-ic-tag .pd{border:1px dashed var(--orama-line);color:var(--orama-faint);transition:opacity .3s ease}
.zz-fx-iacat .zz-ic-tag .ct{background:rgb(84 134 255 / .18);color:var(--orama-brand-bright);opacity:0;transform:scale(.8);transition:opacity .35s ease,transform .35s var(--orama-ease)}
.zz-fx-iacat .zz-ic-tag .ct.an{background:rgb(224 176 90 / .16);color:#F1C27A}
.zz-fx-iacat .zz-ic-tag .sp{position:absolute;right:-7px;top:-9px;padding:0;color:#fff;font-size:.8rem;opacity:0;text-shadow:0 0 8px var(--orama-brand-bright)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-iacat .zz-ic-tag .pd{opacity:0;transition-delay:calc(.5s + var(--i) * .35s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-iacat .zz-ic-tag .ct{opacity:1;transform:none;transition-delay:calc(.5s + var(--i) * .35s);animation:zz-ic-glow .9s ease-out calc(.5s + var(--i) * .35s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-iacat .zz-ic-tag .sp{animation:zz-ic-spark .8s ease-out calc(.42s + var(--i) * .35s) both}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-iacat .zz-chip.d1{transition-delay:1.6s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-iacat .zz-chip.d2{transition-delay:1.9s}
@keyframes zz-ic-glow{0%{box-shadow:0 0 0 0 rgb(124 162 255 / .7)}100%{box-shadow:0 0 0 8px rgb(124 162 255 / 0)}}
@keyframes zz-ic-spark{0%{opacity:0;transform:scale(.3) rotate(0)}40%{opacity:1;transform:scale(1.25) rotate(45deg)}100%{opacity:0;transform:scale(.6) rotate(90deg)}}

/* ==========================================================================
   8) zz-fx-iaratio · la IA convierte una frase en la fórmula de un ratio y su resultado
   ========================================================================== */
.zz-fx-iaratio .zz-ir-input{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:12px;background:rgb(84 134 255 / .08);border:1px solid rgb(84 134 255 / .3);font-size:.84rem;color:var(--orama-text)}
.zz-fx-iaratio .zz-ir-input .spark{color:var(--orama-brand-bright);font-size:1rem}
.zz-fx-iaratio .zz-ir-txt{overflow:hidden;white-space:nowrap;max-width:0;border-right:2px solid var(--orama-brand-bright)}
.zz-fx-iaratio .zz-ir-out{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}
.zz-fx-iaratio .zz-ir-box{display:flex;flex-direction:column;gap:7px;padding:11px 13px;border-radius:12px;background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft)}
.zz-fx-iaratio .zz-ir-box .lbl{color:var(--orama-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
.zz-fx-iaratio .zz-ir-toks{display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-size:.86rem;color:var(--orama-muted)}
.zz-fx-iaratio .zz-ir-toks span{opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s var(--orama-ease)}
.zz-fx-iaratio .zz-ir-toks .v{padding:2px 8px;border-radius:7px;background:rgb(84 134 255 / .18);color:var(--orama-brand-bright);font-weight:600}
.zz-fx-iaratio .zz-ir-toks .n{color:#F08AA8;font-weight:600}
.zz-fx-iaratio .zz-ir-res{min-width:92px;align-items:flex-start}
.zz-fx-iaratio .zz-ir-num{display:grid;font-size:1.45rem;font-weight:800;line-height:1.1;color:var(--orama-text)}
.zz-fx-iaratio .zz-ir-num span{grid-area:1/1;transition:opacity .3s ease}
.zz-fx-iaratio .zz-ir-num .a{color:var(--orama-faint)}
.zz-fx-iaratio .zz-ir-num .b{opacity:0;color:#F1C27A}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-iaratio .zz-ir-txt{animation:zz-ir-type 1.3s steps(34,end) forwards,zz-ir-caret .8s step-end infinite}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-iaratio .zz-ir-toks span{opacity:1;transform:none;transition-delay:calc(1.4s + var(--i) * .1s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-iaratio .zz-ir-num .a{opacity:0;transition-delay:2.2s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-iaratio .zz-ir-num .b{opacity:1;transition-delay:2.2s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-iaratio .zz-chip.d1{transition-delay:2.4s}
@keyframes zz-ir-type{to{max-width:34ch}}
@keyframes zz-ir-caret{50%{border-color:transparent}}

/* ==========================================================================
   9) zz-fx-ialinea · línea de tiempo abstracta: tres hitos con IA y «lo siguiente»
   ========================================================================== */
.zz-fx-ialinea .zz-il-wrap{position:relative}
.zz-fx-ialinea .zz-il-rail{position:absolute;left:12.5%;right:12.5%;top:10px;height:2px;background:repeating-linear-gradient(90deg,var(--orama-line) 0 5px,transparent 5px 9px)}
.zz-fx-ialinea .zz-il-fill{position:absolute;left:0;top:0;bottom:0;width:66.67%;background:linear-gradient(90deg,var(--orama-brand),var(--orama-brand-bright));transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--orama-ease) .2s}
.zz-fx-ialinea .zz-il-steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.zz-fx-ialinea .zz-il-st{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.zz-fx-ialinea .zz-il-st i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:.62rem;font-weight:800;color:transparent;
  background:var(--orama-surface);border:2px solid var(--orama-line);transition:background .35s ease,border-color .35s ease,color .35s ease}
.zz-fx-ialinea .zz-il-card{width:100%;box-sizing:border-box;padding:9px 6px;border-radius:10px;background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);
  opacity:.45;transform:translateY(4px);transition:opacity .4s ease,transform .4s var(--orama-ease)}
.zz-fx-ialinea .zz-il-card .t{display:block;font-size:.78rem;font-weight:600;color:var(--orama-text);line-height:1.25}
.zz-fx-ialinea .zz-il-card .s{display:block;margin-top:3px;font-size:.66rem;color:var(--orama-faint)}
.zz-fx-ialinea .zz-il-st.next i{border-style:dashed;border-color:rgb(124 162 255 / .6)}
.zz-fx-ialinea .zz-il-st.next .zz-il-card{border-style:dashed;border-color:rgb(124 162 255 / .35)}
.zz-fx-ialinea .zz-il-st.next .s{color:var(--orama-brand-bright)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-ialinea .zz-il-fill{transform:none}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-ialinea .zz-il-st.done i{background:var(--orama-brand);border-color:var(--orama-brand-bright);color:#fff;transition-delay:calc(.2s + var(--i) * .45s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-ialinea .zz-il-card{opacity:1;transform:none;transition-delay:calc(.25s + var(--i) * .45s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-ialinea .zz-il-st.next i{animation:zz-il-ping 1.6s ease-out 1.7s infinite}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-ialinea .zz-chip.d1{transition-delay:1.9s}
@keyframes zz-il-ping{0%{box-shadow:0 0 0 0 rgb(124 162 255 / .6)}100%{box-shadow:0 0 0 10px rgb(124 162 255 / 0)}}

/* ==========================================================================
   10) zz-fx-permisos · 3 usuarios con su rol y matriz Ver/Editar por módulo
   ========================================================================== */
.zz-fx-permisos .zz-pm-users{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:10px}
.zz-fx-permisos .zz-pm-u{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 9px;border-radius:10px;background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);
  font-size:.78rem;color:var(--orama-text);transition:background .35s ease,border-color .35s ease}
.zz-fx-permisos .zz-pm-u i{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:.6rem;font-weight:800;background:rgb(84 134 255 / .2);color:var(--orama-brand-bright)}
.zz-fx-permisos .zz-pm-u span{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.zz-fx-permisos .zz-pm-u small{font-size:.66rem;color:var(--orama-faint)}
.zz-fx-permisos .zz-pm-mx{border:1px solid var(--orama-line-soft);border-radius:10px;overflow:hidden}
.zz-fx-permisos .zz-pm-h,.zz-fx-permisos .row{display:grid;grid-template-columns:1fr 62px 62px;align-items:center;justify-items:center;padding:7px 12px}
.zz-fx-permisos .zz-pm-h>*:first-child,.zz-fx-permisos .row>*:first-child{justify-self:start}
.zz-fx-permisos .zz-pm-h{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--orama-faint);background:rgb(255 255 255 / .03)}
.zz-fx-permisos .zz-pm-h b{color:var(--orama-brand-bright);font-weight:700}
.zz-fx-permisos .row{font-size:.82rem;color:var(--orama-muted);border-top:1px solid var(--orama-line-soft)}
.zz-fx-permisos .zz-pm-sw{position:relative;width:30px;height:17px;box-sizing:border-box;border-radius:99px;background:rgb(255 255 255 / .08);border:1px solid var(--orama-line);transition:background .3s ease,border-color .3s ease}
.zz-fx-permisos .zz-pm-sw::after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:var(--orama-faint);transition:transform .3s var(--orama-ease),background .3s ease}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-permisos .zz-pm-u.sel{background:rgb(84 134 255 / .12);border-color:rgb(124 162 255 / .5);transition-delay:.3s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-permisos .zz-pm-sw.on{background:var(--orama-good);border-color:var(--orama-good);transition-delay:calc(.6s + var(--i) * .2s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-permisos .zz-pm-sw.on::after{transform:translateX(13px);background:#fff;transition-delay:calc(.6s + var(--i) * .2s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-permisos .zz-chip.d1{transition-delay:1.3s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-permisos .zz-chip.d2{transition-delay:1.6s}

/* ==========================================================================
   11) zz-fx-seguridad · candado central con conexiones de solo lectura desde 3 bancos
   (sin certificaciones ni alojamiento: pendiente de confirmar)
   ========================================================================== */
.zz-fx-seguridad .zz-sg-core{display:flex;justify-content:center}
.zz-fx-seguridad .zz-sg-shield{position:relative;width:56px;height:56px;box-sizing:border-box;border-radius:16px;display:grid;place-items:center;color:var(--orama-text);
  background:linear-gradient(180deg,rgb(84 134 255 / .4),rgb(84 134 255 / .12));border:1px solid rgb(124 162 255 / .55);transform:scale(.88);transition:transform .5s var(--orama-ease)}
.zz-fx-seguridad .zz-sg-shield svg{width:26px;height:26px}
.zz-fx-seguridad .zz-sg-shield::after{content:"";position:absolute;inset:-1px;border-radius:16px;border:1.5px solid var(--orama-brand-bright);opacity:0}
.zz-fx-seguridad .zz-sg-net{display:block;width:100%;height:auto}
.zz-fx-seguridad .zz-sg-flow{fill:none;stroke:rgb(124 162 255 / .6);stroke-width:1.6;stroke-dasharray:4 5}
.zz-fx-seguridad .zz-sg-head{fill:var(--orama-brand-bright)}
.zz-fx-seguridad .zz-sg-banks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;justify-items:center}
.zz-fx-seguridad .zz-sg-banks span{font-size:.78rem;padding:5px 12px;border-radius:99px;border:1px solid var(--orama-line);background:rgb(255 255 255 / .04);color:var(--orama-text);
  white-space:nowrap;opacity:.4;transform:translateY(5px);transition:opacity .4s ease,transform .4s var(--orama-ease)}
.zz-fx-seguridad .zz-sg-ro{margin-top:8px;text-align:center;font-size:.7rem;color:var(--orama-faint);text-transform:uppercase;letter-spacing:.06em}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-seguridad .zz-sg-shield{transform:none}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-seguridad .zz-sg-shield::after{animation:zz-sg-ping 1.8s ease-out .6s infinite}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-seguridad .zz-sg-flow{animation:zz-sg-flow 1s linear infinite}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-seguridad .zz-sg-banks span{opacity:1;transform:none;transition-delay:calc(.2s + var(--i) * .15s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-seguridad .zz-chip.d1{transition-delay:.9s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-seguridad .zz-chip.d2{transition-delay:1.2s}
@keyframes zz-sg-flow{to{stroke-dashoffset:-18}}
@keyframes zz-sg-ping{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.6)}}
/* Variante neutra «Certificaciones y estándares»: 3 insignias sin nombres de norma */
.zz-fx-seguridad.zz-sg-cert{padding-bottom:0}
.zz-fx-seguridad .zz-sg-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.zz-fx-seguridad .zz-sg-b{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 8px 14px;border-radius:12px;background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);
  opacity:.4;transform:translateY(6px) scale(.97);transition:opacity .45s ease,transform .45s var(--orama-ease),border-color .45s ease}
.zz-fx-seguridad .zz-sg-b .bdg{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:var(--orama-brand-bright);background:rgb(84 134 255 / .14);border:1px solid rgb(124 162 255 / .4)}
.zz-fx-seguridad .zz-sg-b .bdg svg{width:22px;height:22px}
.zz-fx-seguridad .zz-sg-b i{display:block;height:6px;border-radius:3px;background:rgb(255 255 255 / .09)}
.zz-fx-seguridad .zz-sg-b i.w1{width:70%}.zz-fx-seguridad .zz-sg-b i.w2{width:46%;margin-top:-4px}
.zz-fx-seguridad .zz-sg-b .t{font-size:.72rem;font-weight:700;color:var(--orama-text);text-align:center;line-height:1.2}
.zz-fx-seguridad .zz-sg-b .s{font-size:.66rem;color:var(--orama-faint);text-align:center;line-height:1.25;margin-top:-6px}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-seguridad .zz-sg-b{opacity:1;transform:none;border-color:rgb(124 162 255 / .3);transition-delay:calc(.15s + var(--i) * .18s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-seguridad .zz-sg-b .bdg{animation:zz-sg-glow 1.2s ease-out calc(.4s + var(--i) * .18s)}
@keyframes zz-sg-glow{0%{box-shadow:0 0 0 0 rgb(124 162 255 / .55)}100%{box-shadow:0 0 0 12px rgb(124 162 255 / 0)}}

/* Móvil: las tarjetas pasan al flujo, debajo del contenido, sin solaparse */
@media (max-width:640px){
  .zz-fx-semanas,.zz-fx-rolling,.zz-fx-realprev,.zz-fx-incumplidas,.zz-fx-prevzonas,.zz-fx-escenarios,
  .zz-fx-iacat,.zz-fx-iaratio,.zz-fx-ialinea,.zz-fx-permisos,.zz-fx-seguridad{padding-bottom:0;display:flex;flex-direction:column}
  :is(.zz-fx-semanas,.zz-fx-rolling,.zz-fx-realprev,.zz-fx-incumplidas,.zz-fx-prevzonas,.zz-fx-escenarios,.zz-fx-iacat,.zz-fx-iaratio,.zz-fx-ialinea,.zz-fx-permisos,.zz-fx-seguridad) .zz-chip{
    position:relative;inset:auto!important;margin-top:10px;align-self:flex-start;font-size:.76rem;white-space:normal}
  .zz-fx-realprev .row{grid-template-columns:86px 1fr 52px;gap:10px;font-size:.78rem;padding:8px 10px}
  .zz-fx-incumplidas .row{grid-template-columns:1fr auto;font-size:.78rem;padding:8px 10px}
  .zz-fx-incumplidas .zz-in-acts{grid-column:1 / -1}
  .zz-fx-iacat .row{font-size:.78rem;padding:8px 10px}
  .zz-fx-permisos .zz-pm-u{font-size:.72rem;padding:7px}
  .zz-fx-permisos .zz-pm-u i{display:none}
  .zz-fx-ialinea .zz-il-card .t{font-size:.72rem}
  .zz-fx-iaratio .zz-ir-out{grid-template-columns:1fr}
  .zz-fx-iaratio .zz-ir-input{font-size:.78rem}
}

/* Tableta / escritorio estrecho (641–1100 px): las tarjetas del lote B también pasan al flujo para no tapar la etiqueta */
@media (min-width:641px) and (max-width:1100px){
  .zz-fx-semanas,.zz-fx-rolling,.zz-fx-realprev,.zz-fx-incumplidas,.zz-fx-prevzonas,.zz-fx-escenarios,
  .zz-fx-iacat,.zz-fx-iaratio,.zz-fx-ialinea,.zz-fx-permisos,.zz-fx-seguridad{padding-bottom:0;display:flex;flex-direction:column}
  :is(.zz-fx-semanas,.zz-fx-rolling,.zz-fx-realprev,.zz-fx-incumplidas,.zz-fx-prevzonas,.zz-fx-escenarios,.zz-fx-iacat,.zz-fx-iaratio,.zz-fx-ialinea,.zz-fx-permisos,.zz-fx-seguridad) .zz-chip{
    position:relative;inset:auto!important;margin-top:10px;align-self:flex-start;white-space:normal}
}

/* Accesibilidad: sin movimiento si el usuario lo pide; se muestra el estado final */
@media (prefers-reduced-motion:reduce){
  :is(.zz-fx-semanas,.zz-fx-rolling,.zz-fx-realprev,.zz-fx-incumplidas,.zz-fx-prevzonas,.zz-fx-escenarios,.zz-fx-iacat,.zz-fx-iaratio,.zz-fx-ialinea,.zz-fx-permisos,.zz-fx-seguridad) :is(*,*::before,*::after){animation:none!important;transition:none!important}
  :is(.zz-fx-semanas,.zz-fx-rolling,.zz-fx-realprev,.zz-fx-incumplidas,.zz-fx-prevzonas,.zz-fx-escenarios,.zz-fx-iacat,.zz-fx-iaratio,.zz-fx-ialinea,.zz-fx-permisos,.zz-fx-seguridad) .zz-chip{opacity:1;transform:none}
  .zz-fx-semanas .zz-sm-bars i,.zz-fx-rolling .zz-rl-col i,.zz-fx-realprev .zz-rp-bars i{transform:none;opacity:1}
  .zz-fx-semanas .zz-sm-bars span.neg{background:rgb(224 82 126 / .1)}
  .zz-fx-semanas .zz-sm-pills span{opacity:1;transform:none}
  .zz-fx-rolling .zz-rl-track{transform:translateX(calc(-100% / 13))}
  .zz-fx-rolling .zz-rl-col.closing i::after{opacity:.85}
  .zz-fx-realprev .row .dv{opacity:1}
  .zz-fx-incumplidas .row.r1 small .a,.zz-fx-incumplidas .zz-in-n .a{opacity:0}
  .zz-fx-incumplidas .row.r1 small .b,.zz-fx-incumplidas .zz-in-n .b{opacity:1}
  .zz-fx-incumplidas .row.r2{opacity:.4}
  .zz-fx-prevzonas .zz-pz-z,.zz-fx-prevzonas .zz-pz-dot{opacity:1}
  .zz-fx-prevzonas .zz-pz-line,.zz-fx-escenarios .zz-es-l{stroke-dashoffset:0}
  .zz-fx-escenarios .zz-es-fan,.zz-fx-escenarios .zz-es-end{opacity:1}
  .zz-fx-escenarios .zz-es-seg .on{background:rgb(224 82 126 / .2);color:#F08AA8}
  .zz-fx-escenarios.zz-es-act .zz-es-l:not(.pes){opacity:.3}
  .zz-fx-iacat .zz-ic-tag .pd{opacity:0}
  .zz-fx-iacat .zz-ic-tag .ct{opacity:1;transform:none}
  .zz-fx-iaratio .zz-ir-txt{max-width:34ch;border:0}
  .zz-fx-iaratio .zz-ir-toks span{opacity:1;transform:none}
  .zz-fx-iaratio .zz-ir-num .a{opacity:0}
  .zz-fx-iaratio .zz-ir-num .b{opacity:1}
  .zz-fx-ialinea .zz-il-fill{transform:none}
  .zz-fx-ialinea .zz-il-card{opacity:1;transform:none}
  .zz-fx-ialinea .zz-il-st.done i{background:var(--orama-brand);border-color:var(--orama-brand-bright);color:#fff}
  .zz-fx-permisos .zz-pm-sw.on{background:var(--orama-good);border-color:var(--orama-good)}
  .zz-fx-permisos .zz-pm-sw.on::after{transform:translateX(13px);background:#fff}
  .zz-fx-seguridad .zz-sg-shield,.zz-fx-seguridad .zz-sg-banks span,.zz-fx-seguridad .zz-sg-b{opacity:1;transform:none}
}


/* ######## Lote C · integraciones, bancos, pasarelas y portada ######## */
/* ==========================================================================
   Orama · paneles del widget orama_zigzag · LOTE C (integraciones, bancos,
   pasarelas, posición, grupos y portada). (.orama-seq .panel > .app-pad.zz-fx-*)
   Requiere orama-zz-nuevos.css cargado ANTES (clase base .zz-chip, .ic, d1/d2 y
   su bloque móvil). Misma convención: la animación se lanza al pasar el ratón
   por el panel (.panel:hover) o cuando el bloque entra en pantalla (.orama-seq__item.in).
   Variantes: zz-fx-bancoconecta · zz-fx-pasarelas · zz-fx-payoutlist · zz-fx-erp ·
   zz-fx-importar · zz-fx-exportar · zz-fx-facturas · zz-fx-posicion · zz-fx-intercompania
   Sin JavaScript ni imágenes. Los nombres de bancos, ERP y pasarelas van en pastillas de texto.
   ========================================================================== */

/* --- Base común del lote --- */
.zz-fx-bancoconecta,.zz-fx-pasarelas,.zz-fx-payoutlist,.zz-fx-erp,.zz-fx-importar,.zz-fx-exportar,.zz-fx-facturas,.zz-fx-posicion,.zz-fx-intercompania{
  position:relative;font-variant-numeric:tabular-nums;padding-bottom:34px;font-size:.84rem;color:var(--orama-muted)}
:is(.zz-fx-bancoconecta,.zz-fx-pasarelas,.zz-fx-payoutlist,.zz-fx-erp,.zz-fx-importar,.zz-fx-exportar,.zz-fx-facturas,.zz-fx-posicion,.zz-fx-intercompania) .lbl{
  color:var(--orama-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
/* Cabecera: etiqueta a la izquierda y franja reservada a la derecha para una tarjeta (.c-top) */
.zz-lc-head{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:22px;margin-bottom:10px}
.zz-lc-head.has-chip{min-height:34px}
:is(.zz-fx-bancoconecta,.zz-fx-pasarelas,.zz-fx-payoutlist,.zz-fx-erp,.zz-fx-importar,.zz-fx-exportar,.zz-fx-facturas,.zz-fx-posicion,.zz-fx-intercompania) .zz-chip.c-top{right:0;top:-6px}
:is(.zz-fx-bancoconecta,.zz-fx-pasarelas,.zz-fx-payoutlist,.zz-fx-erp,.zz-fx-importar,.zz-fx-exportar,.zz-fx-facturas,.zz-fx-posicion,.zz-fx-intercompania) .zz-chip.c-bot{right:0;bottom:-14px}
:is(.zz-fx-bancoconecta,.zz-fx-pasarelas,.zz-fx-payoutlist,.zz-fx-erp,.zz-fx-importar,.zz-fx-exportar,.zz-fx-facturas,.zz-fx-posicion,.zz-fx-intercompania) .zz-chip.c-botl{left:0;bottom:-14px}
/* Pastilla de texto para nombres de bancos, ERP y pasarelas (en lugar de logos) */
.zz-lc-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;border:1px solid var(--orama-line);background:rgb(255 255 255 / .04);
  color:var(--orama-text);font-size:.7rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}

/* ==========================================================================
   1) zz-fx-bancoconecta · buscador de bancos y conexión PSD2 de solo lectura
   ========================================================================== */
.zz-fx-bancoconecta .zz-bk-search{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:12px;background:rgb(255 255 255 / .03);border:1px solid var(--orama-line);color:var(--orama-text)}
.zz-fx-bancoconecta .zz-bk-search svg{width:15px;height:15px;flex:none;fill:none;stroke:var(--orama-faint);stroke-width:2;stroke-linecap:round}
.zz-fx-bancoconecta .zz-bk-q{display:inline-block;overflow:hidden;white-space:nowrap;max-width:0;border-right:2px solid var(--orama-brand-bright);line-height:1.2;
  transition:max-width .7s steps(var(--n,8),end)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-bancoconecta .zz-bk-q{max-width:calc(var(--n,8) * 1ch + 4px);transition-delay:.15s}
.zz-fx-bancoconecta .zz-bk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}
.zz-fx-bancoconecta .zz-bk-bank{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:10px;background:rgb(255 255 255 / .03);
  border:1px solid var(--orama-line-soft);color:var(--orama-text);font-weight:600;opacity:0;transform:translateY(6px);
  transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease),filter .4s ease,background .4s var(--orama-ease),border-color .4s var(--orama-ease)}
.zz-fx-bancoconecta .zz-bk-bank .rd{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--orama-line);flex:none;transition:all .35s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-bancoconecta .zz-bk-bank{opacity:1;transform:none;transition-delay:calc(var(--i) * .07s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-bancoconecta .zz-bk-bank:not(.is-sel){filter:saturate(.4) brightness(.62);transition-delay:calc(var(--i) * .07s),calc(var(--i) * .07s),1s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-bancoconecta .zz-bk-bank.is-sel{background:rgb(84 134 255 / .14);border-color:rgb(124 162 255 / .6);transition-delay:calc(var(--i) * .07s),calc(var(--i) * .07s),0s,.95s,.95s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-bancoconecta .zz-bk-bank.is-sel .rd{background:var(--orama-brand);border-color:var(--orama-brand-bright);box-shadow:inset 0 0 0 3px var(--orama-surface);transition-delay:.95s}
.zz-fx-bancoconecta .zz-bk-ok{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:9px 12px;border-radius:10px;
  background:rgb(119 163 121 / .08);border:1px solid rgb(119 163 121 / .35);color:var(--orama-text);opacity:0;transform:translateY(6px);
  transition:opacity .45s var(--orama-ease),transform .45s var(--orama-ease)}
.zz-fx-bancoconecta .zz-bk-ok .ck{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;background:var(--orama-good);color:#fff;font-size:.72rem;font-weight:800;flex:none}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-bancoconecta .zz-bk-ok{opacity:1;transform:none;transition-delay:1.3s}
/* Variante «consentimiento»: permisos de solo lectura o cuentas que eliges sincronizar */
.zz-fx-bancoconecta .zz-bk-auth{padding:10px 12px;border-radius:12px;background:rgb(255 255 255 / .03);border:1px solid var(--orama-line)}
.zz-fx-bancoconecta .zz-bk-authhd{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--orama-text);font-weight:600;margin-bottom:6px}
.zz-fx-bancoconecta .zz-bk-perms{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.zz-fx-bancoconecta .zz-bk-perms li{display:flex;align-items:center;gap:9px;padding:3px 0;opacity:0;transform:translateX(-6px);transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease)}
.zz-fx-bancoconecta .zz-bk-perms .m{width:18px;height:18px;border-radius:6px;display:grid;place-items:center;font-size:.68rem;font-weight:800;flex:none}
.zz-fx-bancoconecta .zz-bk-perms .ok .m{background:rgb(119 163 121 / .2);color:#9CCB9E}
.zz-fx-bancoconecta .zz-bk-perms .no .m{background:rgb(224 82 126 / .18);color:#F08AA8}
.zz-fx-bancoconecta .zz-bk-perms .no{text-decoration:line-through;text-decoration-color:rgb(240 138 168 / .6)}
.zz-fx-bancoconecta .zz-bk-perms .off{color:var(--orama-faint)}
.zz-fx-bancoconecta .zz-bk-perms .off .m{border:1.5px solid var(--orama-line)}
.zz-fx-bancoconecta .zz-bk-perms li .zz-lc-pill{margin-left:auto}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-bancoconecta .zz-bk-perms li{opacity:1;transform:none;transition-delay:calc(.2s + var(--i) * .15s)}
.zz-fx-bancoconecta .zz-bk-btn{display:inline-flex;padding:5px 12px;border-radius:8px;font-size:.76rem;font-weight:700;color:var(--orama-muted);border:1px solid var(--orama-line);
  transition:background .3s var(--orama-ease),color .3s var(--orama-ease),transform .3s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-bancoconecta .zz-bk-btn{background:var(--orama-brand);color:#fff;border-color:var(--orama-brand);transition-delay:.85s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-bancoconecta .zz-chip.d1{transition-delay:1.7s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-bancoconecta .zz-chip.d2{transition-delay:2s}

/* ==========================================================================
   2) zz-fx-pasarelas · cuatro pasarelas → Orama → conciliado
   ========================================================================== */
.zz-fx-pasarelas .zz-pg-flow{display:grid;grid-template-columns:auto minmax(28px,1fr) auto minmax(18px,34px) auto;align-items:center}
.zz-fx-pasarelas .zz-pg-src{display:flex;flex-direction:column;gap:10px}
.zz-fx-pasarelas .zz-pg-src span{height:30px;box-sizing:border-box;display:flex;align-items:center;padding:0 14px;border-radius:99px;border:1px solid var(--orama-line);
  background:rgb(255 255 255 / .04);color:var(--orama-text);font-weight:600;font-size:.8rem;opacity:0;transform:translateX(-8px);
  transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-pasarelas .zz-pg-src span{opacity:1;transform:none;transition-delay:calc(var(--i) * .08s)}
.zz-fx-pasarelas svg{display:block;width:100%;overflow:visible}
.zz-fx-pasarelas .zz-pg-lines{height:150px}
.zz-fx-pasarelas .zz-pg-link{height:10px}
.zz-fx-pasarelas svg path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}
.zz-fx-pasarelas .base{stroke:rgb(124 162 255 / .38);stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .7s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-pasarelas .base{stroke-dashoffset:0;transition-delay:calc(.25s + var(--i) * .1s)}
.zz-fx-pasarelas .flow{stroke:var(--orama-brand-bright);stroke-width:2.4;stroke-dasharray:.12 .88;stroke-dashoffset:1;opacity:0}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-pasarelas .flow{opacity:1;transition:opacity .3s ease 1s;animation:zz-pg-flow 1.5s linear calc(1s + var(--i) * .18s) infinite}
.zz-fx-pasarelas .zz-pg-node{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.84rem;letter-spacing:.01em;
  background:linear-gradient(160deg,var(--orama-brand-bright),var(--orama-brand));box-shadow:0 0 0 0 rgb(84 134 255 / .5);transform:scale(.9);opacity:.6;
  transition:transform .5s var(--orama-ease),opacity .5s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-pasarelas .zz-pg-node{transform:none;opacity:1;transition-delay:.8s;animation:zz-pg-ping 2s ease-out 1.2s infinite}
.zz-fx-pasarelas .zz-pg-out{display:flex;align-items:center;gap:7px;padding:7px 12px;border-radius:99px;border:1px solid var(--orama-line);background:rgb(255 255 255 / .03);
  color:var(--orama-muted);font-weight:600;font-size:.8rem;white-space:nowrap;transition:all .45s var(--orama-ease)}
.zz-fx-pasarelas .zz-pg-out .ck{width:18px;height:18px;border-radius:6px;display:grid;place-items:center;border:1.5px solid var(--orama-line);color:transparent;font-size:.68rem;font-weight:800;transition:all .45s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-pasarelas .zz-pg-out{background:rgb(119 163 121 / .1);border-color:rgb(119 163 121 / .45);color:var(--orama-text);transition-delay:1.35s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-pasarelas .zz-pg-out .ck{background:var(--orama-good);border-color:var(--orama-good);color:#fff;transition-delay:1.35s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-pasarelas .zz-chip.d1{transition-delay:1.7s}
@keyframes zz-pg-flow{to{stroke-dashoffset:0}}
@keyframes zz-pg-ping{0%{box-shadow:0 0 0 0 rgb(84 134 255 / .5)}100%{box-shadow:0 0 0 16px rgb(84 134 255 / 0)}}

/* ==========================================================================
   3) zz-fx-payoutlist · un payout masivo filtrado que se despliega en pedidos
   ========================================================================== */
.zz-fx-payoutlist .zz-po-filter{font-size:.74rem;color:var(--orama-muted);padding:3px 10px;border-radius:99px;border:1px solid var(--orama-line);background:rgb(255 255 255 / .03);
  opacity:.45;transition:all .4s var(--orama-ease)}
.zz-fx-payoutlist .zz-po-filter b{color:var(--orama-text)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-payoutlist .zz-po-filter{opacity:1;background:rgb(84 134 255 / .14);border-color:rgb(124 162 255 / .5);transition-delay:.15s}
.zz-fx-payoutlist .row{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;margin-top:6px;
  background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);color:var(--orama-muted);overflow:hidden;box-sizing:border-box;
  transition:background .4s var(--orama-ease),border-color .4s var(--orama-ease)}
.zz-fx-payoutlist .row:first-of-type{margin-top:0}
.zz-fx-payoutlist .amt{color:var(--orama-text);font-weight:600;white-space:nowrap}
.zz-fx-payoutlist .amt.neg{color:#F08AA8}
.zz-fx-payoutlist .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zz-fx-payoutlist .zz-po-other{max-height:44px;transition:max-height .45s var(--orama-ease),opacity .3s ease,padding .45s var(--orama-ease),margin .45s var(--orama-ease),border-width .45s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-payoutlist .zz-po-other{max-height:0;opacity:0;padding-top:0;padding-bottom:0;margin-top:0;border-width:0;transition-delay:.35s}
.zz-fx-payoutlist .zz-po-main{color:var(--orama-text)}
.zz-fx-payoutlist .zz-po-main .car{display:block;color:var(--orama-brand-bright);font-size:.7rem;transition:transform .35s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-payoutlist .zz-po-main{background:rgb(84 134 255 / .1);border-color:rgb(124 162 255 / .45);transition-delay:.7s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-payoutlist .zz-po-main .car{transform:rotate(90deg);transition-delay:.75s}
.zz-fx-payoutlist .zz-po-main .tag{display:inline-block;margin-left:8px;font-size:.72rem;padding:2px 8px;border-radius:99px;background:rgb(119 163 121 / .18);color:#9CCB9E;
  opacity:0;transform:translateX(-6px);transition:all .4s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-payoutlist .zz-po-main .tag{opacity:1;transform:none;transition-delay:1.75s}
.zz-fx-payoutlist .zz-po-sub{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-left:26px;padding:0 12px;border-left:2px solid rgb(124 162 255 / .35);
  font-size:.8rem;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s var(--orama-ease),opacity .35s ease,padding .4s var(--orama-ease)}
.zz-fx-payoutlist .zz-po-sub .amt{font-weight:500}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-payoutlist .zz-po-sub{max-height:30px;opacity:1;padding-top:5px;padding-bottom:5px;transition-delay:calc(.95s + var(--i) * .13s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-payoutlist .zz-chip.d1{transition-delay:2s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-payoutlist .zz-chip.d2{transition-delay:2.25s}

/* ==========================================================================
   4) zz-fx-erp · facturas del ERP que se convierten en previsiones de cobro
   ========================================================================== */
.zz-fx-erp .zz-er-erps{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.zz-fx-erp .zz-er-erps .zz-lc-pill{opacity:.55;transition:all .4s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-erp .zz-er-erps .zz-lc-pill{opacity:1}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-erp .zz-er-erps .zz-lc-pill.is-on{background:rgb(84 134 255 / .16);border-color:rgb(124 162 255 / .6)}
.zz-fx-erp .zz-er-list{display:grid;gap:7px}
.zz-fx-erp .zz-er-row{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,.82fr);align-items:center}
.zz-fx-erp .zz-er-inv,.zz-fx-erp .zz-er-prev{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 11px;border-radius:10px;white-space:nowrap;overflow:hidden}
.zz-fx-erp .zz-er-inv{background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);opacity:0;transform:translateX(-10px);transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease)}
.zz-fx-erp .zz-er-inv b{color:var(--orama-text);font-weight:600}
.zz-fx-erp .zz-er-inv .n{color:var(--orama-faint);font-size:.74rem;margin-right:6px}
.zz-fx-erp .zz-er-arr{display:block;height:2px;margin:0 5px;background:var(--orama-brand-bright);position:relative;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--orama-ease)}
.zz-fx-erp .zz-er-arr::after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left:6px solid var(--orama-brand-bright);border-right:0}
.zz-fx-erp .zz-er-prev{background:rgb(84 134 255 / .1);border:1px solid rgb(124 162 255 / .4);color:var(--orama-text);opacity:0;transform:translateX(-6px);transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease)}
.zz-fx-erp .zz-er-prev .k{color:var(--orama-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-erp .zz-er-inv{opacity:1;transform:none;transition-delay:calc(.3s + var(--i) * .22s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-erp .zz-er-arr{transform:none;transition-delay:calc(.55s + var(--i) * .22s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-erp .zz-er-prev{opacity:1;transform:none;transition-delay:calc(.75s + var(--i) * .22s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-erp .zz-chip.d1{transition-delay:1.6s}

/* ==========================================================================
   5) zz-fx-importar · mapeo de columnas de un Excel a los campos de Orama
   ========================================================================== */
.zz-fx-importar .zz-im-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(44px,.7fr) minmax(0,1fr);column-gap:0;row-gap:6px;align-items:start}
.zz-fx-importar .zz-im-col{display:flex;flex-direction:column;gap:8px}
.zz-fx-importar .zz-im-col span{height:32px;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:0 10px;border-radius:9px;white-space:nowrap;overflow:hidden}
.zz-fx-importar .zz-im-file span{background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);color:var(--orama-text);opacity:0;transform:translateY(5px);
  transition:opacity .35s var(--orama-ease),transform .35s var(--orama-ease)}
.zz-fx-importar .zz-im-file .c{width:18px;height:18px;border-radius:5px;display:grid;place-items:center;font-size:.66rem;font-weight:800;color:#9CCB9E;background:rgb(119 163 121 / .18);flex:none}
.zz-fx-importar .zz-im-orama span{justify-content:space-between;background:rgb(84 134 255 / .06);border:1px solid rgb(124 162 255 / .25);color:var(--orama-muted);font-weight:600;
  transition:background .35s var(--orama-ease),border-color .35s var(--orama-ease),color .35s var(--orama-ease)}
.zz-fx-importar .zz-im-orama .ck{width:16px;height:16px;border-radius:5px;display:grid;place-items:center;font-size:.62rem;font-weight:800;color:transparent;border:1.5px solid var(--orama-line);transition:all .35s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-importar .zz-im-file span{opacity:1;transform:none;transition-delay:calc(var(--i) * .08s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-importar .zz-im-orama span{background:rgb(84 134 255 / .14);border-color:rgb(124 162 255 / .55);color:var(--orama-text);transition-delay:calc(.85s + var(--i) * .2s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-importar .zz-im-orama .ck{background:var(--orama-good);border-color:var(--orama-good);color:#fff;transition-delay:calc(.85s + var(--i) * .2s)}
.zz-fx-importar svg{display:block;width:100%;height:112px;overflow:visible}
.zz-fx-importar svg path{fill:none;vector-effect:non-scaling-stroke;stroke:var(--orama-brand-bright);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;
  transition:stroke-dashoffset .55s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-importar svg path{stroke-dashoffset:0;transition-delay:calc(.4s + var(--i) * .2s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-importar .zz-chip.d1{transition-delay:1.6s}

/* ==========================================================================
   6) zz-fx-exportar · Excel, Norma 43 y API que se activan en secuencia
   ========================================================================== */
.zz-fx-exportar .zz-ex-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.zz-fx-exportar .zz-ex-card{position:relative;display:flex;flex-direction:column;gap:5px;padding:11px 11px 12px;border-radius:12px;background:rgb(255 255 255 / .03);
  border:1px solid var(--orama-line-soft);overflow:hidden;transition:background .4s var(--orama-ease),border-color .4s var(--orama-ease)}
.zz-fx-exportar .zz-ex-card .ico{width:34px;height:24px;border-radius:7px;display:grid;place-items:center;font-size:.64rem;font-weight:800;letter-spacing:.02em;
  color:var(--orama-muted);background:rgb(255 255 255 / .06);transition:all .4s var(--orama-ease)}
.zz-fx-exportar .zz-ex-card .nm{color:var(--orama-text);font-weight:700;white-space:nowrap}
.zz-fx-exportar .zz-ex-card .sub{font-size:.72rem;color:var(--orama-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zz-fx-exportar .zz-ex-card .ck{position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:6px;display:grid;place-items:center;font-size:.66rem;font-weight:800;
  color:transparent;border:1.5px solid var(--orama-line);transition:all .35s var(--orama-ease)}
.zz-fx-exportar .zz-ex-card i{display:block;height:3px;border-radius:2px;margin-top:3px;background:var(--orama-brand-bright);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-exportar .zz-ex-card{background:rgb(84 134 255 / .1);border-color:rgb(124 162 255 / .5);transition-delay:calc(.2s + var(--i) * .45s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-exportar .zz-ex-card .ico{color:#fff;background:var(--orama-brand);transition-delay:calc(.2s + var(--i) * .45s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-exportar .zz-ex-card i{transform:none;transition-delay:calc(.25s + var(--i) * .45s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-exportar .zz-ex-card .ck{background:var(--orama-good);border-color:var(--orama-good);color:#fff;transition-delay:calc(.6s + var(--i) * .45s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-exportar .zz-chip.d1{transition-delay:1.75s}
.zz-fx-exportar .zz-chip{font-size:.74rem;gap:7px;padding:9px 10px}

/* ==========================================================================
   7) zz-fx-facturas · facturas futuras en una mini línea de tiempo
   ========================================================================== */
.zz-fx-facturas .zz-fa-net{font-size:.78rem;color:var(--orama-muted)}
.zz-fx-facturas .zz-fa-net b{color:#9CCB9E}
.zz-fx-facturas .zz-fa-tl{position:relative;display:grid;gap:6px}
.zz-fx-facturas .zz-fa-rail{position:absolute;left:61px;top:12px;bottom:12px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--orama-brand-bright),rgb(84 134 255 / .25));
  transform:scaleY(0);transform-origin:top;transition:transform .9s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-facturas .zz-fa-rail{transform:none;transition-delay:.1s}
.zz-fx-facturas .zz-fa-it{display:grid;grid-template-columns:48px 28px minmax(0,1fr) auto;align-items:center;column-gap:0;opacity:0;transform:translateY(6px);
  transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-facturas .zz-fa-it{opacity:1;transform:none;transition-delay:calc(.25s + var(--i) * .16s)}
.zz-fx-facturas .zz-fa-it .d{font-size:.74rem;color:var(--orama-faint);text-align:right;white-space:nowrap}
.zz-fx-facturas .zz-fa-it .dot{justify-self:center;width:10px;height:10px;border-radius:50%;background:var(--orama-surface);border:2px solid var(--orama-brand-bright);position:relative;z-index:1}
.zz-fx-facturas .zz-fa-it .card{display:contents}
.zz-fx-facturas .zz-fa-it .who{padding:8px 0 8px 11px;border-radius:10px 0 0 10px;background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);border-right:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zz-fx-facturas .zz-fa-it .who small{color:var(--orama-faint);font-size:.72rem;margin-left:6px}
.zz-fx-facturas .zz-fa-it .amt{padding:8px 11px 8px 10px;border-radius:0 10px 10px 0;background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);border-left:0;
  color:#9CCB9E;font-weight:600;white-space:nowrap}
.zz-fx-facturas .zz-fa-it .amt.neg{color:#F08AA8}
.zz-fx-facturas .zz-fa-it.is-next .dot{background:#F1C27A;border-color:#F1C27A;box-shadow:0 0 0 4px rgb(224 176 90 / .18)}
.zz-fx-facturas .zz-fa-it.is-next .who,.zz-fx-facturas .zz-fa-it.is-next .amt{background:rgb(224 176 90 / .08);border-color:rgb(224 176 90 / .3)}
.zz-fx-facturas .zz-fa-it.is-next .d{color:#F1C27A;font-weight:600}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-facturas .zz-chip.d1{transition-delay:1.25s}

/* ==========================================================================
   8) zz-fx-posicion · saldo total y saldo por cuenta (o por producto)
   ========================================================================== */
@property --zz-ps-n{syntax:'<integer>';inherits:false;initial-value:0}
.zz-fx-posicion .zz-ps-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;min-height:52px;margin-bottom:8px}
.zz-fx-posicion .zz-ps-total{display:block;margin-top:2px;color:var(--orama-text);font-weight:800;font-size:1.5rem;letter-spacing:-.01em;line-height:1.15;
  --zz-ps-n:0;counter-reset:zzps var(--zz-ps-n);transition:--zz-ps-n 1.1s var(--orama-ease)}
.zz-fx-posicion .zz-ps-total::before{content:counter(zzps)}
.zz-fx-posicion .zz-ps-total small{font-size:.84rem;font-weight:600;color:var(--orama-muted);margin-left:4px}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-posicion .zz-ps-total{--zz-ps-n:var(--to);transition-delay:.15s}
.zz-fx-posicion .zz-ps-list{display:grid;gap:8px}
.zz-fx-posicion .zz-ps-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;row-gap:5px;column-gap:10px}
.zz-fx-posicion .zz-ps-row .nm{display:flex;align-items:center;gap:8px;color:var(--orama-muted);white-space:nowrap;overflow:hidden}
.zz-fx-posicion .zz-ps-row .v{color:var(--orama-text);font-weight:600}
.zz-fx-posicion .zz-ps-row .v.neg{color:#F08AA8}
.zz-fx-posicion .zz-ps-row .tr{grid-column:1 / -1;height:7px;border-radius:99px;background:rgb(255 255 255 / .05);overflow:hidden}
.zz-fx-posicion .zz-ps-row .tr i{display:block;height:100%;width:var(--w);border-radius:99px;background:linear-gradient(90deg,var(--orama-brand),var(--orama-brand-bright));
  transform:scaleX(0);transform-origin:left;transition:transform .7s var(--orama-ease)}
.zz-fx-posicion .zz-ps-row .tr i.pol{background:linear-gradient(90deg,rgb(224 176 90 / .55),#F1C27A)}
.zz-fx-posicion .zz-ps-row .tr i.neg{background:linear-gradient(90deg,rgb(224 82 126 / .55),#F08AA8)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-posicion .zz-ps-row .tr i{transform:none;transition-delay:calc(.3s + var(--i) * .12s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-posicion .zz-chip.d1{transition-delay:1.2s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-posicion .zz-chip.d2{transition-delay:1.45s}

/* ==========================================================================
   9) zz-fx-intercompania · traspasos entre sociedades que se compensan
   ========================================================================== */
.zz-fx-intercompania .zz-ic-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(56px,.8fr) minmax(0,1fr);align-items:center}
.zz-fx-intercompania .zz-ic-co{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:12px;background:rgb(255 255 255 / .03);border:1px solid var(--orama-line)}
.zz-fx-intercompania .zz-ic-co .nm{color:var(--orama-text);font-weight:700;white-space:nowrap}
.zz-fx-intercompania .zz-ic-co .sub{font-size:.72rem;color:var(--orama-faint)}
.zz-fx-intercompania .zz-ic-co .mv{margin-top:3px;align-self:flex-start;font-size:.78rem;font-weight:700;padding:2px 8px;border-radius:99px;opacity:0;transform:translateY(4px);
  transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease)}
.zz-fx-intercompania .mv.neg,.zz-fx-intercompania .eq .neg{color:#F08AA8;background:rgb(224 82 126 / .18)}
.zz-fx-intercompania .mv.pos,.zz-fx-intercompania .eq .pos{color:#9CCB9E;background:rgb(119 163 121 / .2)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-intercompania .zz-ic-co .mv.neg{opacity:1;transform:none;transition-delay:.3s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-intercompania .zz-ic-co .mv.pos{opacity:1;transform:none;transition-delay:1.05s}
.zz-fx-intercompania .zz-ic-link{position:relative;height:24px;margin:0 8px}
.zz-fx-intercompania .zz-ic-link i{position:absolute;left:0;right:6px;top:11px;height:2px;background:var(--orama-brand-bright);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--orama-ease)}
.zz-fx-intercompania .zz-ic-link i::after{content:"";position:absolute;right:-7px;top:-4px;border:5px solid transparent;border-left:7px solid var(--orama-brand-bright);border-right:0}
.zz-fx-intercompania .zz-ic-link .tk{position:absolute;left:0;top:-10px;font-size:.68rem;font-weight:700;color:var(--orama-brand-bright);opacity:0;transition:left .7s var(--orama-ease),opacity .3s ease}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-intercompania .zz-ic-link i{transform:none;transition-delay:.45s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-intercompania .zz-ic-link .tk{left:calc(100% - 4ch);opacity:1;transition-delay:.45s}
.zz-fx-intercompania .zz-ic-cons{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:9px 12px;border-radius:10px;
  background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);transition:background .4s var(--orama-ease),border-color .4s var(--orama-ease)}
.zz-fx-intercompania .zz-ic-cons .eq{display:flex;align-items:center;gap:6px;white-space:nowrap}
.zz-fx-intercompania .zz-ic-cons .eq span{font-size:.78rem;font-weight:700;padding:2px 8px;border-radius:99px;opacity:0;transition:opacity .35s var(--orama-ease),text-decoration-color .35s}
.zz-fx-intercompania .zz-ic-cons .eq .pos,.zz-fx-intercompania .zz-ic-cons .eq .neg{text-decoration:line-through;text-decoration-color:transparent}
.zz-fx-intercompania .zz-ic-cons .eq .r{color:var(--orama-text);background:rgb(84 134 255 / .16)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-intercompania .zz-ic-cons .eq span{opacity:1;transition-delay:calc(1.3s + var(--i) * .15s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-intercompania .zz-ic-cons .eq .pos,:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-intercompania .zz-ic-cons .eq .neg{text-decoration-color:currentColor;transition-delay:calc(1.3s + var(--i) * .15s),1.85s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-intercompania .zz-ic-cons{background:rgb(119 163 121 / .08);border-color:rgb(119 163 121 / .35);transition-delay:1.85s}
/* Variante «organigrama»: matriz y tres filiales */
.zz-fx-intercompania .zz-ic-root{display:flex;align-items:center;justify-content:space-between;gap:10px;width:62%;margin:0 auto;box-sizing:border-box;padding:10px 14px;border-radius:12px;
  background:linear-gradient(160deg,rgb(124 162 255 / .22),rgb(84 134 255 / .08));border:1px solid rgb(124 162 255 / .55);color:var(--orama-text)}
.zz-fx-intercompania .zz-ic-root .nm{font-weight:700;white-space:nowrap}
.zz-fx-intercompania .zz-ic-root .v{font-weight:800;white-space:nowrap}
.zz-fx-intercompania .zz-ic-root .v small{font-size:.7rem;color:var(--orama-faint);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-right:6px}
.zz-fx-intercompania .zz-ic-tree{display:block;width:100%;height:30px;overflow:visible}
.zz-fx-intercompania .zz-ic-tree path{fill:none;vector-effect:non-scaling-stroke;stroke:rgb(124 162 255 / .55);stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .5s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-intercompania .zz-ic-tree path{stroke-dashoffset:0;transition-delay:calc(.2s + var(--i) * .12s)}
.zz-fx-intercompania .zz-ic-subs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.zz-fx-intercompania .zz-ic-sub{margin:0 4px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 6px;border-radius:12px;background:rgb(255 255 255 / .03);
  border:1px solid var(--orama-line);opacity:0;transform:translateY(6px);transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease)}
.zz-fx-intercompania .zz-ic-sub .nm{color:var(--orama-text);font-weight:700;white-space:nowrap}
.zz-fx-intercompania .zz-ic-sub .v{font-size:.78rem;white-space:nowrap}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-intercompania .zz-ic-sub{opacity:1;transform:none;transition-delay:calc(.55s + var(--i) * .12s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-intercompania .zz-chip.d1{transition-delay:2.05s}

/* Tableta / escritorio estrecho (panel de menos de ~470 px): las tarjetas también pasan al flujo para no tapar nada */
@media (min-width:641px) and (max-width:1023px){
  .zz-fx-bancoconecta,.zz-fx-pasarelas,.zz-fx-payoutlist,.zz-fx-erp,.zz-fx-importar,.zz-fx-exportar,.zz-fx-facturas,.zz-fx-posicion,.zz-fx-intercompania{padding-bottom:0;display:flex;flex-direction:column}
  :is(.zz-fx-bancoconecta,.zz-fx-pasarelas,.zz-fx-payoutlist,.zz-fx-erp,.zz-fx-importar,.zz-fx-exportar,.zz-fx-facturas,.zz-fx-posicion,.zz-fx-intercompania) .zz-chip{position:relative;inset:auto!important;margin-top:10px;align-self:flex-start;white-space:normal}
  .zz-lc-head.has-chip{min-height:22px}
}

/* Móvil: las tarjetas pasan al flujo, debajo del contenido, sin solaparse
   (complementa el bloque @media de orama-zz-nuevos.css, que ya saca .zz-chip del posicionamiento absoluto) */
@media (max-width:640px){
  .zz-fx-bancoconecta,.zz-fx-pasarelas,.zz-fx-payoutlist,.zz-fx-erp,.zz-fx-importar,.zz-fx-exportar,.zz-fx-facturas,.zz-fx-posicion,.zz-fx-intercompania{padding-bottom:0;display:flex;flex-direction:column}
  .zz-lc-head.has-chip{min-height:22px}
  .zz-fx-pasarelas .zz-pg-src span{padding:0 10px;font-size:.76rem}
  .zz-fx-pasarelas .zz-pg-node{width:54px;height:54px;font-size:.78rem}
  .zz-fx-pasarelas .zz-pg-out{padding:6px 9px;font-size:.76rem}
  .zz-fx-payoutlist .row{padding:8px 10px;font-size:.78rem}
  .zz-fx-payoutlist .zz-po-sub{font-size:.76rem}
  .zz-fx-erp .zz-er-inv .n{display:none}
  .zz-fx-erp .zz-er-inv,.zz-fx-erp .zz-er-prev{font-size:.78rem;padding:7px 9px}
  .zz-fx-exportar .zz-ex-card .sub{white-space:normal}
  .zz-fx-facturas .zz-fa-it .who small{display:none}
  .zz-fx-intercompania .zz-ic-root{width:100%}
}

/* Accesibilidad: sin movimiento si el usuario lo pide; se muestra el estado final */
@media (prefers-reduced-motion:reduce){
  :is(.zz-fx-bancoconecta,.zz-fx-pasarelas,.zz-fx-payoutlist,.zz-fx-erp,.zz-fx-importar,.zz-fx-exportar,.zz-fx-facturas,.zz-fx-posicion,.zz-fx-intercompania) *{animation:none!important;transition:none!important}
  .orama-seq .panel .zz-fx-bancoconecta .zz-bk-q{max-width:calc(var(--n,8) * 1ch + 4px);}
  .orama-seq .panel .zz-fx-bancoconecta .zz-bk-bank{opacity:1;transform:none;}
  .orama-seq .panel .zz-fx-bancoconecta .zz-bk-bank:not(.is-sel){filter:saturate(.4) brightness(.62);}
  .orama-seq .panel .zz-fx-bancoconecta .zz-bk-bank.is-sel{background:rgb(84 134 255 / .14);border-color:rgb(124 162 255 / .6);}
  .orama-seq .panel .zz-fx-bancoconecta .zz-bk-bank.is-sel .rd{background:var(--orama-brand);border-color:var(--orama-brand-bright);box-shadow:inset 0 0 0 3px var(--orama-surface);}
  .orama-seq .panel .zz-fx-bancoconecta .zz-bk-ok{opacity:1;transform:none;}
  .orama-seq .panel .zz-fx-bancoconecta .zz-bk-perms li{opacity:1;transform:none;}
  .orama-seq .panel .zz-fx-bancoconecta .zz-bk-btn{background:var(--orama-brand);color:#fff;border-color:var(--orama-brand);}
  .orama-seq .panel .zz-fx-pasarelas .zz-pg-src span{opacity:1;transform:none;}
  .orama-seq .panel .zz-fx-pasarelas .base{stroke-dashoffset:0;}
  .orama-seq .panel .zz-fx-pasarelas .zz-pg-node{transform:none;opacity:1;}
  .orama-seq .panel .zz-fx-pasarelas .zz-pg-out{background:rgb(119 163 121 / .1);border-color:rgb(119 163 121 / .45);color:var(--orama-text);}
  .orama-seq .panel .zz-fx-pasarelas .zz-pg-out .ck{background:var(--orama-good);border-color:var(--orama-good);color:#fff;}
  .orama-seq .panel .zz-fx-payoutlist .zz-po-filter{opacity:1;background:rgb(84 134 255 / .14);border-color:rgb(124 162 255 / .5);}
  .orama-seq .panel .zz-fx-payoutlist .zz-po-other{max-height:0;opacity:0;padding-top:0;padding-bottom:0;margin-top:0;border-width:0;}
  .orama-seq .panel .zz-fx-payoutlist .zz-po-main{background:rgb(84 134 255 / .1);border-color:rgb(124 162 255 / .45);}
  .orama-seq .panel .zz-fx-payoutlist .zz-po-main .car{transform:rotate(90deg);}
  .orama-seq .panel .zz-fx-payoutlist .zz-po-main .tag{opacity:1;transform:none;}
  .orama-seq .panel .zz-fx-payoutlist .zz-po-sub{max-height:30px;opacity:1;padding-top:5px;padding-bottom:5px;}
  .orama-seq .panel .zz-fx-erp .zz-er-erps .zz-lc-pill{opacity:1}
  .orama-seq .panel .zz-fx-erp .zz-er-erps .zz-lc-pill.is-on{background:rgb(84 134 255 / .16);border-color:rgb(124 162 255 / .6)}
  .orama-seq .panel .zz-fx-erp .zz-er-inv{opacity:1;transform:none;}
  .orama-seq .panel .zz-fx-erp .zz-er-arr{transform:none;}
  .orama-seq .panel .zz-fx-erp .zz-er-prev{opacity:1;transform:none;}
  .orama-seq .panel .zz-fx-importar .zz-im-file span{opacity:1;transform:none;}
  .orama-seq .panel .zz-fx-importar .zz-im-orama span{background:rgb(84 134 255 / .14);border-color:rgb(124 162 255 / .55);color:var(--orama-text);}
  .orama-seq .panel .zz-fx-importar .zz-im-orama .ck{background:var(--orama-good);border-color:var(--orama-good);color:#fff;}
  .orama-seq .panel .zz-fx-importar svg path{stroke-dashoffset:0;}
  .orama-seq .panel .zz-fx-exportar .zz-ex-card{background:rgb(84 134 255 / .1);border-color:rgb(124 162 255 / .5);}
  .orama-seq .panel .zz-fx-exportar .zz-ex-card .ico{color:#fff;background:var(--orama-brand);}
  .orama-seq .panel .zz-fx-exportar .zz-ex-card i{transform:none;}
  .orama-seq .panel .zz-fx-exportar .zz-ex-card .ck{background:var(--orama-good);border-color:var(--orama-good);color:#fff;}
  .orama-seq .panel .zz-fx-facturas .zz-fa-rail{transform:none;}
  .orama-seq .panel .zz-fx-facturas .zz-fa-it{opacity:1;transform:none;}
  .orama-seq .panel .zz-fx-posicion .zz-ps-total{--zz-ps-n:var(--to);}
  .orama-seq .panel .zz-fx-posicion .zz-ps-row .tr i{transform:none;}
  .orama-seq .panel .zz-fx-intercompania .zz-ic-co .mv.neg{opacity:1;transform:none;}
  .orama-seq .panel .zz-fx-intercompania .zz-ic-co .mv.pos{opacity:1;transform:none;}
  .orama-seq .panel .zz-fx-intercompania .zz-ic-link i{transform:none;}
  .orama-seq .panel .zz-fx-intercompania .zz-ic-link .tk{left:calc(100% - 4ch);opacity:1;}
  .orama-seq .panel .zz-fx-intercompania .zz-ic-cons .eq span{opacity:1;}
  .orama-seq .panel .zz-fx-intercompania .zz-ic-cons .eq .pos,.orama-seq .panel .zz-fx-intercompania .zz-ic-cons .eq .neg{text-decoration-color:currentColor;}
  .orama-seq .panel .zz-fx-intercompania .zz-ic-cons{background:rgb(119 163 121 / .08);border-color:rgb(119 163 121 / .35);}
  .orama-seq .panel .zz-fx-intercompania .zz-ic-tree path{stroke-dashoffset:0;}
  .orama-seq .panel .zz-fx-intercompania .zz-ic-sub{opacity:1;transform:none;}
}


/* ######## Lote D · huecos restantes (sectores, portada y funcionalidades) ######## */
/* ==========================================================================
   Orama · paneles del widget orama_zigzag · LOTE D (13/10/2026)
   Cubre las secciones que aún tenían el panel antiguo (zz-rec, zz-fx-caja, zz-fx-scn,
   zz-fx-match, seq-fx-forecast, seq-fx-bars, zz-fx-bancos y el héroe de la portada).
   Requiere la base de arriba (.zz-chip, .ic, d1/d2, .zz-lb-head, .c-top/.c-br, .zz-lc-pill).
   Todas las variantes nuevas llevan además la clase .zz-ld (base común del lote).
   Variantes: zz-fx-retos · zz-fx-cliente · zz-fx-grupo · zz-fx-abonos · zz-fx-cuadre ·
   zz-fx-tpv · zz-fx-mapa · zz-fx-ciclo · zz-fx-desfase · zz-fx-meses · zz-fx-hoymanana ·
   zz-fx-fiable · zz-fx-plantilla · zz-fx-carril · zz-fx-recalcula
   Animación: :is(.orama-seq .panel:hover,.orama-seq__item.in .panel) … Sin JavaScript.
   ========================================================================== */

/* --- Base común del lote D --- */
.zz-ld{position:relative;font-variant-numeric:tabular-nums;padding-bottom:34px;font-size:.84rem;color:var(--orama-muted)}
.zz-ld .lbl{display:block;color:var(--orama-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
.zz-ld .val{display:block;color:var(--orama-text);font-weight:700;font-size:1.15rem;margin-top:2px;white-space:nowrap}
.zz-ld .amt{color:var(--orama-text);font-weight:600;white-space:nowrap;text-align:right}
.zz-ld .amt.neg,.zz-ld .neg{color:#F08AA8}
.zz-ld .nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zz-ld .zz-lb-head{align-items:flex-start}

/* ==========================================================================
   1) zz-fx-retos · los retos del sector se resuelven uno a uno (reto → respuesta de Orama)
   ========================================================================== */
.zz-fx-retos .zz-rt-list{display:flex;flex-direction:column;gap:6px}
.zz-fx-retos .row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;
  background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);transition:background .4s var(--orama-ease),border-color .4s var(--orama-ease)}
.zz-fx-retos .row .nm{color:var(--orama-text)}
.zz-fx-retos .mk{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:.7rem;font-weight:800;background:rgb(224 82 126 / .18);color:#F08AA8;transition:background .35s ease,color .35s ease}
.zz-fx-retos .mk b{grid-area:1/1;transition:opacity .3s ease}
.zz-fx-retos .mk .y{opacity:0}
.zz-fx-retos .tag{font-size:.72rem;font-weight:600;padding:2px 9px;border-radius:99px;background:rgb(84 134 255 / .16);color:var(--orama-brand-bright);white-space:nowrap;
  opacity:0;transform:translateX(-6px);transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-retos .row{background:rgb(119 163 121 / .06);border-color:rgb(119 163 121 / .28);transition-delay:calc(.3s + var(--i) * .25s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-retos .mk{background:var(--orama-good);color:#fff;transition-delay:calc(.3s + var(--i) * .25s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-retos .mk .n{opacity:0;transition-delay:calc(.3s + var(--i) * .25s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-retos .mk .y{opacity:1;transition-delay:calc(.3s + var(--i) * .25s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-retos .tag{opacity:1;transform:none;transition-delay:calc(.4s + var(--i) * .25s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-retos .zz-chip.d1{transition-delay:1.5s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-retos .zz-chip.d2{transition-delay:1.8s}

/* ==========================================================================
   2) zz-fx-cliente · cambio de cliente con un clic: cada uno con su panel propio
   ========================================================================== */
.zz-fx-cliente .zz-cl-tabs{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;border-radius:10px;background:rgb(255 255 255 / .04);border:1px solid var(--orama-line-soft)}
.zz-fx-cliente .zz-cl-ind{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / 3);box-sizing:border-box;border-radius:8px;background:rgb(84 134 255 / .22);border:1px solid rgb(124 162 255 / .4);transition:transform .5s var(--orama-ease)}
.zz-fx-cliente .zz-cl-tabs .t{position:relative;text-align:center;font-size:.74rem;padding:6px 4px;color:var(--orama-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease}
.zz-fx-cliente .zz-cl-tabs .t1{color:var(--orama-text)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-cliente .zz-cl-ind{transform:translateX(100%);transition-delay:.9s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-cliente .zz-cl-tabs .t1{color:var(--orama-muted);transition-delay:.9s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-cliente .zz-cl-tabs .t2{color:var(--orama-text);transition-delay:.9s}
.zz-fx-cliente .zz-cl-panes{display:grid;margin-top:8px}
.zz-fx-cliente .zz-cl-pane{grid-area:1/1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:18px;padding:12px;border-radius:12px;
  background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);transition:opacity .4s ease}
.zz-fx-cliente .zz-cl-pane.p2{opacity:0}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-cliente .zz-cl-pane.p1{opacity:0;transition-delay:1s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-cliente .zz-cl-pane.p2{opacity:1;transition-delay:1s}
.zz-fx-cliente .zz-cl-bars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;align-items:end;justify-items:center;height:54px}
.zz-fx-cliente .zz-cl-bars i{display:block;width:72%;height:calc(var(--h) * 1%);border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--orama-brand-bright),rgb(84 134 255 / .3));
  transform:scaleY(.06);transform-origin:bottom;opacity:.5;transition:transform .5s var(--orama-ease),opacity .5s var(--orama-ease)}
.zz-fx-cliente .zz-cl-bars i.t{background:linear-gradient(180deg,#F1C27A,rgb(224 176 90 / .35))}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-cliente .p1 .zz-cl-bars i{transform:none;opacity:1;transition-delay:calc(.1s + var(--i) * .05s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-cliente .p2 .zz-cl-bars i{transform:none;opacity:1;transition-delay:calc(1.1s + var(--i) * .06s)}
.zz-fx-cliente .zz-cl-foot{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;border-radius:10px;background:rgb(119 163 121 / .06);border:1px solid rgb(119 163 121 / .25);
  color:var(--orama-text);opacity:0;transform:translateY(5px);transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease)}
.zz-fx-cliente .zz-cl-foot .ck{margin-left:auto;width:18px;height:18px;border-radius:6px;display:grid;place-items:center;flex:none;background:var(--orama-good);color:#fff;font-size:.66rem;font-weight:800}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-cliente .zz-cl-foot{opacity:1;transform:none;transition-delay:1.5s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-cliente .zz-chip.d1{transition-delay:1.8s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-cliente .zz-chip.d2{transition-delay:2.1s}

/* ==========================================================================
   3) zz-fx-grupo · total consolidado que se reparte por marca, centro o sociedad
   ========================================================================== */
.zz-fx-grupo .zz-gr-seg{display:inline-flex;gap:3px;padding:3px;border-radius:9px;background:rgb(255 255 255 / .04);border:1px solid var(--orama-line-soft);flex:none}
.zz-fx-grupo .zz-gr-seg span{font-size:.72rem;padding:3px 9px;border-radius:7px;color:var(--orama-muted);white-space:nowrap;transition:background .35s ease,color .35s ease}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-grupo .zz-gr-seg .on{background:rgb(84 134 255 / .22);color:var(--orama-text);transition-delay:.15s}
.zz-fx-grupo .zz-gr-bar{display:flex;gap:3px;height:14px;margin-bottom:10px}
.zz-fx-grupo .zz-gr-bar i{display:block;flex:var(--g) 1 0;min-width:0;border-radius:3px;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--orama-ease)}
.zz-fx-grupo .zz-gr-bar i:first-child{border-radius:7px 3px 3px 7px}
.zz-fx-grupo .zz-gr-bar i:last-child{border-radius:3px 7px 7px 3px}
.zz-fx-grupo .s1{background:var(--orama-brand-bright)}
.zz-fx-grupo .s2{background:#9CCB9E}
.zz-fx-grupo .s3{background:#F1C27A}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-grupo .zz-gr-bar i{transform:none;transition-delay:calc(.25s + var(--i) * .15s)}
.zz-fx-grupo .zz-gr-list{display:flex;flex-direction:column;gap:4px}
.zz-fx-grupo .row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 10px;border-radius:9px;background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);
  opacity:0;transform:translateY(4px);transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease),background .4s ease,border-color .4s ease}
.zz-fx-grupo .row .nm{color:var(--orama-text)}
.zz-fx-grupo .row .sw{width:10px;height:10px;border-radius:3px}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-grupo .row{opacity:1;transform:none;transition-delay:calc(.5s + var(--i) * .12s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-grupo .row.is-open{background:rgb(84 134 255 / .1);border-color:rgb(124 162 255 / .4)}
.zz-fx-grupo .zz-gr-sub{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-left:20px;padding:0 10px;border-left:2px solid rgb(124 162 255 / .35);font-size:.8rem;
  max-height:0;opacity:0;overflow:hidden;transition:max-height .4s var(--orama-ease),opacity .35s ease,padding .4s var(--orama-ease)}
.zz-fx-grupo .zz-gr-sub .amt{font-weight:500}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-grupo .zz-gr-sub{max-height:30px;opacity:1;padding-top:4px;padding-bottom:4px;transition-delay:calc(1s + var(--i) * .12s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-grupo .zz-chip.d1{transition-delay:1.6s}

/* ==========================================================================
   4) zz-fx-abonos · abonos en bloque de las pasarelas que pasan a tener detalle
   ========================================================================== */
.zz-fx-abonos .zz-ab-list{display:flex;flex-direction:column;gap:7px}
.zz-fx-abonos .row{display:grid;grid-template-columns:5.2em minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;
  background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);transition:background .4s ease,border-color .4s ease}
.zz-fx-abonos .row .zz-lc-pill{justify-self:start}
.zz-fx-abonos .zz-ab-st{display:grid;min-width:0}
.zz-fx-abonos .zz-ab-st>span{grid-area:1/1;align-self:center;justify-self:start;max-width:100%;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .35s ease}
.zz-fx-abonos .zz-ab-st .q{color:#F1C27A;font-size:.76rem}
.zz-fx-abonos .zz-ab-st .tag{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:99px;background:rgb(119 163 121 / .18);color:#9CCB9E;opacity:0}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-abonos .row{background:rgb(119 163 121 / .05);border-color:rgb(119 163 121 / .25);transition-delay:calc(.5s + var(--i) * .3s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-abonos .zz-ab-st .q{opacity:0;transition-delay:calc(.5s + var(--i) * .3s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-abonos .zz-ab-st .tag{opacity:1;transition-delay:calc(.55s + var(--i) * .3s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-abonos .zz-chip.d1{transition-delay:1.6s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-abonos .zz-chip.d2{transition-delay:1.9s}

/* ==========================================================================
   5) zz-fx-cuadre · pedidos, comisiones y devoluciones que cuadran con los payouts al céntimo
   ========================================================================== */
.zz-fx-cuadre .zz-cq-ledger{display:flex;flex-direction:column;border:1px solid var(--orama-line-soft);border-radius:12px;overflow:hidden}
.zz-fx-cuadre .row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 12px;border-top:1px solid var(--orama-line-soft);
  opacity:0;transform:translateX(-6px);transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease)}
.zz-fx-cuadre .row:first-child{border-top:0}
.zz-fx-cuadre .row.tot{background:rgb(84 134 255 / .08);color:var(--orama-text);font-weight:600}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-cuadre .row{opacity:1;transform:none;transition-delay:calc(.15s + var(--i) * .15s)}
.zz-fx-cuadre .zz-cq-diff{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:8px 12px;border-radius:10px;
  border:1px solid rgb(224 176 90 / .3);background:rgb(224 176 90 / .08);color:var(--orama-text);transition:background .4s ease,border-color .4s ease}
.zz-fx-cuadre .zz-cq-v{display:grid;justify-items:end}
.zz-fx-cuadre .zz-cq-v span{grid-area:1/1;font-weight:700;white-space:nowrap;transition:opacity .3s ease}
.zz-fx-cuadre .zz-cq-v .a{color:#F1C27A}
.zz-fx-cuadre .zz-cq-v .b{color:#9CCB9E;opacity:0}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-cuadre .zz-cq-diff{background:rgb(119 163 121 / .1);border-color:rgb(119 163 121 / .4);transition-delay:1.1s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-cuadre .zz-cq-v .a{opacity:0;transition-delay:1.1s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-cuadre .zz-cq-v .b{opacity:1;transition-delay:1.1s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-cuadre .zz-chip.d1{transition-delay:1.4s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-cuadre .zz-chip.d2{transition-delay:1.7s}

/* ==========================================================================
   6) zz-fx-tpv · ventas con tarjeta de cada día, comisión del TPV y lo cobrado
   ========================================================================== */
.zz-fx-tpv .zz-tp-tab{border:1px solid var(--orama-line-soft);border-radius:12px;overflow:hidden}
.zz-fx-tpv .zz-tp-h,.zz-fx-tpv .row{display:grid;grid-template-columns:minmax(0,1fr) 5.2em 4.8em 6.4em;gap:8px;align-items:center;padding:8px 12px}
.zz-fx-tpv .zz-tp-h{font-size:.62rem;text-transform:uppercase;letter-spacing:.03em;color:var(--orama-faint);background:rgb(255 255 255 / .03)}
.zz-fx-tpv .zz-tp-h span:not(:first-child),.zz-fx-tpv .row span:not(:first-child){text-align:right;white-space:nowrap}
.zz-fx-tpv .row{border-top:1px solid var(--orama-line-soft);opacity:0;transform:translateY(4px);transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease)}
.zz-fx-tpv .row .nm{color:var(--orama-text)}
.zz-fx-tpv .row .amt{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}
.zz-fx-tpv .row .ck{width:15px;height:15px;border-radius:5px;display:grid;place-items:center;flex:none;font-size:.58rem;font-weight:800;color:transparent;border:1.5px solid var(--orama-line);transition:all .35s ease}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-tpv .row{opacity:1;transform:none;transition-delay:calc(.15s + var(--i) * .15s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-tpv .row .ck{background:var(--orama-good);border-color:var(--orama-good);color:#fff;transition-delay:calc(.8s + var(--i) * .2s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-tpv .zz-chip.d1{transition-delay:1.5s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-tpv .zz-chip.d2{transition-delay:1.8s}

/* ==========================================================================
   7) zz-fx-mapa · mapa de calor: caja prevista de cada local mes a mes
   ========================================================================== */
.zz-fx-mapa .zz-mp-grid{display:grid;grid-template-columns:minmax(0,7.6em) repeat(6,minmax(0,1fr));gap:5px 4px;align-items:center}
.zz-fx-mapa .zz-mp-grid .h{font-size:.62rem;color:var(--orama-faint);text-align:center;text-transform:uppercase;letter-spacing:.04em}
.zz-fx-mapa .zz-mp-grid .nm{font-size:.8rem;color:var(--orama-text)}
.zz-fx-mapa .zz-mp-grid i{display:block;height:18px;border-radius:5px;background:rgb(119 163 121 / .38);opacity:0;transform:scale(.6);transition:opacity .35s ease,transform .35s var(--orama-ease)}
.zz-fx-mapa .zz-mp-grid i.a{background:rgb(224 176 90 / .5)}
.zz-fx-mapa .zz-mp-grid i.r{background:rgb(224 82 126 / .6)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-mapa .zz-mp-grid i{opacity:1;transform:none;transition-delay:calc(.1s + var(--i) * .08s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-mapa .zz-mp-grid i.r{animation:zz-mp-pulse 1.6s ease-in-out 1.2s infinite}
@keyframes zz-mp-pulse{50%{box-shadow:0 0 0 3px rgb(240 138 168 / .28)}}
.zz-fx-mapa .zz-mp-leg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:.72rem;color:var(--orama-muted)}
.zz-fx-mapa .zz-mp-leg span{display:inline-flex;align-items:center;gap:6px}
.zz-fx-mapa .zz-mp-leg i{width:10px;height:10px;border-radius:3px;background:rgb(119 163 121 / .5)}
.zz-fx-mapa .zz-mp-leg i.a{background:rgb(224 176 90 / .6)}
.zz-fx-mapa .zz-mp-leg i.r{background:rgb(224 82 126 / .7)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-mapa .zz-chip.d1{transition-delay:1.2s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-mapa .zz-chip.d2{transition-delay:1.5s}

/* ==========================================================================
   8) zz-fx-ciclo · fases del ciclo de caja sobre una escala de días (o meses)
   ========================================================================== */
.zz-fx-ciclo .zz-cy-list{display:flex;flex-direction:column;gap:10px;padding-top:2px}
.zz-fx-ciclo .row,.zz-fx-ciclo .zz-cy-ax{display:grid;grid-template-columns:minmax(0,8.6em) minmax(0,1fr) 4em;align-items:center;gap:10px}
.zz-fx-ciclo .row .trk{position:relative;height:12px;border-radius:6px;background:rgb(255 255 255 / .04)}
.zz-fx-ciclo .row .trk i{position:absolute;top:0;bottom:0;left:var(--a);width:calc(var(--b) - var(--a));border-radius:6px;
  background:linear-gradient(90deg,rgb(84 134 255 / .55),var(--orama-brand-bright));transform:scaleX(0);transform-origin:left;transition:transform .6s var(--orama-ease)}
.zz-fx-ciclo .row .trk i.am{background:linear-gradient(90deg,rgb(224 176 90 / .45),#F1C27A)}
.zz-fx-ciclo .row .trk i.ok{background:linear-gradient(90deg,rgb(119 163 121 / .45),#9CCB9E)}
.zz-fx-ciclo .row .trk i.rd{background:linear-gradient(90deg,rgb(224 82 126 / .4),#F08AA8)}
.zz-fx-ciclo .row .trk i.pt{width:12px;margin-left:-6px;border-radius:50%;background:#F08AA8;transform:scale(0);transform-origin:center}
.zz-fx-ciclo .row.gap .trk{background:rgb(224 82 126 / .07)}
.zz-fx-ciclo .row.gap .amt{color:#F08AA8}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-ciclo .row .trk i{transform:none;transition-delay:calc(.15s + var(--i) * .25s)}
.zz-fx-ciclo .zz-cy-ax{margin-top:6px;font-size:.62rem;color:var(--orama-faint)}
.zz-fx-ciclo .zz-cy-ax .sc{position:relative;height:1.3em;white-space:nowrap}
.zz-fx-ciclo .zz-cy-ax .sc span{position:absolute;top:0;left:var(--x);transform:translateX(-50%)}
.zz-fx-ciclo .zz-cy-ax .sc span:first-child{transform:none}
.zz-fx-ciclo .zz-cy-ax .sc span:last-child{transform:translateX(-100%)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-ciclo .zz-chip.d1{transition-delay:1.4s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-ciclo .zz-chip.d2{transition-delay:1.7s}

/* ==========================================================================
   9) zz-fx-desfase · pagos que salen cada semana frente a cobros que llegan tarde
   ========================================================================== */
.zz-fx-desfase .zz-df-chart{position:relative;display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:5px;height:120px}
.zz-fx-desfase .zz-df-chart::after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--orama-line)}
.zz-fx-desfase .zz-df-chart span{position:relative}
.zz-fx-desfase .zz-df-chart i{position:absolute;left:0;right:0;opacity:.5;transition:transform .5s var(--orama-ease),opacity .5s var(--orama-ease)}
.zz-fx-desfase .zz-df-chart i.up{bottom:calc(50% + 1px);height:calc(var(--c) * 1px);border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,var(--orama-brand-bright),rgb(84 134 255 / .35));transform:scaleY(.05);transform-origin:bottom}
.zz-fx-desfase .zz-df-chart i.dn{top:calc(50% + 1px);height:calc(var(--p) * 1px);border-radius:1px 1px 4px 4px;background:linear-gradient(0deg,#F08AA8,rgb(224 82 126 / .35));transform:scaleY(.05);transform-origin:top}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-desfase .zz-df-chart i.dn{transform:none;opacity:1;transition-delay:calc(.1s + var(--i) * .05s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-desfase .zz-df-chart i.up{transform:none;opacity:1;transition-delay:calc(.75s + var(--i) * .06s)}
.zz-fx-desfase .zz-df-wk{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:5px;margin-top:6px;font-size:.6rem;color:var(--orama-faint);text-align:center}
.zz-fx-desfase .zz-df-leg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:.72rem;color:var(--orama-muted)}
.zz-fx-desfase .zz-df-leg span{display:inline-flex;align-items:center;gap:6px}
.zz-fx-desfase .zz-df-leg i{width:10px;height:10px;border-radius:3px;background:var(--orama-brand-bright)}
.zz-fx-desfase .zz-df-leg i.dn{background:#F08AA8}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-desfase .zz-chip.d1{transition-delay:1.5s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-desfase .zz-chip.d2{transition-delay:1.8s}

/* ==========================================================================
   10) zz-fx-meses · barras mensuales (simples o apiladas) frente a una línea de referencia
   ========================================================================== */
.zz-fx-meses{--n:12}
.zz-fx-meses.zz-me-6{--n:6}
.zz-fx-meses .zz-me-chart{position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:5px;height:112px}
.zz-fx-meses .zz-me-chart .col{display:flex;align-items:flex-end;border-radius:6px;transition:background .4s ease}
.zz-fx-meses .zz-me-chart .stk{display:flex;flex-direction:column-reverse;gap:2px;width:100%;transform:scaleY(.05);transform-origin:bottom;opacity:.5;transition:transform .55s var(--orama-ease),opacity .55s var(--orama-ease)}
.zz-fx-meses .zz-me-chart .stk i{display:block;height:calc(var(--h) * 1px);border-radius:3px;background:linear-gradient(180deg,var(--orama-brand-bright),rgb(84 134 255 / .4))}
.zz-fx-meses .zz-me-chart .stk i:last-child{border-radius:4px 4px 2px 2px}
.zz-fx-meses .stk i.s2,.zz-fx-meses .zz-me-leg i.s2{background:rgb(124 162 255 / .45)}
.zz-fx-meses .stk i.s3,.zz-fx-meses .zz-me-leg i.s3{background:#F1C27A}
.zz-fx-meses .stk i.lo{background:linear-gradient(180deg,#F08AA8,rgb(224 82 126 / .35))}
.zz-fx-meses .stk i.hi{background:linear-gradient(180deg,#9CCB9E,rgb(119 163 121 / .35))}
.zz-fx-meses .zz-me-ref{position:absolute;left:0;right:0;bottom:calc(var(--y) * 1px);border-top:1.5px dashed #F1C27A;opacity:0;transition:opacity .4s ease}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-meses .zz-me-chart .stk{transform:none;opacity:1;transition-delay:calc(.1s + var(--i) * .05s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-meses .zz-me-ref{opacity:.9;transition-delay:.9s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-meses .zz-me-chart .col.low{background:rgb(224 82 126 / .07);transition-delay:1.1s}
.zz-fx-meses .zz-me-m{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:5px;margin-top:6px;font-size:.6rem;color:var(--orama-faint);text-align:center;text-transform:uppercase}
.zz-fx-meses .zz-me-m .neg{font-weight:700}
.zz-fx-meses .zz-me-leg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:.72rem;color:var(--orama-muted)}
.zz-fx-meses .zz-me-leg span{display:inline-flex;align-items:center;gap:6px}
.zz-fx-meses .zz-me-leg i{width:10px;height:10px;border-radius:3px;background:var(--orama-brand-bright)}
.zz-fx-meses .zz-me-leg i.lo{background:#F08AA8}
.zz-fx-meses .zz-me-leg i.ref{width:14px;height:0;border-radius:0;background:none;border-top:1.5px dashed #F1C27A}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-meses .zz-chip.d1{transition-delay:1.3s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-meses .zz-chip.d2{transition-delay:1.6s}

/* ==========================================================================
   11) zz-fx-hoymanana · héroe de la portada: la caja de hoy por banco y la de mañana
   ========================================================================== */
.zz-fx-hoymanana .zz-hm-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:10px}
.zz-fx-hoymanana .zz-hm-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px;border-radius:12px;background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft)}
.zz-fx-hoymanana .zz-hm-card .val{font-size:1.3rem;font-weight:800;margin-top:0}
.zz-fx-hoymanana .zz-hm-card .val small{font-size:.74rem;font-weight:700;color:#9CCB9E;margin-left:6px}
.zz-fx-hoymanana .zz-hm-banks{display:flex;flex-direction:column;gap:7px}
.zz-fx-hoymanana .row{display:grid;grid-template-columns:minmax(0,6.6em) minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.78rem;opacity:0;transform:translateX(-5px);
  transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease)}
.zz-fx-hoymanana .row .zz-lc-pill{justify-self:start;max-width:100%;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}
.zz-fx-hoymanana .row .tr{height:6px;border-radius:99px;background:rgb(255 255 255 / .05);overflow:hidden}
.zz-fx-hoymanana .row .tr i{display:block;height:100%;width:var(--w);border-radius:99px;background:linear-gradient(90deg,var(--orama-brand),var(--orama-brand-bright));transform:scaleX(0);transform-origin:left;transition:transform .6s var(--orama-ease)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-hoymanana .row{opacity:1;transform:none;transition-delay:calc(.15s + var(--i) * .12s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-hoymanana .row .tr i{transform:none;transition-delay:calc(.3s + var(--i) * .12s)}
.zz-fx-hoymanana .zz-hm-fc{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;align-items:end;height:62px;margin-top:auto}
.zz-fx-hoymanana .zz-hm-fc i{display:block;height:calc(var(--h) * 1%);border-radius:3px 3px 1px 1px;background:linear-gradient(180deg,var(--orama-brand-bright),rgb(84 134 255 / .3));
  transform:scaleY(.06);transform-origin:bottom;opacity:.5;transition:transform .5s var(--orama-ease),opacity .5s var(--orama-ease)}
.zz-fx-hoymanana .zz-hm-fc i.t{background:linear-gradient(180deg,#F1C27A,rgb(224 176 90 / .35))}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-hoymanana .zz-hm-fc i{transform:none;opacity:1;transition-delay:calc(.7s + var(--i) * .05s)}
.zz-fx-hoymanana .zz-hm-fm{display:flex;justify-content:space-between;font-size:.6rem;color:var(--orama-faint);text-transform:uppercase}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-hoymanana .zz-chip.d1{transition-delay:1.3s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-hoymanana .zz-chip.d2{transition-delay:1.6s}

/* ==========================================================================
   12) zz-fx-fiable · lo conciliado del mes: lo que ha entrado, lo que ha salido y el neto
   ========================================================================== */
.zz-fx-fiable .zz-fi-prog{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:10px}
.zz-fx-fiable .zz-fi-prog .bar{height:10px;border-radius:99px;background:rgb(255 255 255 / .05);overflow:hidden}
.zz-fx-fiable .zz-fi-prog .bar i{display:block;height:100%;width:98%;border-radius:99px;background:linear-gradient(90deg,rgb(119 163 121 / .5),#9CCB9E);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--orama-ease)}
.zz-fx-fiable .zz-fi-prog .pct{font-size:.78rem;white-space:nowrap}
.zz-fx-fiable .zz-fi-prog .pct b{color:var(--orama-text)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-fiable .zz-fi-prog .bar i{transform:none;transition-delay:.15s}
.zz-fx-fiable .zz-fi-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.zz-fx-fiable .zz-fi-tiles .t{min-width:0;padding:10px 12px;border-radius:12px;background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);
  opacity:0;transform:translateY(6px);transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease)}
.zz-fx-fiable .zz-fi-tiles .t.po .val{color:#9CCB9E}
.zz-fx-fiable .zz-fi-tiles .t.ne .val{color:#F08AA8}
.zz-fx-fiable .zz-fi-tiles .t.nt{background:rgb(84 134 255 / .08);border-color:rgb(124 162 255 / .4)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-fiable .zz-fi-tiles .t{opacity:1;transform:none;transition-delay:calc(.9s + var(--i) * .15s)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-fiable .zz-chip.d1{transition-delay:1.5s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-fiable .zz-chip.d2{transition-delay:1.8s}

/* ==========================================================================
   13) zz-fx-plantilla · la plantilla 13 semanas (a mano) frente a Orama (se rellena sola)
   ========================================================================== */
.zz-fx-plantilla .zz-pl-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.zz-fx-plantilla .zz-pl-card{display:flex;flex-direction:column;gap:9px;min-width:0;padding:12px;border-radius:12px;background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft)}
.zz-fx-plantilla .zz-pl-card.or{background:rgb(84 134 255 / .06);border-color:rgb(124 162 255 / .35)}
.zz-fx-plantilla .zz-pl-hd{display:flex;align-items:center;gap:8px;min-width:0;color:var(--orama-text);font-weight:600}
.zz-fx-plantilla .zz-pl-hd .nm{flex:1}
.zz-fx-plantilla .zz-pl-hd .ico{flex:none;width:30px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:.58rem;font-weight:800;letter-spacing:.02em;color:#9CCB9E;background:rgb(119 163 121 / .18)}
.zz-fx-plantilla .zz-pl-card.or .ico{color:#fff;background:var(--orama-brand)}
/* rejilla 13 semanas × 3 filas: la máscara dibuja las columnas */
.zz-fx-plantilla .zz-pl-grid{position:relative;height:38px;background:repeating-linear-gradient(180deg,rgb(255 255 255 / .07) 0 10px,transparent 10px 14px);
  -webkit-mask:repeating-linear-gradient(90deg,#000 0 calc(100% / 13 - 2px),transparent calc(100% / 13 - 2px) calc(100% / 13));
  mask:repeating-linear-gradient(90deg,#000 0 calc(100% / 13 - 2px),transparent calc(100% / 13 - 2px) calc(100% / 13))}
.zz-fx-plantilla .zz-pl-grid i{position:absolute;inset:0;clip-path:inset(0 100% 0 0);transition:clip-path 1.3s steps(13,end)}
.zz-fx-plantilla .zz-pl-card.xl .zz-pl-grid i{background:repeating-linear-gradient(180deg,rgb(151 166 194 / .45) 0 10px,transparent 10px 14px);clip-path:inset(0 calc(100% - 100% * 3 / 13) 0 0)}
.zz-fx-plantilla .zz-pl-card.or .zz-pl-grid i{background:repeating-linear-gradient(180deg,rgb(124 162 255 / .75) 0 10px,transparent 10px 14px)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-plantilla .zz-pl-card.or .zz-pl-grid i{clip-path:inset(0 0 0 0);transition-delay:.3s}
.zz-fx-plantilla .zz-pl-cur{position:absolute;top:0;left:calc(100% * 3 / 13 + 1px);width:2px;height:10px;background:var(--orama-text);opacity:0}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-plantilla .zz-pl-cur{animation:zz-pl-blink 1s step-end .2s infinite}
@keyframes zz-pl-blink{0%,100%{opacity:1}50%{opacity:0}}
.zz-fx-plantilla .zz-pl-ft{display:flex;align-items:center;gap:6px;min-width:0;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zz-fx-plantilla .zz-pl-ft .ck{flex:none;width:16px;height:16px;border-radius:5px;display:grid;place-items:center;font-size:.6rem;font-weight:800;color:transparent;border:1.5px solid var(--orama-line);transition:all .35s ease}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-plantilla .zz-pl-card.or .zz-pl-ft .ck{background:var(--orama-good);border-color:var(--orama-good);color:#fff;transition-delay:1.6s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-plantilla .zz-chip.d1{transition-delay:1.7s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-plantilla .zz-chip.d2{transition-delay:2s}

/* ==========================================================================
   14) zz-fx-carril · la misma desviación: un equipo la ve al cierre, otro la anticipa
   ========================================================================== */
.zz-fx-carril .zz-ca-lanes{display:flex;flex-direction:column;gap:14px}
.zz-fx-carril .zz-ca-lane{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;row-gap:8px;column-gap:10px}
.zz-fx-carril .zz-ca-lane .nm{color:var(--orama-text)}
.zz-fx-carril .zz-ca-lane .tag{font-size:.72rem;font-weight:700;padding:2px 9px;border-radius:99px;white-space:nowrap;opacity:0;transition:opacity .35s ease}
.zz-fx-carril .re .tag{background:rgb(224 82 126 / .18);color:#F08AA8}
.zz-fx-carril .an .tag{background:rgb(119 163 121 / .2);color:#9CCB9E}
.zz-fx-carril .zz-ca-lane .trk{grid-column:1 / -1;position:relative;height:8px;margin:0 7px;border-radius:99px;background:rgb(255 255 255 / .05)}
.zz-fx-carril .trk i{position:absolute;left:0;top:0;bottom:0;width:var(--x);border-radius:99px;transform:scaleX(0);transform-origin:left}
.zz-fx-carril .re .trk i{background:linear-gradient(90deg,rgb(224 82 126 / .2),#F08AA8);transition:transform 1.4s var(--orama-ease)}
.zz-fx-carril .an .trk i{background:linear-gradient(90deg,rgb(119 163 121 / .25),#9CCB9E);transition:transform .5s var(--orama-ease)}
.zz-fx-carril .trk b{position:absolute;top:50%;left:var(--x);width:14px;height:14px;margin:-7px 0 0 -7px;box-sizing:border-box;border-radius:50%;background:var(--orama-surface);border:2px solid #F08AA8;opacity:0;transition:opacity .3s ease}
.zz-fx-carril .an .trk b{border-color:#9CCB9E}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-carril .trk i{transform:none;transition-delay:.25s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-carril .an .trk b,:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-carril .an .tag{opacity:1;transition-delay:.75s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-carril .re .trk b,:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-carril .re .tag{opacity:1;transition-delay:1.65s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-carril .an .trk b{animation:zz-ca-ping 1.6s ease-out 1s infinite}
@keyframes zz-ca-ping{0%{box-shadow:0 0 0 0 rgb(156 203 158 / .6)}100%{box-shadow:0 0 0 9px rgb(156 203 158 / 0)}}
.zz-fx-carril .zz-ca-ax{display:flex;justify-content:space-between;margin:8px 7px 0;font-size:.62rem;color:var(--orama-faint)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-carril .zz-chip.d1{transition-delay:1.9s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-carril .zz-chip.d2{transition-delay:2.2s}

/* ==========================================================================
   15) zz-fx-recalcula · entran movimientos reales y el rolling forecast se recalcula solo
   ========================================================================== */
.zz-fx-recalcula .zz-rc-list{display:flex;flex-direction:column;gap:6px}
.zz-fx-recalcula .row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:rgb(255 255 255 / .03);border:1px solid var(--orama-line-soft);
  opacity:0;transform:translateY(-5px);transition:opacity .4s var(--orama-ease),transform .4s var(--orama-ease)}
.zz-fx-recalcula .row .nm{color:var(--orama-text)}
.zz-fx-recalcula .mk{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:.72rem;font-weight:800}
.zz-fx-recalcula .mk.p{background:rgb(119 163 121 / .2);color:#9CCB9E}
.zz-fx-recalcula .mk.m{background:rgb(224 82 126 / .18);color:#F08AA8}
.zz-fx-recalcula .mk.s{background:rgb(84 134 255 / .2);color:var(--orama-brand-bright)}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-recalcula .row{opacity:1;transform:none;transition-delay:calc(.15s + var(--i) * .25s)}
.zz-fx-recalcula .zz-rc-out{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px;padding:11px 13px;border-radius:12px;background:rgb(84 134 255 / .08);border:1px solid rgb(124 162 255 / .35)}
.zz-fx-recalcula .zz-rc-out .val{display:grid;justify-items:start}
.zz-fx-recalcula .zz-rc-out .val span{grid-area:1/1;transition:opacity .35s ease}
.zz-fx-recalcula .zz-rc-out .val .a{color:var(--orama-faint);text-decoration:line-through}
.zz-fx-recalcula .zz-rc-out .val .b{opacity:0}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-recalcula .zz-rc-out .val .a{opacity:0;transition-delay:1.1s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-recalcula .zz-rc-out .val .b{opacity:1;transition-delay:1.1s}
.zz-fx-recalcula .zz-rc-btn{font-size:.74rem;font-weight:700;padding:5px 12px;border-radius:8px;border:1px solid var(--orama-line);color:var(--orama-muted);white-space:nowrap;transition:background .3s ease,color .3s ease,border-color .3s ease}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-recalcula .zz-rc-btn{background:var(--orama-brand);border-color:var(--orama-brand);color:#fff;transition-delay:1.5s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-recalcula .zz-chip.d1{transition-delay:1.7s}
:is(.orama-seq .panel:hover,.orama-seq__item.in .panel) .zz-fx-recalcula .zz-chip.d2{transition-delay:2s}

/* Tableta / escritorio estrecho (641–1100 px): las tarjetas pasan al flujo, debajo del contenido */
@media (min-width:641px) and (max-width:1100px){
  .zz-ld{padding-bottom:0;display:flex;flex-direction:column}
  .zz-ld .zz-chip{position:relative;inset:auto!important;margin-top:10px;align-self:flex-start;white-space:normal}
  .zz-fx-hoymanana .zz-hm-grid{grid-template-columns:minmax(0,1fr)}
  .zz-fx-hoymanana .zz-hm-fc{margin-top:4px}
  /* panel estrecho: la respuesta de Orama y el detalle del abono pasan a una segunda línea */
  .zz-fx-retos .row{grid-template-columns:20px minmax(0,1fr);row-gap:5px}
  .zz-fx-retos .row .nm{white-space:normal}
  .zz-fx-retos .tag{grid-column:2;justify-self:start}
  .zz-fx-abonos .row{grid-template-columns:auto minmax(0,1fr);row-gap:6px}
  .zz-fx-abonos .zz-ab-st{grid-column:1 / -1;grid-row:2}
}

/* Móvil (≤ 640 px): las tarjetas pasan al flujo, debajo del contenido, sin solaparse */
@media (max-width:640px){
  .zz-ld{padding-bottom:0;display:flex;flex-direction:column}
  .zz-ld .zz-chip{position:relative;inset:auto!important;margin-top:10px;align-self:flex-start;font-size:.76rem;white-space:normal}
  .zz-ld .row{font-size:.78rem}
  .zz-ld .zz-lb-head{flex-wrap:wrap}
  .zz-fx-retos .row{grid-template-columns:20px minmax(0,1fr);row-gap:5px;padding:8px 10px}
  .zz-fx-retos .row .nm{white-space:normal}
  .zz-fx-retos .tag{grid-column:2;justify-self:start}
  .zz-fx-cliente .zz-cl-tabs .t{font-size:.68rem;padding:6px 2px}
  .zz-fx-cliente .zz-cl-pane{gap:12px;padding:10px}
  .zz-fx-abonos .row{grid-template-columns:auto minmax(0,1fr);row-gap:6px;padding:8px 10px}
  .zz-fx-abonos .zz-ab-st{grid-column:1 / -1;grid-row:2}
  .zz-fx-cuadre .row{padding:7px 10px}
  .zz-fx-tpv .zz-tp-h,.zz-fx-tpv .row{grid-template-columns:minmax(0,1fr) 4.6em 6.6em;gap:8px;padding:7px 10px}
  .zz-fx-tpv .zz-tp-h>:nth-child(2),.zz-fx-tpv .row>:nth-child(2){display:none}
  .zz-fx-tpv .zz-tp-h{font-size:.6rem}
  .zz-fx-mapa .zz-mp-grid{grid-template-columns:minmax(0,6.4em) repeat(6,minmax(0,1fr))}
  .zz-fx-mapa .zz-mp-grid .nm{font-size:.72rem}
  .zz-fx-ciclo .row{grid-template-columns:minmax(0,1fr) auto;row-gap:5px}
  .zz-fx-ciclo .row .trk{grid-column:1 / -1;grid-row:2}
  .zz-fx-ciclo .zz-cy-ax{grid-template-columns:minmax(0,1fr)}
  .zz-fx-ciclo .zz-cy-ax>span:not(.sc){display:none}
  .zz-fx-desfase .zz-df-chart,.zz-fx-desfase .zz-df-wk{gap:3px}
  .zz-fx-desfase .zz-df-wk{font-size:.52rem}
  .zz-fx-meses .zz-me-chart,.zz-fx-meses .zz-me-m{gap:3px}
  .zz-fx-meses .zz-me-m{font-size:.52rem}
  .zz-fx-hoymanana .zz-hm-grid{grid-template-columns:minmax(0,1fr)}
  .zz-fx-hoymanana .zz-hm-fc{margin-top:4px}
  .zz-fx-fiable .zz-fi-tiles{gap:6px}
  .zz-fx-fiable .zz-fi-tiles .t{padding:8px}
  .zz-fx-fiable .zz-fi-tiles .val{font-size:.95rem}
  .zz-fx-plantilla .zz-pl-cards{grid-template-columns:minmax(0,1fr)}
  .zz-fx-recalcula .zz-rc-out{grid-template-columns:minmax(0,1fr)}
  .zz-fx-recalcula .zz-rc-btn{justify-self:start}
}

/* Accesibilidad: sin movimiento si el usuario lo pide; se muestra el estado final */
@media (prefers-reduced-motion:reduce){
  .zz-ld :is(*,*::before,*::after){animation:none!important;transition:none!important}
  .zz-ld .zz-chip{opacity:1;transform:none}
  .zz-fx-retos .row{background:rgb(119 163 121 / .06);border-color:rgb(119 163 121 / .28)}
  .zz-fx-retos .mk{background:var(--orama-good);color:#fff}
  .zz-fx-retos .mk .n{opacity:0}
  .zz-fx-retos .mk .y,.zz-fx-retos .tag{opacity:1;transform:none}
  .zz-fx-cliente .zz-cl-ind{transform:translateX(100%)}
  .zz-fx-cliente .zz-cl-tabs .t1{color:var(--orama-muted)}
  .zz-fx-cliente .zz-cl-tabs .t2{color:var(--orama-text)}
  .zz-fx-cliente .zz-cl-pane.p1{opacity:0}
  .zz-fx-cliente .zz-cl-pane.p2,.zz-fx-cliente .zz-cl-foot{opacity:1;transform:none}
  .zz-fx-cliente .zz-cl-bars i{transform:none;opacity:1}
  .zz-fx-grupo .zz-gr-seg .on{background:rgb(84 134 255 / .22);color:var(--orama-text)}
  .zz-fx-grupo .zz-gr-bar i,.zz-fx-grupo .row{opacity:1;transform:none}
  .zz-fx-grupo .row.is-open{background:rgb(84 134 255 / .1);border-color:rgb(124 162 255 / .4)}
  .zz-fx-grupo .zz-gr-sub{max-height:30px;opacity:1;padding-top:4px;padding-bottom:4px}
  .zz-fx-abonos .zz-ab-st .q{opacity:0}
  .zz-fx-abonos .zz-ab-st .tag{opacity:1}
  .zz-fx-cuadre .row,.zz-fx-tpv .row{opacity:1;transform:none}
  .zz-fx-cuadre .zz-cq-diff{background:rgb(119 163 121 / .1);border-color:rgb(119 163 121 / .4)}
  .zz-fx-cuadre .zz-cq-v .a{opacity:0}
  .zz-fx-cuadre .zz-cq-v .b{opacity:1}
  .zz-fx-tpv .row .ck{background:var(--orama-good);border-color:var(--orama-good);color:#fff}
  .zz-fx-mapa .zz-mp-grid i{opacity:1;transform:none}
  .zz-fx-ciclo .row .trk i{transform:none}
  .zz-fx-desfase .zz-df-chart i,.zz-fx-meses .zz-me-chart .stk{transform:none;opacity:1}
  .zz-fx-meses .zz-me-ref{opacity:.9}
  .zz-fx-meses .zz-me-chart .col.low{background:rgb(224 82 126 / .07)}
  .zz-fx-hoymanana .row,.zz-fx-hoymanana .zz-hm-fc i{opacity:1;transform:none}
  .zz-fx-hoymanana .row .tr i{transform:none}
  .zz-fx-fiable .zz-fi-prog .bar i{transform:none}
  .zz-fx-fiable .zz-fi-tiles .t{opacity:1;transform:none}
  .zz-fx-plantilla .zz-pl-card.or .zz-pl-grid i{clip-path:inset(0 0 0 0)}
  .zz-fx-plantilla .zz-pl-card.or .zz-pl-ft .ck{background:var(--orama-good);border-color:var(--orama-good);color:#fff}
  .zz-fx-carril .trk i{transform:none}
  .zz-fx-carril .trk b,.zz-fx-carril .tag{opacity:1}
  .zz-fx-recalcula .row{opacity:1;transform:none}
  .zz-fx-recalcula .zz-rc-out .val .a{opacity:0}
  .zz-fx-recalcula .zz-rc-out .val .b{opacity:1}
  .zz-fx-recalcula .zz-rc-btn{background:var(--orama-brand);border-color:var(--orama-brand);color:#fff}
}

/* Ajuste final (13/10): en tableta (641–1100 px) las tarjetas del panel de IA pasan al flujo y el texto de salida de pasarelas puede partirse */
@media (min-width:641px) and (max-width:1100px){
  .zz-fx-iaprev{padding-bottom:0;display:flex;flex-direction:column}
  .zz-fx-iaprev .zz-chip{position:relative;inset:auto!important;margin-top:10px;align-self:flex-start;white-space:normal}
  .zz-fx-pasarelas .zz-pg-out{white-space:normal;font-size:.76rem;padding:6px 9px;min-width:0}
}

/* Sellos de los agregadores bancarios (auditoría oct-2026, 07-textos-A) */
.zz-sellos{display:flex;align-items:center;justify-content:center;padding:24px}
.zz-sellos img{display:block;width:100%;max-width:560px;height:auto;border-radius:12px}

/* Actualización 2 de la auditoría: la tarjeta flotante del héroe tapaba la etiqueta a 1200 px, y en IA la fila «Ventas · Cliente Norte» */
@media (min-width:641px){.orama-rev .orama-seq.hero-mock .app-pad > :first-child:not(.zz-chip){padding-top:44px}
  .orama-rev .orama-seq.hero-mock .app-pad{padding-bottom:56px}} /* y la de abajo tapaba los ejes (Banco B/C, S6…S13, días) */
.orama-rev .zz-fx-iacat .zz-lb-head{min-height:40px}

/* ===== Actualización 5 (14-10-2026): logos de bancos, ERPs y pasarelas + newsletter del pie ===== */
/* Fila de bancos: cuadrícula de recuadros con borde fino. Clase extra --grid: .orama-logos ya es la tira de clientes (brand.css) */
.orama-logos--grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;max-width:1180px;margin:0 auto}
.orama-logos--grid .orama-logos__item{height:72px;display:flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(255,255,255,.02)}
.orama-logos--grid .orama-logos__item img{height:24px;width:auto;max-width:140px;display:block}
.orama-logos--grid .orama-logos__item img[alt="Kutxabank"]{height:38px}
.orama-logos--grid .orama-logos__item img[alt="Unicaja"]{height:30px}
.orama-logos--grid .orama-logos__item img[alt="Cajamar"]{height:28px}
.orama-logos--grid .orama-logos__item img[alt="ING"]{height:26px}
.orama-logos--grid .orama-logos__item img[alt="BBVA"],.orama-logos--grid .orama-logos__item img[alt="Sabadell"],.orama-logos--grid .orama-logos__item img[alt="BNP Paribas"]{height:22px}
.orama-logos--grid .orama-logos__item img[alt="Targobank"]{height:18px}
.orama-logos--grid .orama-logos__more{grid-column:1/-1;justify-self:center}
/* la tira de clientes (.orama-logos img) los pasa a gris con filtro y opacidad: aquí ya vienen en gris #8E8E8E */
.orama-logos--grid img,.orama-logos--grid:not(.is-static) img:hover{filter:none;opacity:1}
/* «y el resto…» conserva el estilo de pastilla de .lp-banks */
.orama-logos--grid .orama-logos__more{background:rgba(255,255,255,.04);border:1px solid var(--orama-line);border-radius:8px;padding:8px 14px;font-size:.9rem;color:var(--orama-muted)}
@media (max-width:1024px){.orama-logos--grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:640px){.orama-logos--grid{grid-template-columns:repeat(2,1fr);gap:10px}.orama-logos--grid .orama-logos__item{height:60px}.orama-logos--grid .orama-logos__item img{height:20px;max-width:120px}}

/* Tarjetas de ERPs: logo centrado, sin título visible */
.orama-card--erp{text-align:center}
.orama-card--erp .orama-card__title{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.orama-card--erp .orama-card__logo{height:64px;margin:4px 0 14px;display:flex;align-items:center;justify-content:center}
.orama-card--erp .orama-card__logo img{height:34px;width:auto;max-width:min(280px,100%);object-fit:contain}
.orama-card--erp .orama-card__logo img[alt="Sage 50"],.orama-card--erp .orama-card__logo img[alt="Sage 200"],.orama-card--erp .orama-card__logo img[alt="Sage Despachos"]{height:36px}
.orama-card--erp .orama-card__logo img[alt="Holded"],.orama-card--erp .orama-card__logo img[alt="SiS"]{height:40px}
.orama-card--erp .orama-card__logo img[alt="Microsoft Dynamics 365 Business Central"]{height:42px}
.orama-card--erp .orama-card__logo img[alt="Carrefour"]{height:46px}
.orama-card--erp .orama-card__text{line-height:1.6em;min-height:3.2em}

/* Logos dentro de paneles */
.orama-brand,.elementor img.orama-brand,.orama-seq .panel img.orama-brand{height:16px;width:auto;max-width:90px;vertical-align:middle;display:inline-block;border-radius:0}

/* Newsletter del pie */
.orama-ftr .news-legal{margin:8px 0 0;font-size:13px;line-height:1.45;color:#97A6C2}
.orama-ftr .news-legal a{color:inherit;text-decoration:underline}
.news-msg{margin:8px 0 0;font-size:15px;color:#7CA2FF;font-weight:600}
/* Fila de logos bajo el título de una ficha del zigzag (pasarelas de /integraciones/) */
.orama-zz__item .copy .orama-logos--grid{grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 16px}
.orama-zz__item .copy .orama-logos--grid .orama-logos__item{height:56px}
@media (max-width:640px){.orama-zz__item .copy .orama-logos--grid{grid-template-columns:repeat(2,1fr)}}
/* logos dentro de pastillas estrechas (héroe de la portada) y de las opciones de banco: se reducen sin salirse */
.zz-lc-pill img.orama-brand,.elementor .zz-lc-pill img.orama-brand{height:auto;max-height:16px;max-width:100%}
.zz-bk-bank img.orama-brand,.elementor .zz-bk-bank img.orama-brand{height:auto;max-height:16px;max-width:calc(100% - 22px)}
/* a 1200 px tres textos (Holded, a3innuva, Business Central) ocupan 3 líneas: se reserva el hueco para que las 9 tarjetas midan igual */
@media (min-width:1025px){.orama-card--erp .orama-card__text{min-height:4.8em}}

/* ==========================================================================
   Héroe (19/10/2026): el panel de la tarjeta principal se anima solo una vez
   (assets/orama-hero-anim.js le añade .orama-seq__item.in) y se queda en su
   estado final: las animaciones en bucle se reproducen una sola vez.
   ========================================================================== */
.orama-seq.hero-mock .app-pad *,.orama-seq.hero-mock .app-pad *::before,.orama-seq.hero-mock .app-pad *::after{animation-iteration-count:1!important;animation-fill-mode:forwards!important}
/* Rolling forecast: termina en el último mes en lugar de volver al primero */
@keyframes zz-rl-ind-fin{0%,30%{transform:none}36%,63%{transform:translateX(100%)}69%,100%{transform:translateX(200%)}}
@keyframes zz-rl-pane-fin{0%,30%{opacity:1}35%,100%{opacity:0}}
.orama-seq.hero-mock .zz-fx-rolling .zz-rl-ind{animation-name:zz-rl-ind-fin!important}
.orama-seq.hero-mock .zz-fx-rolling .zz-rl-pane{animation-name:zz-rl-pane-fin!important}


/* orama-stripe (19/10/2026): pastillas iguales en el panel del hero de la home (Santander, CaixaBank, Stripe), logos ajustados por altura */
.zz-fx-hoymanana .zz-hm-banks .zz-lc-pill{box-sizing:border-box;width:82px;height:22px;padding:0 8px;justify-content:center}
.zz-fx-hoymanana .zz-hm-banks .zz-lc-pill img.orama-brand,.elementor .zz-fx-hoymanana .zz-hm-banks .zz-lc-pill img.orama-brand{width:auto;max-width:100%;max-height:none}
.zz-fx-hoymanana .zz-hm-banks img[alt="Santander"]{height:11px}
.zz-fx-hoymanana .zz-hm-banks img[alt="CaixaBank"]{height:13px}
.zz-fx-hoymanana .zz-hm-banks img[alt="Stripe"]{height:14px}
