/* =============================================================
   ROCKET REDESIGN v2 — Design system
   Extraido del prototipo entregado por diseno (index.html <style>).
   NO editar a mano sin reflejarlo en el prototipo: es la fuente de
   verdad del rediseno. Paths de assets reescritos a /vendor/assets/redesign/.
   ============================================================= */
/* Plus Jakarta Sans variable (200-800), autohospedada. Dos subconjuntos: el
   latino cubre castellano y portugues; el extendido va por si acaso. */
@font-face{font-family:'Jakarta';font-weight:200 800;font-display:swap;src:url('/vendor/assets/redesign/fonts/jakarta-var.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Jakarta';font-weight:200 800;font-display:swap;src:url('/vendor/assets/redesign/fonts/jakarta-var-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
  --negro:#14151A;--negro-2:#0C111D;--lima:#E0FC09;--lima-2:#C9E204;--azul:#4800FF;--azul-2:#3402B1;--magenta:#FF63D8;
  /* Una sola familia. `--mono` se conserva porque lo usan las etiquetas en
     versalitas de todo el panel: cambia la familia, no el papel. */
  --font:'Jakarta',system-ui,-apple-system,'Segoe UI',sans-serif;--mono:var(--font);
  --bg:#EAE9E3;--panel:#FFFFFF;--ink:#14151A;--ink-2:#5A5B66;--ink-3:#9B9CA8;--line:#E6E6E2;--chip:#EFEEEA;
  --side:#1D2043;--side-ink:#EDEEF4;--side-ink-2:#9BA0BE;--side-hover:rgba(255,255,255,.06);
  --card-sh:0 1px 2px rgba(20,20,26,.05),0 5px 14px -6px rgba(20,20,26,.10),0 20px 46px -20px rgba(20,20,26,.20);
  --pos:#0FA05F;--pos-viv:#34C759;--neg:#E05753;--neg-2:#C13934;--info:#3E9BFF;--violet:#7E23F9;--warn:#DE781E;--warn-soft:#FCA254;--rosa:#FF63D8;--lav:#ECE8FC;
  /* VIOLETA NOIR — acento adaptable: violeta #4800FF de día, índigo luminoso #9FA2FF de noche */
  --accent:#4800FF;--accent-soft:rgba(72,0,255,.09);
  /* SISTEMA — tipografía (XL dramático) */
  --fs-display:3.5rem;--fs-kpi:1.55rem;--fs-h1:1.3rem;--fs-h2:1.08rem;--fs-body:.9rem;--fs-small:.84rem;--fs-data:.8rem;--fs-cap:.62rem;
  /* SISTEMA — espaciado base 8 (aireado premium) */
  --sp-1:8px;--sp-2:12px;--sp-3:16px;--sp-4:24px;--sp-5:32px;
  /* SISTEMA — radios (redondeado suave) */
  --r-card:18px;--r-ctrl:12px;--r-chip:10px;--r-pill:999px;
  /* SISTEMA — elevación y glow */
  --sh-hover:0 4px 10px rgba(20,20,26,.06),0 16px 34px -14px rgba(20,20,26,.16);
  --sh-pop:0 10px 18px -4px rgba(20,20,26,.12),0 26px 52px -14px rgba(20,20,26,.24);
  --sh-modal:0 28px 70px -14px rgba(20,20,26,.35);
  --glow-accent:0 8px 18px -8px rgba(72,0,255,.55);
  --glow-lima:0 0 22px rgba(224,252,9,.35);
  --hot:var(--azul); /* momento estrella: violeta de día, lima de noche */
  /* SISTEMA — movimiento (viva pero elegante) */
  --t-fast:.15s ease;--t-med:.25s cubic-bezier(.4,0,.2,1);--t-in:.45s cubic-bezier(.19,1,.22,1);
}
:root[data-theme="dark"]{--bg:#0B0B10;--panel:#17181F;--ink:#F6F6F9;--ink-2:#CFD2E0;--ink-3:#9DA1B9;--line:#363744;--chip:#20212B;--side:#0E0E14;--card-sh:0 1px 2px rgba(0,0,0,.4),0 8px 30px -10px rgba(0,0,0,.5);--accent:#9FA2FF;--accent-soft:rgba(159,162,255,.16);--hot:#E0FC09;--sh-hover:0 4px 10px rgba(0,0,0,.4),0 16px 38px -14px rgba(0,0,0,.55);--sh-pop:0 10px 18px -4px rgba(0,0,0,.5),0 28px 56px -14px rgba(0,0,0,.6);--sh-modal:0 28px 74px -14px rgba(0,0,0,.7)}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased}
body{font-family:var(--font);background:radial-gradient(1200px 640px at 82% -10%,var(--accent-soft),transparent 55%),radial-gradient(1000px 540px at -8% -6%,rgba(224,252,9,.10),transparent 52%),var(--bg);background-attachment:fixed;color:var(--ink);transition:color .3s;overflow-x:hidden}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--ink-3);background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-corner{background:transparent}
a{color:inherit;text-decoration:none}.mono{font-family:var(--mono)}.mut{color:var(--ink-3)}
.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}

/* SIDEBAR */
.side{background:var(--side);color:var(--side-ink);padding:18px 14px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto;box-shadow:inset -1px 0 0 rgba(255,255,255,.05)}
.side::after{display:none}
.side>*{flex-shrink:0}
.side::-webkit-scrollbar{width:0}
.side-logo{display:flex;align-items:center;padding:10px 8px 24px;transition:opacity .15s}.side-logo img{height:60px}.side-logo:hover{opacity:.8}
.nav-i,.sub-i{display:flex;align-items:center;gap:12px;padding:10px 13px;border-radius:12px;font-weight:500;font-size:.9rem;letter-spacing:-.005em;color:var(--side-ink-2);cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease;position:relative;z-index:1}
.nav-i svg{width:18px;height:18px;flex-shrink:0;transition:color .18s,transform .18s}
.nav-i span:not(.badge){flex:1}
.nav-i .badge,.sub-i .badge{flex:0 0 auto}
.nav-i:hover,.sub-i:hover{background:rgba(255,255,255,.07);color:var(--side-ink)}
.nav-i.on{background:var(--azul);color:var(--lima);font-weight:600;box-shadow:0 8px 18px -8px rgba(72,0,255,.55)}
.nav-i.on svg{color:var(--lima)}
.nav-i.on::before{content:'';position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:3px;height:22px;background:var(--lima);border-radius:0 3px 3px 0}
.nav-i .badge,.sub-i .badge{background:var(--lima);color:var(--negro);font-family:var(--mono);font-weight:600;font-size:.68rem;padding:1px 8px;border-radius:20px}
.nav-i.on .badge{background:#fff;color:var(--azul)}
.nav-i .chev{width:14px;height:14px;transition:transform .2s;opacity:.6}
.nav-i.grp.open .chev{transform:rotate(180deg)}
.submenu{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1);position:relative;margin:2px 0 4px}
.submenu.open{max-height:520px}
.submenu .sub-i{opacity:0;transform:translateX(-10px);transition:opacity .2s ease,transform .24s cubic-bezier(.19,1,.22,1)}
.submenu.open .sub-i{opacity:1;transform:none}
.submenu.open .sub-i:nth-child(1){transition-delay:.04s}
.submenu.open .sub-i:nth-child(2){transition-delay:.08s}
.submenu.open .sub-i:nth-child(3){transition-delay:.12s}
.submenu.open .sub-i:nth-child(4){transition-delay:.16s}
.submenu.open .sub-i:nth-child(5){transition-delay:.2s}
.submenu.open .sub-i:nth-child(6){transition-delay:.24s}
.submenu::before{content:'';position:absolute;left:25px;top:2px;bottom:6px;width:2px;background:rgba(255,255,255,.12);border-radius:2px}
.nav-i.grp.open{color:var(--side-ink)}
.sub-i{font-size:.85rem;padding:9px 13px 9px 40px;font-weight:500;color:var(--side-ink-2)}
.sub-i::before{content:'';position:absolute;left:25px;top:6px;bottom:6px;width:2px;background:transparent;border-radius:2px;transition:background .16s;z-index:1}
.sub-i:hover{color:var(--side-ink)}
.sub-i.on{color:var(--lima);font-weight:600}
.sub-i.on::before{background:var(--lima)}
.nav-sec{font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--side-ink-2);opacity:.5;padding:18px 14px 7px}
.side-grow{background:linear-gradient(150deg,#1c1626,#0e0b14);border:1px solid rgba(224,252,9,.18);border-radius:15px;padding:15px;margin-top:12px}
.side-grow h4{font-size:.88rem;margin-bottom:3px}.side-grow p{font-size:.74rem;color:var(--side-ink-2);line-height:1.4;margin-bottom:11px}
.side-grow .lvlbar{height:6px;background:rgba(255,255,255,.08);border-radius:4px;overflow:hidden;margin-bottom:11px}
.side-grow .lvlbar i{display:block;height:100%;background:var(--lima);border-radius:4px}
.side-grow .gbtn{display:block;text-align:center;background:var(--lima);color:var(--negro);font-weight:800;font-size:.8rem;padding:9px;border-radius:9px;text-transform:uppercase}
.side-foot{margin-top:auto;padding-top:14px;display:flex;align-items:center;gap:12px;color:var(--side-ink-2);font-weight:600;font-size:.88rem;padding-left:13px}
.side-foot svg{width:18px;height:18px}
.side-copy{margin-top:auto;padding:18px 13px 6px;font-size:.75rem;color:var(--side-ink-2);opacity:.6}

/* MAIN + TOP */
.main{padding:24px 32px 60px;min-width:0;overflow-x:clip}
.top{display:flex;align-items:center;gap:20px;flex-wrap:wrap;position:sticky;top:0;z-index:90;background:var(--bg);padding:15px 32px;margin:-24px -32px 20px;border-bottom:1px solid var(--line)}
:root[data-theme="dark"] .top{background:var(--bg)}
.top h1{font-size:1.45rem;font-weight:800;letter-spacing:-.025em;display:flex;align-items:center;gap:9px}
.top .sub{color:var(--ink-2);font-size:.9rem;margin-top:2px}
.pill-count{background:var(--lima);color:var(--negro);font-family:var(--mono);font-size:.85rem;font-weight:700;padding:2px 12px;border-radius:20px}
.top-r{margin-left:auto;display:flex;align-items:center;gap:11px}
.datepick{background:var(--chip);border:none;border-radius:var(--r-pill);height:40px;padding:0 17px;font-weight:600;font-size:.85rem;display:flex;align-items:center;gap:9px;cursor:pointer;white-space:nowrap;font-family:var(--font);color:var(--ink-2)}
.datepick svg{width:18px;height:18px;flex-shrink:0}.datepick .chev{width:14px;height:14px}.datepick #dpLabel{white-space:nowrap}
.iconbtn{width:40px;height:40px;border-radius:50%;background:transparent;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;color:var(--ink-2)}
.iconbtn:hover{background:var(--chip);color:var(--accent)}
.iconbtn:hover{color:var(--ink);box-shadow:0 4px 14px rgba(16,16,16,.1);transform:translateY(-1px)}.iconbtn svg{width:20px;height:20px}
/* grupo segmentado de iconos (premium) */
.icongroup{display:flex;align-items:center;gap:2px}
.icongroup .iconbtn{width:40px;height:40px;border:none;background:transparent;box-shadow:none;border-radius:50%}
.icongroup .iconbtn:hover{background:var(--chip);transform:none;box-shadow:none;color:var(--accent)}

.icongroup>*{position:relative}
.datepick,.iconbtn,.wallet,.profilebtn{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}
.datepick:hover{background:var(--panel);color:var(--ink);box-shadow:var(--sh-hover)}
.profilebtn:hover{background:var(--chip)}
.tsep{width:1px;height:26px;background:rgba(20,21,26,.16);flex-shrink:0}
:root[data-theme="dark"] .tsep{background:var(--line)}
.wallet:hover{transform:translateY(-1px)}
.iconbtn .dot{position:absolute;top:-5px;right:-5px;background:var(--lima);color:var(--negro);font-family:var(--mono);font-size:.58rem;font-weight:700;padding:1px 5px;border-radius:20px;border:2px solid var(--bg)}

.modal.sm{max-width:460px}
.cf-row{display:flex;gap:15px;align-items:flex-start}
.cf-ic{width:44px;height:44px;border-radius:13px;background:rgba(224,87,83,.1);color:var(--neg);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cf-ic svg{width:20px;height:20px}
.cf-row p{font-size:.92rem;line-height:1.6;padding-top:2px}
/* ---------- DESPLEGABLES ---------- */
.dd{position:relative}
.dd .chev{transition:transform .2s;opacity:.6}
.dd.open .chev{transform:rotate(180deg)}
.datepick .chev,.profilebtn .chev{width:14px;height:14px}
.profilebtn{display:flex;align-items:center;gap:9px;height:44px;background:transparent;border:none;border-radius:var(--r-pill);padding:0 10px 0 4px;cursor:pointer;font-family:var(--font);color:var(--ink)}
.profilebtn .avatar{width:34px;height:34px;font-size:.85rem}
.profilebtn .pname{font-weight:700;font-size:.9rem}
.profilebtn:hover,.dd.open .profilebtn,.dd.open .datepick,.dd.open .iconbtn{border-color:var(--accent)}
.datepick .chev{margin-left:2px}
.dd-menu{position:absolute;top:calc(100% + 12px);right:0;min-width:236px;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px -16px rgba(16,16,16,.34),0 6px 16px rgba(16,16,16,.07),inset 0 1px 0 rgba(255,255,255,.7);padding:9px;opacity:0;visibility:hidden;transform:translateY(-10px) scale(.96);transform-origin:top right;transition:opacity .2s cubic-bezier(.19,1,.22,1),transform .2s cubic-bezier(.19,1,.22,1),visibility .2s;z-index:200}
.dd-menu::before{content:'';position:absolute;top:-6px;right:20px;width:12px;height:12px;background:var(--panel);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
:root[data-theme="dark"] .dd-menu{box-shadow:0 26px 66px -14px rgba(0,0,0,.7),0 4px 14px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06)}
.dd .datepick+.dd-menu::before{right:auto;left:24px}
.dd.open .dd-menu{opacity:1;visibility:visible;transform:none}
.dd-menu.right{right:0}.dd .datepick+.dd-menu{left:0;right:auto}
/* menús de icono (campana/ayuda): flecha exactamente centrada bajo el icono */
.icongroup .dd>.dd-menu{right:calc(50% - 26px)}
.dd-t{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600;padding:8px 12px 4px}
.dd-i{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;font-weight:600;font-size:.88rem;cursor:pointer;color:var(--ink)}
.dd-i svg{width:17px;height:17px;color:var(--ink-3)}
.dd-i:hover{background:var(--bg)}.dd-i.on{color:var(--accent)}.dd-i.on::after{content:'✓';margin-left:auto;color:var(--accent)}
.dd-i.danger{color:var(--neg)}.dd-i.danger svg{color:var(--neg)}
.dd-sep{height:1px;background:var(--line);margin:6px 4px}
.dd-range{display:flex;align-items:center;gap:8px;padding:4px 8px 8px}
.dd-range input{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:9px 10px;font-family:var(--font);font-size:.82rem;color:var(--ink);min-width:0}
.dd-range input:focus{outline:none;border-color:var(--accent)}.dd-range span{color:var(--ink-3)}
.dd-apply{width:calc(100% - 16px);margin:2px 8px 4px;padding:11px}
.dd-menu.notif{min-width:320px}
.dd-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}
.dd-head b{font-size:.95rem}.dd-link,.dd-foot{color:var(--accent);font-family:var(--mono);font-size:.74rem;font-weight:600;cursor:pointer}
.notif-i{position:relative;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:11px;cursor:pointer}
.notif-i:hover{background:var(--bg)}
.notif-i .ni-dot{position:absolute;right:11px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--accent)}
.notif-i b{padding-right:14px}
.ni-ic{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ni-ic svg{width:17px;height:17px}
.notif-i b{font-size:.86rem;display:block}.notif-i span{font-size:.76rem;color:var(--ink-3)}
.dd-foot{display:block;text-align:center;padding:11px;margin-top:4px;border-top:1px solid var(--line)}
.dd-prof{display:flex;align-items:center;gap:12px;padding:10px 12px}
.avatar.lg{width:44px;height:44px;font-size:1rem}.dd-prof b{font-size:.92rem;display:block}.dd-prof span{font-size:.78rem;color:var(--ink-3)}
.dd-lang{display:flex;gap:6px;padding:4px 8px 8px}.dd-lang span{flex:1;text-align:center;padding:8px 4px;border-radius:9px;font-size:.8rem;font-weight:600;background:var(--bg);cursor:pointer;color:var(--ink-2)}.dd-lang span.on{background:var(--accent);color:#fff}
/* menu de perfil — premium minimal */
.pmenu{width:306px;min-width:306px;padding:0;border-radius:20px;overflow:hidden}
/* Los desplegables que LISTAN cosas se acotan y se desplazan: con diez
   plantillas de texto, «Obtener textos» crecia mas que el propio modal y no
   habia forma de llegar a las ultimas. El menu del perfil y los que traen su
   propio tamano se quedan como estan. */
.dd-menu:not(.pmenu){max-height:min(340px,60vh);overflow-y:auto;overscroll-behavior:contain}
.pm-head{display:flex;align-items:center;gap:13px;padding:20px 20px 16px}
.pm-head .avatar.lg{width:44px;height:44px;font-size:1rem;flex-shrink:0;box-shadow:0 0 0 2px var(--panel),0 0 0 3.5px rgba(224,252,9,.55)}
.pm-id{min-width:0}
.pm-id b{font-size:.95rem;display:flex;align-items:center;letter-spacing:-.01em;line-height:1.3}
.pm-verif{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:var(--lima);color:var(--negro);margin-left:6px;flex-shrink:0}
.pm-verif svg{width:9px;height:9px}
.pm-id>span{font-size:.8rem;color:var(--ink-3);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pm-bal{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pm-bal-l{display:flex;flex-direction:column;gap:5px;min-width:0}
.pm-bal-k{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.57rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.pm-bal-k::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--lima);box-shadow:0 0 0 3px rgba(224,252,9,.2)}
.pm-bal-l>b{font-size:1.28rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.pm-bal-btn{font-family:var(--mono);font-size:.7rem;font-weight:600;color:var(--ink);padding:9px 15px;border-radius:10px;border:1px solid var(--line);transition:.16s;white-space:nowrap}
.pm-bal-btn:hover{background:var(--lima);color:var(--negro);border-color:var(--lima);transform:translateY(-1px)}
.pm-list{padding:8px}
.pm-i{display:flex;align-items:center;gap:13px;padding:10px 12px;border-radius:10px;font-size:.9rem;font-weight:500;color:var(--ink);cursor:pointer;transition:background .14s}
.pm-i svg{width:18px;height:18px;color:var(--ink-3);flex-shrink:0}
.pm-i:hover{background:var(--bg)}.pm-i:hover svg{color:var(--ink)}
.pm-lang{display:flex;gap:5px;padding:10px 4px;margin:0 8px;border-top:1px solid var(--line)}
.pm-lang span{flex:1;text-align:center;padding:7px;border-radius:8px;font-family:var(--mono);font-size:.73rem;font-weight:600;letter-spacing:.05em;color:var(--ink-3);cursor:pointer;transition:.16s}
.pm-lang span:hover{background:var(--bg);color:var(--ink)}
.pm-lang span.on{background:var(--lima);color:var(--negro)}
.pm-logout{margin:0 8px 8px;border-top:1px solid var(--line);border-radius:0;padding:15px 12px 11px;color:var(--neg)}
.pm-logout svg{color:var(--neg)}
.pm-logout:hover{background:rgba(224,87,83,.07)}
.wallet{display:flex;align-items:center;gap:11px;height:44px;background:transparent;border:none;padding:0 4px;cursor:pointer;border-radius:var(--r-ctrl)}
.wallet:hover .wv{color:var(--accent)}
.wallet .chev{opacity:.45;transition:transform var(--t-fast),opacity var(--t-fast)}
.wallet:hover .chev{transform:translateX(3px);opacity:.9}

.wallet .wi{width:40px;height:40px;border-radius:12px;background:var(--lav);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.wallet .wi svg{width:19px;height:19px}
:root[data-theme="dark"] .wallet .wi{background:rgba(159,162,255,.14)}
.wallet .wtxt{display:flex;flex-direction:column;justify-content:center;line-height:1.15}
.wallet .wl{font-family:var(--mono);font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.wallet .wv{font-family:var(--mono);font-weight:800;font-size:1.04rem;letter-spacing:-.02em;color:var(--ink);transition:color var(--t-fast)}
.wadd{width:34px;height:34px;border-radius:50%;border:none;background:var(--lima);color:#111;font-size:1.3rem;font-weight:700;line-height:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--t-fast),box-shadow var(--t-fast);box-shadow:0 4px 12px -4px rgba(224,252,9,.5);flex-shrink:0}
.wadd:hover{transform:scale(1.08);box-shadow:0 6px 16px -4px rgba(224,252,9,.7)}

.avatar{width:40px;height:40px;border-radius:50%;background:var(--negro);display:flex;align-items:center;justify-content:center;color:var(--lima);font-weight:700;font-size:.9rem}
:root[data-theme="dark"] .avatar{background:#2A2E45}
.pagehead{margin-bottom:18px}.pagehead h2{font-size:1.5rem;font-weight:800;letter-spacing:-.01em}.pagehead p{color:var(--ink-2);font-size:.92rem;margin-top:3px}
.rowtop{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:16px;flex-wrap:wrap}

/* CARDS/GRID */
.grid{display:grid;gap:16px}
.kpis{grid-template-columns:repeat(5,1fr);margin-bottom:18px}
.kpis4{grid-template-columns:repeat(4,1fr);margin-bottom:18px}
@media(max-width:1400px){.kpis{grid-template-columns:repeat(3,1fr)}.kpis4{grid-template-columns:repeat(2,1fr)}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--card-sh);transition:transform .25s,box-shadow .25s,border-color .25s}
.kpi{padding:19px}.kpi:hover{transform:translateY(-4px);box-shadow:0 12px 34px rgba(16,16,16,.1)}
.kpi-h{display:flex;align-items:center;gap:11px;margin-bottom:13px}
.kpi-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center}.kpi-ic svg{width:21px;height:21px}
.kpi-t{font-family:var(--mono);font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
.kpi-v{font-size:1.9rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.kpi-d{display:flex;align-items:center;gap:6px;margin-top:8px;font-family:var(--mono);font-size:.74rem;font-weight:600}
.kpi-d .up{color:var(--pos)}.kpi-d .muted{color:var(--ink-3);font-weight:500}.kpi-d .neg2{color:var(--neg)}
.kpi-spark{margin-top:11px;height:36px;width:100%}
.ic-blue{background:rgba(72,0,255,.1);color:var(--accent)}.ic-green{background:rgba(15,160,95,.12);color:var(--pos)}
.ic-cyan{background:rgba(6,140,220,.12);color:var(--info)}.ic-pink{background:rgba(224,99,213,.14);color:var(--magenta)}.ic-violet{background:rgba(126,35,249,.12);color:var(--violet)}
.reveal{opacity:0;transform:translateY(12px);animation:rv .5s cubic-bezier(.19,1,.22,1) forwards}
#estTab .reveal,#pedList .reveal,#catGrid .reveal,#provGrid .reveal,#walList .reveal,#notifList .reveal,#suBody .reveal,#clList .reveal,#prBody .reveal{animation:none;opacity:1;transform:none}
@keyframes rv{to{opacity:1;transform:none}}
/* transición al cambiar de página en cualquier lista paginada */
@keyframes pageFlip{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}
.pg-flip{animation:pageFlip .16s ease-out}
/* tooltip global (burbuja al pasar el ratón por cualquier botón de acción) */
.tipbubble{position:fixed;z-index:9600;background:#14151A;color:#fff;font-family:var(--font);font-size:.76rem;font-weight:600;padding:7px 11px;border-radius:9px;max-width:min(320px,calc(100vw - 24px));white-space:normal;line-height:1.38;text-align:center;pointer-events:none;opacity:0;transform:translateY(3px);transition:opacity .13s ease,transform .13s ease;box-shadow:0 10px 26px -8px rgba(0,0,0,.45)}
.tipbubble.show{opacity:1;transform:none}
.tipbubble::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#14151A}
.tipbubble.below::after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#14151A}
:root[data-theme="dark"] .tipbubble{background:#2B2B37}
:root[data-theme="dark"] .tipbubble::after{border-top-color:#2B2B37}
:root[data-theme="dark"] .tipbubble.below::after{border-bottom-color:#2B2B37}
/* dashboard real: updated line, help, kpi extra, mini-stats, informe */
.updated{font-size:.85rem;color:var(--ink-2);margin-bottom:16px;display:flex;align-items:center;gap:10px}.updated b{color:var(--ink);font-family:var(--mono);font-weight:600}
.refresh{width:30px;height:30px;border-radius:9px;background:var(--chip);color:var(--ink-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s cubic-bezier(.19,1,.22,1),color .16s,border-color .16s}.refresh:hover{color:var(--accent);border-color:var(--accent);transform:rotate(-45deg)}.refresh svg{width:15px;height:15px}
.kpis-real{grid-template-columns:repeat(4,1fr)}@media(max-width:1400px){.kpis-real{grid-template-columns:repeat(2,1fr)}}
.help{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--line);color:var(--ink-3);font-family:var(--mono);font-size:.66rem;font-weight:700;margin-left:auto;cursor:help;flex-shrink:0}.help:hover{background:var(--accent);color:#fff}
.kpi-h .help{margin-left:auto}
.kpi-x{font-size:.9rem;font-weight:700;font-family:var(--mono)}.kpi-x.x-pos{color:var(--pos)}.kpi-x.x-neg{color:var(--neg)}
.report{padding:24px 26px;margin-bottom:14px}
.report-body{display:grid;grid-template-columns:340px 1fr;gap:30px}@media(max-width:1100px){.report-body{grid-template-columns:1fr}}
.ministats{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel)}
.mstat{padding:15px 17px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.mstat:nth-child(2n){border-right:0}.mstat:nth-last-child(-n+2){border-bottom:0}
.ms-h{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.6rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:8px}.ms-h .help{margin-left:0;width:13px;height:13px;font-size:.58rem}
.ms-v{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;line-height:1}.ms-v.pos{color:var(--pos)}.ms-v.info{color:var(--info)}.ms-v.neg{color:var(--neg)}
.ms-sub{font-size:.8rem;font-weight:700}.ms-sub.neg{color:var(--neg)}
.report-chart{min-width:0}
.delta.up{color:var(--pos)}.delta.down{color:var(--neg)}
@media(max-width:900px){}
/* KPIs secundarios — quietos{grid-template-columns:repeat(5,1fr);margin-bottom:14px}
@media(max-width:1400px){}
@media(max-width:820px){}

/* ===== INICIO — centro de mando ===== */
.greet{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.greet-h{font-size:1.65rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;display:flex;align-items:center;gap:10px}
.greet-h .wave{font-size:1.35rem;display:inline-block;transform-origin:70% 70%;animation:wave 2.4s ease .4s 2}
@keyframes wave{0%,60%,100%{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}40%{transform:rotate(-4deg)}}
.greet-sub{color:var(--ink-2);font-size:.92rem;margin-top:5px}.greet-sub b{color:var(--ink);font-weight:600}
.greet .updated{margin-bottom:3px}
@media(max-width:1100px){}
@media(max-width:1200px){}
@media(max-width:1200px){}
@media(max-width:820px){}
.pod-medal{font-size:1.1rem;margin-bottom:4px}
.pod-1 i{height:74px;background:linear-gradient(180deg,#FFE083,#F5A623);border:none}
.pod-2 i{height:54px;background:linear-gradient(180deg,#DCDFE8,#AEB2C0);border:none}
.pod-3 i{height:40px}
.pod-name{font-size:.7rem;font-weight:700;margin-top:6px;color:var(--ink-2)}
.chart-tip{position:fixed;z-index:400;pointer-events:none;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 38px -12px rgba(0,0,0,.3);padding:10px 12px;opacity:0;transition:opacity .12s;min-width:170px}
:root[data-theme="dark"] .chart-tip{box-shadow:0 18px 44px -12px rgba(0,0,0,.7)}
.chart-tip .ct-h{font-family:var(--mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);margin-bottom:7px}
.chart-tip .ct-row{display:flex;align-items:center;gap:8px;font-size:.82rem;padding:2px 0;color:var(--ink-2)}
.chart-tip .ct-row b{margin-left:auto;color:var(--ink);font-family:var(--mono);font-weight:700}
.chart-tip .ct-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
@media(max-width:1100px){}
/* ===== Notificaciones (página) ===== */
.help-menu{min-width:270px}
.notiflist{display:flex;flex-direction:column}
.notifrow{display:flex;align-items:center;gap:14px;padding:15px 14px;border-radius:12px;position:relative;transition:background var(--t-fast);cursor:pointer}
.notifrow:hover{background:var(--accent-soft)}
.notifrow+.notifrow{border-top:1px solid var(--line)}
.notifrow.unread{background:linear-gradient(90deg,var(--accent-soft),transparent 60%)}
.notifrow.unread::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--accent)}
.nr-ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nr-ic svg{width:20px;height:20px}
.nr-tx{flex:1;min-width:0}
.nr-tx b{display:block;font-size:.92rem;font-weight:600}
.nr-tx span{font-size:.82rem;color:var(--ink-3)}
.nr-meta{display:flex;align-items:center;gap:11px;flex-shrink:0}
.nr-read{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--ink-3);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.55;transition:opacity .15s,color .15s,border-color .15s}
.nr-read svg{width:13px;height:13px}
.notifrow:hover .nr-read{opacity:1}
.nr-read:hover{color:var(--pos);border-color:var(--pos)}
.nr-time{font-family:var(--mono);font-size:.74rem;color:var(--ink-3);white-space:nowrap}
.nr-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);flex-shrink:0}
.nr-dot.read{background:transparent}
/* refresco de datos al cambiar el rango de fechas */
@keyframes refreshFade{0%{opacity:.3;transform:translateY(5px)}100%{opacity:1;transform:none}}
.refreshing{animation:refreshFade .5s cubic-bezier(.19,1,.22,1)}
/* KPIs con color de marca (íconos + sparklines de color{background:rgba(72,0,255,.12);color:var(--accent)}

/* ===== Mis Tiendas — Añadir tienda ===== */
.tn-shopify{display:flex;align-items:center;gap:18px;padding:22px 24px;margin-bottom:16px;border:1px solid rgba(15,160,95,.32);background:linear-gradient(120deg,rgba(15,160,95,.07),transparent 62%)}
:root[data-theme="dark"] .tn-shopify{background:linear-gradient(120deg,rgba(52,199,89,.10),transparent 62%);border-color:rgba(52,199,89,.26)}
.tn-sh-ic{width:52px;height:52px;border-radius:14px;background:rgba(15,160,95,.13);color:var(--pos);display:flex;align-items:center;justify-content:center;flex-shrink:0}.tn-sh-ic svg{width:26px;height:26px}
.tn-sh-tx{flex:1;min-width:0}.tn-sh-tx b{font-size:1.05rem;display:block;letter-spacing:-.01em}.tn-sh-tx p{font-size:.86rem;color:var(--ink-2);margin-top:4px;line-height:1.5;max-width:780px}
.tn-sh-btn{flex-shrink:0;white-space:nowrap}
.tn-step{display:flex;align-items:flex-start;gap:14px;background:rgba(62,155,255,.08);border:1px solid rgba(62,155,255,.24);border-radius:14px;padding:16px 18px}
.tn-step-chk{width:26px;height:26px;border:2px solid var(--info);border-radius:7px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;margin-top:1px;cursor:pointer;transition:background .15s}
.tn-step-chk svg{width:15px;height:15px;opacity:0;transition:opacity .15s}
.tn-step-chk.done{background:var(--info)}.tn-step-chk.done svg{opacity:1}
.tn-step-tx{flex:1;min-width:0}.tn-step-tx b{font-size:.95rem;color:var(--info)}.tn-step-tx p{font-size:.85rem;color:var(--ink-2);margin-top:3px;line-height:1.55}.tn-step-tx p b{color:var(--ink)}
.tn-step-btn{flex-shrink:0;white-space:nowrap}
.tn-ft{display:flex;justify-content:center;align-items:center;gap:14px;margin:22px 0 12px}
textarea.inp{min-height:92px;resize:vertical;font-family:var(--font);line-height:1.5}
/* logos de marca */
.tn-sh-ic.brand{background:rgba(149,191,71,.16);border:1px solid rgba(149,191,71,.34)}.tn-sh-ic.brand svg,.tn-sh-ic.brand img{width:34px;height:34px;display:block}
.tn-brand{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.tn-brand-ic{width:46px;height:46px;border-radius:12px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0}.tn-brand-ic svg,.tn-brand-ic img{width:30px;height:30px;display:block}
.brandlogo{display:block}
.btn-logo{width:19px;height:19px;display:block;flex-shrink:0}
.tn-step-num{width:28px;height:28px;border-radius:50%;background:var(--info);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.92rem;flex-shrink:0;margin-top:1px}
.tn-brand b{font-size:1rem;display:block;letter-spacing:-.01em}.tn-brand span{font-size:.84rem;color:var(--ink-2)}
/* editar tienda */
.field-grid.tri{grid-template-columns:1fr 1fr 1fr}
@media(max-width:1000px){.field-grid.tri{grid-template-columns:1fr}}
.inp:disabled{background:var(--chip);color:var(--ink-3);cursor:not-allowed;border-color:var(--line)}
.fhelp.warn{color:var(--warn)}
/* botones de marca */
.btn-shopify{background:linear-gradient(180deg,#8FBE3F 0%,#5E8E3E 100%);color:#fff;border:1px solid #557E37;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 20px -8px rgba(80,120,50,.6);letter-spacing:-.005em;transition:transform .18s cubic-bezier(.19,1,.22,1),box-shadow .18s,filter .18s}
/* El SVG de la bolsa no trae tamaño propio: sin esto crecía hasta 200px, se
   comía el texto del boton y descuadraba el banner entero de «Añadir tienda». */
.btn-shopify img{width:16px;height:16px;flex-shrink:0;object-fit:contain}
.btn-shopify:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 12px 26px -8px rgba(80,120,50,.7);filter:brightness(1.03)}
.btn-shopify:active{transform:translateY(0);box-shadow:inset 0 1px 3px rgba(40,70,25,.35)}
.btn-div{width:1px;height:16px;background:rgba(255,255,255,.4);flex-shrink:0;margin:0 1px}
.btn-wp{background:#2B6CB0;color:#fff;border:none;box-shadow:0 6px 16px -8px rgba(43,108,176,.55)}
.btn-wp:hover{filter:brightness(1.08)}
.btn-warn{background:var(--warn);color:#fff;border:none}.btn-warn:hover{filter:brightness(1.06)}
.cf-ic.warn{background:rgba(222,120,30,.14);color:var(--warn)}
/* toggle Activo/Pausada en tabla */
.swrap{display:flex;align-items:center;gap:10px}
.swrap .tg i{width:40px;height:23px}.swrap .tg i::after{width:17px;height:17px}
.swrap .tg input:checked+i{background:var(--pos)}.swrap .tg input:checked+i::after{left:20px}
.sw-lbl{font-size:.8rem;font-weight:600;color:var(--ink-3)}.sw-lbl.on{color:var(--pos)}
@media(max-width:860px){.tn-shopify,.tn-step{flex-direction:column;align-items:flex-start}}

/* ===== Mis usuarios ===== */
.albar.info{background:rgba(62,155,255,.1);border:1px solid rgba(62,155,255,.28);color:var(--info)}
.albar span svg{width:16px;height:16px;vertical-align:-3px;margin-right:5px;flex-shrink:0}
.attr-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;margin-bottom:16px}
.attr-tx{min-width:0}.attr-t{font-size:1rem;display:block;letter-spacing:-.01em}.attr-p{font-size:.85rem;color:var(--ink-2);margin-top:5px;line-height:1.5;max-width:840px}
.attr-tg{display:flex;align-items:center;gap:12px;flex-shrink:0}
.attr-state{font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);background:var(--chip);padding:5px 11px;border-radius:20px;transition:.16s}
.attr-state.on{color:var(--pos);background:rgba(15,160,95,.13)}
.attr-tg .tg i{width:44px;height:24px}.attr-tg .tg i::after{width:18px;height:18px}.attr-tg .tg input:checked+i{background:var(--pos)}.attr-tg .tg input:checked+i::after{left:23px}
.su-hd{flex-wrap:wrap;gap:12px}
.su-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fsel.sm2{min-width:118px}
.su-srch{min-width:230px}
.su-user{display:flex;align-items:center;gap:11px}
.avatar.sm{width:34px;height:34px;font-size:.78rem;flex-shrink:0}
.perm-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.74rem;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:4px 11px;border-radius:20px;white-space:nowrap}.perm-chip svg{width:13px;height:13px}
.mini-btn.act:hover{color:var(--accent);border-color:var(--accent)}.mini-btn.dup:hover{color:var(--ink)}
/* tarjetas de permisos */
.perm-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:1200px){.perm-grid4{grid-template-columns:1fr 1fr}}@media(max-width:680px){.perm-grid4{grid-template-columns:1fr}}
.perm-card{border:1px solid var(--line);border-radius:14px;padding:14px 15px;background:var(--panel)}
.perm-card-hd{display:flex;align-items:center;gap:9px;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.perm-ic{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.perm-ic svg{width:16px;height:16px}
.perm-card-hd b{font-family:var(--mono);font-size:.66rem;letter-spacing:.07em;color:var(--ink-2);flex:1}
.perm-all{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);cursor:pointer}.perm-all input{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}
.pchk{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:9px;cursor:pointer;font-size:.85rem;transition:background .12s}
.pchk:hover{background:var(--bg)}
.pchk input{display:none}
.pk-box{width:19px;height:19px;border-radius:6px;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;transition:background .14s,border-color .14s}.pk-box svg{width:12px;height:12px;opacity:0;transition:opacity .12s}
.pchk input:checked+.pk-box{background:var(--accent);border-color:var(--accent)}.pchk input:checked+.pk-box svg{opacity:1}
/* actividad del colaborador */
.act-sub{display:flex;align-items:center;gap:9px;font-size:1.02rem;font-weight:800;letter-spacing:-.01em;padding:14px 16px 16px}.act-sub svg{width:19px;height:19px;color:var(--ink-2)}
.act-trans{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.act-trans svg{width:15px;height:15px;color:var(--ink-3);flex-shrink:0}
.pager{display:flex;align-items:center;justify-content:center;gap:6px;padding:18px}
.pg{min-width:32px;height:32px;padding:0 8px;border-radius:9px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.8rem;font-weight:600;color:var(--ink-2);cursor:pointer;transition:.14s}
.pg:hover{border-color:var(--accent);color:var(--accent)}.pg.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.pg.nav{padding:0;width:32px;background:var(--panel)}.pg.nav svg{width:15px;height:15px}.pg[disabled]{opacity:.38;cursor:not-allowed;pointer-events:none}
/* confirm modal sólido + variante ok */
.btn-danger{background:var(--neg);color:#fff;border:1px solid var(--neg)}.btn-danger:hover{filter:brightness(1.07)}
.cf-ic.ok{background:rgba(15,160,95,.12);color:var(--pos)}
/* permisos: cabecera con plantilla al lado */
.perm-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}
.perm-top-l{min-width:0;flex:1}.perm-h{font-size:1.08rem;font-weight:800;letter-spacing:-.015em}
.perm-tpl{min-width:250px;max-width:300px;flex-shrink:0}
/* actividad: secciones */
.act-card{padding:6px;margin-bottom:16px}
.act-empty{display:flex;align-items:center;gap:10px;padding:24px 18px;color:var(--ink-3);font-size:.88rem;border-top:1px solid var(--line)}.act-empty svg{width:20px;height:20px;flex-shrink:0}
/* buscador estándar + pager ellipsis + modal de datos */
.searchbar{display:flex;align-items:center;gap:10px;padding:14px}
.searchbar .srch{flex:1 1 auto;min-width:0}
.searchbar .btn,.searchbar .btn-out{flex:0 0 auto;width:auto}
.sb-go{width:auto;flex:0 0 auto;padding:11px 22px}
.pg.dots{border:none;background:none;cursor:default;pointer-events:none;min-width:22px}
.dgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px 22px}
@media(max-width:760px){.dgrid{grid-template-columns:1fr 1fr}}
.dg-item{min-width:0}
.dg-k{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:5px}
.dg-v{font-size:.95rem;font-weight:700;color:var(--ink);word-break:break-word;line-height:1.4}

/* BADGES */
.bdg{display:inline-block;font-family:var(--mono);font-size:.68rem;font-weight:600;padding:4px 10px;border-radius:20px;white-space:nowrap}
.bdg-pos{background:rgba(15,160,95,.14);color:var(--pos)}.bdg-neg{background:rgba(224,87,83,.14);color:var(--neg)}
.bdg-warn{background:rgba(222,120,30,.15);color:var(--warn)}.bdg-info{background:rgba(62,155,255,.14);color:var(--info)}
.bdg-violet{background:rgba(126,35,249,.14);color:var(--violet)}.bdg-mut2{background:var(--line);color:var(--ink-2)}

/* TOOLBAR/FILTERS */
.toolbar{padding:16px 18px;margin-bottom:16px;position:relative;z-index:30}
.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.fbtn{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:11px 16px;font-weight:600;font-size:.85rem;cursor:pointer}
.fbtn svg{width:16px;height:16px}.fbtn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.fbtn.green{background:var(--pos);color:#fff;border-color:var(--pos)}
.fsel{appearance:none;-webkit-appearance:none;height:42px;line-height:normal;background-color:var(--chip);background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' fill='none' stroke='%235A5B66' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 14px center;border:none;border-radius:var(--r-ctrl);padding:0 38px 0 15px;font-family:var(--font);font-weight:600;font-size:.85rem;color:var(--ink-2);cursor:pointer;transition:background-color var(--t-fast),box-shadow var(--t-fast)}
.fsel:hover{background-color:var(--panel);box-shadow:var(--sh-hover);color:var(--ink)}
:root[data-theme="dark"] .fsel{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' fill='none' stroke='%23A3A4B0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>")}
.fsearch{background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:11px 14px;font-family:var(--font);font-size:.86rem;color:var(--ink)}
.fsel.sm{width:80px}.fsearch{flex:1;min-width:200px}
.fsel:focus{outline:none;box-shadow:0 0 0 3px rgba(72,0,255,.30)}.fsearch:focus{outline:none;border-color:var(--accent)}
/* ===== Dropdown de filtro custom (premium, con marca + dark) ===== */
.fdrop{position:relative;display:inline-flex}
.fdrop-btn{display:inline-flex;align-items:center;gap:9px;height:42px;background:var(--chip);border:none;border-radius:var(--r-ctrl);padding:0 13px;font-family:var(--font);font-weight:600;font-size:.85rem;color:var(--ink-2);cursor:pointer;transition:background-color var(--t-fast),box-shadow var(--t-fast),color var(--t-fast);white-space:nowrap;min-width:170px}
.fdrop-btn>svg:first-child{width:16px;height:16px;flex-shrink:0;color:var(--ink-3)}
.fdrop-btn:hover{background:var(--panel);box-shadow:var(--sh-hover);color:var(--ink)}
.fdrop.open .fdrop-btn{background:var(--panel);box-shadow:0 0 0 3px rgba(72,0,255,.28);color:var(--ink)}
.fdrop-btn .fd-lbl{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis}
.fdrop-btn .fd-lbl.set{color:var(--ink);font-weight:700}
.fdrop-btn .chev{margin-left:2px;flex-shrink:0;transition:transform .2s}
.fdrop.open .fdrop-btn .chev{transform:rotate(180deg)}
.fdrop-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:100%;width:max-content;max-width:330px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px -16px rgba(16,16,16,.32),0 6px 16px rgba(16,16,16,.07);padding:7px;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.97);transform-origin:top left;transition:opacity .18s cubic-bezier(.19,1,.22,1),transform .18s cubic-bezier(.19,1,.22,1),visibility .18s;z-index:120}
:root[data-theme="dark"] .fdrop-menu{box-shadow:0 26px 66px -14px rgba(0,0,0,.7),0 4px 14px rgba(0,0,0,.4)}
.fdrop.open .fdrop-menu{opacity:1;visibility:visible;transform:none}
/* Los ultimos desplegables de una barra se salian por la derecha, donde .main
   recorta: el JS marca .flip y el menu se alinea al otro lado. */
.fdrop-menu.flip{left:auto;right:0;transform-origin:top right}
.fdrop-search{position:relative;margin-bottom:6px}
.fdrop-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--ink-3);pointer-events:none}
.fdrop-search input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:9px 12px 9px 33px;font-family:var(--font);font-size:.85rem;color:var(--ink)}
.fdrop-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.fd-opts{max-height:280px;overflow-y:auto}
/* La opcion puede ser <a> (el filtro navega) o <button> (modo formulario, no
   navega). Con boton hay que anular el estilo nativo del navegador —borde,
   fondo, tipografia— o cada opcion se ve como un boton gris suelto. */
.fd-opt{display:flex;align-items:center;gap:9px;width:100%;padding:9px 11px;border:0;background:none;text-align:left;font-family:var(--font);border-radius:10px;font-size:.86rem;font-weight:600;color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:background var(--t-fast),color var(--t-fast)}
.fd-opt:hover{background:var(--accent-soft);color:var(--ink)}
.fd-opt.on{background:var(--accent);color:#fff}
.fd-opt .fd-ck{width:15px;height:15px;flex-shrink:0;opacity:0}
.fd-opt.on .fd-ck{opacity:1}
.fd-opt .fd-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.fd-empty{padding:14px;text-align:center;color:var(--ink-3);font-size:.82rem}
.nov-filters .srch{flex:1 1 auto;min-width:200px}
.nov-filters .btn{width:auto;flex:0 0 auto}
.nov-filters .fdrop-btn{max-width:250px}
/* modal Gestionar novedad */
.nov-motivo{display:flex;gap:14px;align-items:flex-start;background:var(--accent-soft);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.nov-motivo .nm-ic{width:40px;height:40px;border-radius:11px;background:var(--violet);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nov-motivo .nm-ic svg{width:20px;height:20px}
.nm-k{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}
.nm-v{font-size:1rem;font-weight:700;color:var(--ink)}
.nov-actions{margin-top:22px}
.nov-act-t{font-weight:700;margin-bottom:12px}
.nov-act-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nov-act{display:flex;align-items:center;gap:11px;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:13px;font-family:var(--font);font-weight:600;font-size:.9rem;color:var(--ink);cursor:pointer;text-align:left;transition:transform var(--t-fast),box-shadow var(--t-fast),border-color var(--t-fast)}
.nov-act svg{width:19px;height:19px;color:var(--accent);flex-shrink:0}
.nov-act:hover{transform:translateY(-2px);box-shadow:var(--sh-hover);border-color:var(--accent)}
.nov-act.danger svg{color:var(--neg)}.nov-act.danger:hover{border-color:var(--neg)}
@media(max-width:640px){.nov-act-grid{grid-template-columns:1fr}}
input.fsel[type=date]{position:relative;cursor:pointer;font-family:var(--mono);font-weight:600;color:var(--ink);min-width:150px}
input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}
:root[data-theme="dark"] input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1)}

/* TABLE */
.tablecard{padding:6px;overflow:hidden}.tbl-wrap{overflow-x:auto;border-radius:14px}
.tbl{width:100%;border-collapse:collapse;font-size:.88rem;min-width:720px}
.tbl th{text-align:left;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:600;padding:14px 16px;border-bottom:1px solid var(--line)}
.tbl td{padding:15px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tbody tr:last-child td{border-bottom:0}.tbl tbody tr{transition:background .12s}.tbl tbody tr{transition:background var(--t-fast)}
.tbl tbody tr:hover{background:rgba(120,120,135,.06)}
:root[data-theme="dark"] .tbl tbody tr:hover{background:rgba(255,255,255,.035)}
.tbl b{font-weight:700}.link{color:var(--accent);font-weight:600}
.rowacts{display:flex;gap:6px}
.mini-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:0 12px;cursor:pointer;color:var(--ink-2);font-family:var(--font);font-weight:600;font-size:.8rem;line-height:1;transition:background var(--t-fast),color var(--t-fast),box-shadow var(--t-fast)}
.mini-btn svg{width:15px;height:15px}.mini-btn:hover{color:var(--ink)}
.mini-btn.ok{background:var(--pos);color:#fff;border-color:var(--pos)}.mini-btn.edit{background:rgba(222,120,30,.15);color:var(--warn);border-color:transparent}
.mini-btn.view{background:var(--accent-soft);color:var(--accent);border-color:transparent}
.mini-btn.view:hover{box-shadow:var(--glow-accent);color:var(--accent)}

/* CHART */
.chart{padding:24px 26px;margin-bottom:14px}
.card-hd{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px;gap:16px}.card-hd h3{font-size:1.08rem;font-weight:800;letter-spacing:-.015em}.card-hd a{font-family:var(--mono);font-size:.74rem;font-weight:600;color:var(--accent)}
.card-eyebrow{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:6px}
.card-eyebrow .pc-note{display:inline-block;text-transform:none;letter-spacing:0;color:var(--ink-3);font-family:var(--font);font-size:.74rem;margin-left:8px;font-weight:400}
.period-pill{font-family:var(--mono);font-size:.66rem;font-weight:600;color:var(--ink-2);background:var(--chip);border:1px solid var(--line);padding:6px 12px;border-radius:20px;white-space:nowrap;flex-shrink:0}
.chart-wrap{position:relative;height:280px}
.legend{display:flex;gap:22px;margin-top:16px;font-family:var(--mono);font-size:.72rem;color:var(--ink-2);flex-wrap:wrap}.legend span{display:inline-flex;align-items:center}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:middle}

/* EMPTY */
.empty{padding:60px 30px;text-align:center}.empty-ic{width:70px;height:70px;border-radius:18px;background:var(--bg);color:var(--ink-3);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}.empty-ic svg{width:32px;height:32px}
.empty h3{font-size:1.2rem;margin-bottom:6px}.empty p{color:var(--ink-2);max-width:400px;margin:0 auto}

/* PRODUCT GRID */
.orderby{font-size:.88rem;color:var(--ink-2)}.orderby b{color:var(--accent)}
.viewtoggle{display:flex;gap:4px}/* span Y a: en el prototipo eran span, al portarlo pasaron a enlace para funcionar sin JS y la regla se quedo apuntando al elemento que ya no es. */.viewtoggle span,.viewtoggle a{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-3);cursor:pointer;flex-shrink:0}.viewtoggle span svg,.viewtoggle a svg{width:18px;height:18px}.viewtoggle .on{background:var(--accent);color:#fff;border-color:var(--accent)}
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:1400px){.prod-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1000px){.prod-grid{grid-template-columns:repeat(2,1fr)}}
.prod{overflow:hidden;display:flex;flex-direction:column}.prod:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(16,16,16,.1)}
.prod-img{position:relative;aspect-ratio:1/.92;background:radial-gradient(130% 120% at 50% 12%,var(--panel),var(--chip));display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);cursor:pointer;overflow:hidden}
.pi-e{font-size:6.2rem;line-height:1;filter:drop-shadow(0 18px 24px rgba(20,21,26,.2));transition:transform .35s cubic-bezier(.19,1,.22,1)}
.prod:hover .pi-e{transform:scale(1.08) translateY(-3px)}
.prod-img .fav{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:var(--panel);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-3)}.prod-img .fav svg{width:17px;height:17px}.prod-img .fav.on{color:var(--magenta);border-color:var(--magenta)}.prod-img .fav.on svg{fill:var(--magenta)}
.prod-img .stock{position:absolute;top:12px;left:12px;font-family:var(--mono);font-size:.68rem;font-weight:600;background:rgba(15,160,95,.15);color:var(--pos);padding:4px 9px;border-radius:20px}.prod-img .stock.out{background:rgba(224,87,83,.14);color:var(--neg)}
.prod-body{padding:14px 18px 16px;display:flex;flex-direction:column;flex:1}
.prod-toprow{display:flex;justify-content:space-between;align-items:center;gap:10px}
.prod-cat{flex:1;min-width:0;font-size:.72rem;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod-stock{flex-shrink:0;font-family:var(--mono);font-size:.7rem;font-weight:700;color:var(--pos)}
.prod-stock.out{color:var(--neg)}
.prod-body h4{font-size:.98rem;font-weight:700;line-height:1.28;letter-spacing:-.01em;margin:6px 0 8px;min-height:2.5em;cursor:pointer;transition:color var(--t-fast)}
.prod-body h4:hover{color:var(--accent)}
.prod-sub{display:flex;align-items:center;gap:6px}
.prod-sku{font-size:.72rem;color:var(--ink-3)}.prod-prov{font-size:.78rem;color:var(--ink-2);margin:4px 0 14px}.prod-prov b{color:var(--accent)}
.sku-copy{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;border:none;background:transparent;color:var(--ink-3);cursor:pointer;opacity:0;transition:opacity var(--t-fast),background var(--t-fast)}
.sku-copy svg{width:12px;height:12px}
.prod:hover .sku-copy{opacity:1}
.sku-copy:hover{background:var(--chip);color:var(--accent)}
.prod-price{display:flex;justify-content:space-between;align-items:end;margin-top:auto;padding-top:13px;border-top:1px solid var(--line)}
.prod-price .pl{letter-spacing:.04em}
.prod-price .pl{display:block;font-size:.66rem;color:var(--ink-3);font-family:var(--mono);text-transform:uppercase}.prod-price .pv{font-weight:800;font-size:1.05rem}.prod-price .pv.hl{color:var(--accent)}.prod-price .ta{text-align:right}
.cat-filters{display:flex;flex-direction:column;gap:16px}
.toggle-row{display:flex;gap:26px;flex-wrap:wrap}
.tg{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;font-size:.86rem}.tg input{display:none}.tg i{width:38px;height:22px;border-radius:20px;background:var(--line);position:relative;transition:.2s;flex-shrink:0}.tg i::after{content:'';position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.2s}.tg input:checked+i{background:var(--accent)}.tg input:checked+i::after{left:19px}
.filt-row{display:flex;gap:16px;flex-wrap:wrap;align-items:end}
.ff{display:flex;flex-direction:column;gap:6px}.ff label{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);font-weight:600}
.ff select,.minmax input{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-family:var(--font);font-size:.86rem;color:var(--ink)}
.minmax{display:flex;align-items:center;gap:8px}.minmax input{width:90px}

/* INT GRID */
.int-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:18px}
@media(max-width:1400px){.int-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.int-grid{grid-template-columns:repeat(2,1fr)}}
.int-card{padding:20px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.int-card:hover{transform:translateY(-4px)}
.int-ic{width:48px;height:48px;border-radius:13px;background:var(--bg);color:var(--ink-2);display:flex;align-items:center;justify-content:center}.int-ic svg{width:24px;height:24px}
.int-card b{font-size:.92rem}

/* CALC */
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:1000px){.calc-grid{grid-template-columns:1fr}}
.calc-in{padding:24px}.calc-in h3{font-size:1.05rem;margin-bottom:16px}
.calc-field{margin-bottom:13px}.calc-field label{display:block;font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);font-weight:600;margin-bottom:6px}
.calc-input{display:flex;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:11px;overflow:hidden}.calc-input span{padding:0 12px;color:var(--ink-3);font-weight:700}.calc-input input{flex:1;background:transparent;border:none;padding:12px 12px 12px 0;font-family:var(--font);font-size:1rem;font-weight:600;color:var(--ink)}.calc-input input:focus{outline:none}
.calc-out{padding:24px;background:var(--negro);color:#fff;border:none}.calc-out .card-hd h3{color:#fff}
.calc-big{margin:6px 0 18px}.calc-big span{font-size:.8rem;color:rgba(255,255,255,.6)}.calc-num{font-size:2.6rem;font-weight:800;color:var(--lima);letter-spacing:-.02em}
.calc-rows .cr{display:flex;justify-content:space-between;padding:9px 0;font-size:.9rem;color:rgba(255,255,255,.75);border-bottom:1px solid rgba(255,255,255,.08)}
.calc-rows .cr b{color:#fff}.calc-rows .cr .neg{color:#ff8fb0}.calc-rows .cr.total{border-bottom:0;padding-top:14px;font-weight:700;font-size:1rem;color:#fff}.calc-rows .cr .lima{color:var(--lima)}
.calc-out .foot{margin-top:16px;font-size:.82rem;color:rgba(255,255,255,.7);line-height:1.5}
.prog-bar{height:8px;background:rgba(255,255,255,.12);border-radius:6px;overflow:hidden}.prog-bar i{display:block;height:100%;background:var(--lima);border-radius:6px}

/* ===== Settings / Mi perfil ===== */
.settings{display:flex;flex-direction:column;gap:26px;max-width:940px}
.set-row{display:grid;grid-template-columns:248px 1fr;gap:40px;align-items:start}
@media(max-width:1000px){.set-row{grid-template-columns:1fr;gap:14px}}
.set-label{padding-top:6px}
.set-label h3{font-size:1rem;font-weight:700;letter-spacing:-.01em}
.set-label p{font-size:.85rem;color:var(--ink-3);margin-top:6px;line-height:1.5}
.set-card{padding:30px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
@media(max-width:560px){.field-grid{grid-template-columns:1fr}.field-spacer{display:none}}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field label{font-size:.84rem;font-weight:600;color:var(--ink-2)}
.inp{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:12px 14px;font-family:var(--font);font-size:.9rem;color:var(--ink);transition:border-color .15s,box-shadow .15s,background .15s}
.inp:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--panel)}
.inp::placeholder{color:var(--ink-3)}
select.inp{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239AA0A8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:38px}
.avatar-edit{display:flex;align-items:center;gap:20px}
.avatar.xl{width:72px;height:72px;font-size:1.6rem;flex-shrink:0;box-shadow:0 0 0 3px var(--panel),0 0 0 4.5px rgba(224,252,9,.5)}
.ae-actions{display:flex;flex-direction:column;gap:9px}
.ae-btns{display:flex;align-items:center;gap:10px}
.btn-out{display:inline-flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 16px;font-family:var(--font);font-weight:600;font-size:.84rem;color:var(--ink);cursor:pointer;transition:.15s;white-space:nowrap}
.btn-out svg{width:16px;height:16px}
.btn-out:hover{border-color:var(--ink-3);background:var(--bg)}
.btn-out.lg{padding:12px 22px}
.btn-del{background:none;border:none;color:var(--neg);font-family:var(--font);font-weight:600;font-size:.84rem;cursor:pointer;padding:9px 4px}
.btn-del:hover{text-decoration:underline}
.hint{font-size:.76rem;color:var(--ink-3)}
.set-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;max-width:940px;margin-top:22px;padding:18px 0 4px;border-top:1px solid var(--line)}

/* ===== Editar perfil (2 columnas + tabs) ===== */
.profile-page{display:grid;grid-template-columns:360px 1fr;gap:22px;align-items:stretch}
@media(max-width:1080px){.profile-page{grid-template-columns:1fr}}
.pcol-left{display:flex;flex-direction:column;gap:20px}
.pcard{padding:26px 22px;display:flex;flex-direction:column;align-items:center;text-align:center}
.pcard-av{margin-bottom:14px}
.pcard-name{font-size:1.12rem;font-weight:800;letter-spacing:-.01em}
.pcard-mail{font-size:.85rem;color:var(--ink-3);margin-top:3px}
.pid-pill{margin-top:12px;font-family:var(--mono);font-size:.72rem;font-weight:600;color:var(--ink-2);background:var(--bg);border:1px solid var(--line);padding:4px 13px;border-radius:20px}
.afl{width:100%;margin-top:22px;text-align:left}
.afl-t{font-family:var(--mono);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:9px}
.afl-box{display:flex;gap:8px}
.afl-in{flex:1;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-family:var(--mono);font-size:.78rem;color:var(--ink-2)}
.afl-copy{width:42px;flex-shrink:0;border:none;border-radius:10px;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.afl-copy:hover{background:var(--azul-2)}.afl-copy svg{width:16px;height:16px}
.afl-h{font-size:.76rem;color:var(--ink-3);margin-top:9px;line-height:1.45}
.pstats{padding:4px 6px}
.pstat{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;font-size:.88rem}
.pstat+.pstat{border-top:1px solid var(--line)}
.pstat>span:first-child{color:var(--ink-2)}
.pstat-v{font-family:var(--mono);font-weight:600}
.bdg.live::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:6px;vertical-align:middle}
/* tabs */
.ptab-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.ptabs{display:flex;gap:2px;padding:0 10px;border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.ptabs::-webkit-scrollbar{display:none}
.ptab{display:flex;align-items:center;gap:8px;padding:16px 16px;background:none;border:none;border-bottom:2px solid transparent;font-family:var(--font);font-weight:600;font-size:.9rem;color:var(--ink-3);cursor:pointer;margin-bottom:-1px;transition:color .15s,border-color .15s;white-space:nowrap}
.ptab svg{width:17px;height:17px}
.ptab:hover{color:var(--ink)}
.ptab.on{color:var(--accent);border-bottom-color:var(--accent)}
.ptab-body{padding:30px 34px;min-height:360px;flex:1}
.ppane{display:none;animation:rv .35s cubic-bezier(.19,1,.22,1)}
.ppane.on{display:block}
.psec-t{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);font-weight:600;padding-bottom:14px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.psec-t svg{width:14px;height:14px;flex-shrink:0}
.psec-t.mt{margin-top:36px}
.field-grid.pg3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.field-grid.pg3{grid-template-columns:1fr 1fr}}
.mt16{margin-top:20px}
.field-grid.mt16{margin-top:20px}
.field.full{grid-column:1/-1}
.req{color:var(--neg);margin-left:3px;font-weight:700}
.rj-req{display:none}
.req-visible .rj-req{display:inline}
.req-visible .rj-opt{display:none}
.fnote{font-weight:400;color:var(--ink-3);margin-left:7px;font-size:.72rem}
.fhelp{font-size:.79rem;color:var(--ink-3);margin-top:9px;line-height:1.5}.fhelp.nomt{margin-top:0;margin-bottom:12px}
.prow-between{display:flex;align-items:center;justify-content:space-between;gap:22px}
.prow-txt{min-width:0}.prow-txt>b{font-size:.94rem;display:flex;align-items:center}.prow-txt>p{font-size:.83rem;color:var(--ink-3);margin-top:5px;line-height:1.55;max-width:560px}
.warnbox,.okbox{display:flex;gap:12px;border-radius:13px;padding:14px 16px;margin-top:16px}
.warnbox{background:rgba(222,120,30,.09);border:1px solid rgba(222,120,30,.3)}
.warnbox svg{width:20px;height:20px;color:var(--warn);flex-shrink:0}
.okbox{background:rgba(15,160,95,.09);border:1px solid rgba(15,160,95,.3)}
.okbox svg{width:20px;height:20px;color:var(--pos);flex-shrink:0}
.warnbox p,.okbox p{font-size:.84rem;color:var(--ink);line-height:1.55}
.tokenrow{display:flex;gap:10px}.tokenrow .inp{flex:1}
.offercard{display:flex;align-items:center;justify-content:space-between;gap:22px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:18px 20px;flex-wrap:wrap}
.btn-shopify{display:inline-flex;align-items:center;gap:8px;background:var(--pos);color:#fff;border:none;border-radius:10px;padding:11px 18px;font-family:var(--font);font-weight:700;font-size:.86rem;cursor:pointer;white-space:nowrap;transition:.15s}.btn-shopify svg{width:17px;height:17px}.btn-shopify:hover{background:#0C864F;transform:translateY(-1px)}
.btn-del-out{background:none;border:1px solid var(--neg);color:var(--neg);border-radius:10px;padding:9px 18px;font-family:var(--font);font-weight:600;font-size:.85rem;cursor:pointer;transition:.15s;white-space:nowrap}.btn-del-out:hover{background:rgba(224,87,83,.08)}
.dot-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--pos);margin-right:9px;box-shadow:0 0 0 3px rgba(15,160,95,.2);flex-shrink:0}
.dot-live.warn{background:var(--warn);box-shadow:0 0 0 3px rgba(222,120,30,.22)}
.pfooter{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding:16px 28px;border-top:1px solid var(--line);background:transparent}
/* Si el pie lleva texto a la izquierda (un aviso), ese se queda pegado a
   la izquierda y los botones a la derecha. */
.pfooter > :not(.btn):not(.btn-out):not(.btn-ghost2):not(.btn-green):not(.btn-azul):first-child{margin-right:auto}
.pf-status{font-size:.85rem;color:var(--ink-2);display:flex;align-items:center}
.pf-btns{display:flex;gap:10px;align-items:center}
.btn-ghost2{background:none;border:none;color:var(--ink-2);font-family:var(--font);font-weight:600;font-size:.88rem;cursor:pointer;padding:10px 14px;border-radius:9px}.btn-ghost2:hover{color:var(--ink);background:var(--panel)}

/* ===== Plantillas de texto ===== */
.listcount{font-size:.86rem;color:var(--ink-3);font-family:var(--mono)}
.mini-btn.danger{color:var(--neg);border-color:transparent;background:rgba(224,87,83,.09)}.mini-btn.danger:hover{background:rgba(224,87,83,.16)}
.backlink{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--ink-2);margin-bottom:18px}.backlink svg{width:16px;height:16px}.backlink:hover{color:var(--accent)}
.tpl-page{display:grid;grid-template-columns:1fr 380px;gap:22px;align-items:start}
@media(max-width:1080px){.tpl-page{grid-template-columns:1fr}.varscard{position:static!important;max-height:none!important}}
.tpl-ta{width:100%;min-height:170px;resize:vertical;line-height:1.6;font-family:var(--font)}
.tpl-prev{margin-top:22px;padding:16px;background:#EFE7DD url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='58' height='58' viewBox='0 0 58 58'><g fill='%23B9A99A' fill-opacity='.3'><path transform='translate(5,5) scale(.8)' d='M12 2a10 10 0 0 0-8.6 15.12L2 22l4.98-1.35A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.18-1.14l-.3-.18-3.1.84.83-3.02-.2-.31A8.2 8.2 0 1 1 12 20.2zm4.5-6.13c-.24-.12-1.45-.72-1.68-.8-.22-.08-.39-.12-.55.12-.16.25-.63.8-.78.96-.14.17-.29.18-.53.06-.24-.12-1.02-.38-1.94-1.2-.72-.64-1.2-1.43-1.34-1.67-.14-.24-.02-.37.1-.49.11-.11.24-.28.36-.42.12-.14.16-.25.24-.41.08-.17.04-.31-.02-.43-.06-.12-.55-1.32-.75-1.81-.2-.48-.4-.41-.55-.42h-.47c-.16 0-.42.06-.64.31-.22.25-.84.83-.84 2.02 0 1.19.86 2.34.98 2.5.12.17 1.69 2.58 4.1 3.62.57.25 1.02.4 1.37.5.57.19 1.1.16 1.51.1.46-.07 1.45-.6 1.66-1.17.2-.58.2-1.07.14-1.17-.06-.1-.22-.17-.46-.29z'/><path transform='translate(34,34) scale(.8)' d='M12 2a10 10 0 0 0-8.6 15.12L2 22l4.98-1.35A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.18-1.14l-.3-.18-3.1.84.83-3.02-.2-.31A8.2 8.2 0 1 1 12 20.2zm4.5-6.13c-.24-.12-1.45-.72-1.68-.8-.22-.08-.39-.12-.55.12-.16.25-.63.8-.78.96-.14.17-.29.18-.53.06-.24-.12-1.02-.38-1.94-1.2-.72-.64-1.2-1.43-1.34-1.67-.14-.24-.02-.37.1-.49.11-.11.24-.28.36-.42.12-.14.16-.25.24-.41.08-.17.04-.31-.02-.43-.06-.12-.55-1.32-.75-1.81-.2-.48-.4-.41-.55-.42h-.47c-.16 0-.42.06-.64.31-.22.25-.84.83-.84 2.02 0 1.19.86 2.34.98 2.5.12.17 1.69 2.58 4.1 3.62.57.25 1.02.4 1.37.5.57.19 1.1.16 1.51.1.46-.07 1.45-.6 1.66-1.17.2-.58.2-1.07.14-1.17-.06-.1-.22-.17-.46-.29z'/></g></svg>");background-size:58px 58px;border:1px solid #E2D9CC;box-shadow:none;border-radius:14px}
:root[data-theme="dark"] .tpl-prev{background-color:#0E1418;background-image:none;border-color:#1E2A30}
.tpl-prev-hd{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#8A7B6C;font-weight:600;margin-bottom:12px}.tpl-prev-hd svg{width:15px;height:15px;color:#1DAF5C}
:root[data-theme="dark"] .tpl-prev-hd{color:#6E7F88}
.wa-row{display:flex}
.wa-bubble{position:relative;max-width:82%;background:#DCF8C6;color:#111;border-radius:12px 12px 12px 3px;padding:9px 13px 18px;font-size:.88rem;line-height:1.55;box-shadow:0 1px 1px rgba(0,0,0,.08);white-space:pre-wrap;word-break:break-word}
:root[data-theme="dark"] .wa-bubble{background:#075E54;color:#EDEDED}
.wa-var{background:var(--accent);color:#fff;font-family:var(--mono);font-size:.78rem;padding:1px 6px;border-radius:5px;white-space:nowrap}
.wa-empty{color:var(--ink-3);font-style:italic}
.wa-time{position:absolute;right:11px;bottom:5px;font-size:.62rem;color:rgba(0,0,0,.4)}
:root[data-theme="dark"] .wa-time{color:rgba(255,255,255,.5)}
.tpl-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.varscard{padding:0;overflow:hidden;position:sticky;top:96px;display:flex;flex-direction:column;max-height:calc(100vh - 118px)}
.vars-hd{display:flex;align-items:baseline;justify-content:space-between;padding:18px 18px 12px}
.vars-hd h4{font-size:.95rem;font-weight:700}.vars-hd span{font-family:var(--mono);font-size:.65rem;color:var(--ink-3)}
.vars-search{position:relative;padding:0 16px 12px;border-bottom:1px solid var(--line)}
.vars-search svg{position:absolute;left:27px;top:9px;width:15px;height:15px;color:var(--ink-3)}
.vars-search input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:9px 12px 9px 34px;font-family:var(--font);font-size:.84rem;color:var(--ink)}
.vars-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.vars-list{overflow-y:auto;padding:8px}
.varitem{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:none;border:none;border-radius:9px;padding:9px 11px;cursor:pointer;transition:background .12s}
.varitem:hover{background:var(--bg)}
.varitem code{font-family:var(--mono);font-size:.8rem;font-weight:600;color:var(--accent)}
.varitem span{font-size:.76rem;color:var(--ink-3)}
#toaster{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:400;display:flex;flex-direction:column;gap:10px;align-items:center;pointer-events:none}
.toast{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:13px 20px 13px 15px;font-size:.9rem;font-weight:600;color:var(--ink);box-shadow:0 18px 44px -12px rgba(16,16,16,.34);opacity:0;transform:translateY(-16px) scale(.94);transition:opacity .3s cubic-bezier(.19,1,.22,1),transform .42s cubic-bezier(.34,1.56,.64,1)}
.toast.show{opacity:1;transform:translateY(0) scale(1)}
.toast-ic{position:relative;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.toast-ic svg{width:16px;height:16px}
.toast-ic::after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid currentColor;opacity:.45;animation:toastRing .6s cubic-bezier(.19,1,.22,1) forwards}
@keyframes toastRing{0%{transform:scale(.7);opacity:.55}100%{transform:scale(1.7);opacity:0}}
.toast.t-ok .toast-ic svg path{stroke-dasharray:26;stroke-dashoffset:26;animation:toastCheck .45s .14s cubic-bezier(.65,0,.35,1) forwards}
@keyframes toastCheck{to{stroke-dashoffset:0}}
.toast.t-ok .toast-ic{background:var(--pos)}.toast.t-err .toast-ic{background:var(--neg)}.toast.t-info .toast-ic{background:var(--accent)}.toast.t-warn .toast-ic{background:var(--warn)}

/* DASHBOARD-specific (row/row2/funnel/progress/health/winner) */
.row{display:grid;grid-template-columns:1fr 2fr 1fr;gap:16px;margin-bottom:16px}
@media(max-width:1400px){.row{grid-template-columns:1fr 1fr}.row .funnel{grid-column:span 2}}
.funnel{padding:22px}.fn{display:flex;align-items:center;gap:14px;margin-bottom:12px}.fn-bar{height:34px;border-radius:8px;flex-shrink:0}.fn b{font-size:.86rem;font-weight:600}.fn .n{margin-left:auto;font-weight:800;font-family:var(--mono)}
.fn-conv{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:.85rem}.fn-conv b{color:var(--pos);font-family:var(--mono)}@media(max-width:1400px){}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;font-weight:700;font-size:.9rem;padding:13px;border-radius:12px;cursor:pointer;transition:.18s;border:none;width:100%;font-family:var(--font)}
.btn svg{width:18px;height:18px;flex-shrink:0}
.btn-azul{background:var(--accent);color:#fff}.btn-azul:hover{background:var(--azul-2)}.winner-p{display:flex;gap:14px;align-items:center;margin:6px 0 16px}.winner-p b{font-size:1rem}
.tag{display:inline-block;background:rgba(15,160,95,.14);color:var(--pos);font-family:var(--mono);font-size:.64rem;font-weight:600;padding:3px 9px;border-radius:20px;margin-top:4px}
.progress{padding:24px;background:var(--negro);color:#fff;border:none}.progress .card-hd h3{color:#fff}.progress .card-hd a{color:var(--lima)}.ring{position:relative;width:88px;height:88px;flex-shrink:0}.ring .rv{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem}
.progress h4{font-size:1.3rem;margin-bottom:3px}.progress .pt{color:rgba(255,255,255,.7);font-size:.88rem}
.progress .foot{margin-top:14px;font-size:.82rem;color:rgba(255,255,255,.7)}
.reco{padding:22px}.reco p{font-size:.92rem;color:var(--ink-2);line-height:1.55;margin-bottom:14px}.reco p b{color:var(--ink)}
.health{background:linear-gradient(120deg,rgba(72,0,255,.06),rgba(224,99,213,.05));border:1px solid var(--line);border-radius:20px;padding:22px 26px;display:flex;align-items:center;gap:26px;flex-wrap:wrap}
:root[data-theme="dark"] .health{background:linear-gradient(120deg,rgba(72,0,255,.14),rgba(224,99,213,.08))}
.health-l{display:flex;align-items:center;gap:16px;flex-shrink:0}.health-badge{width:60px;height:60px;border-radius:16px;background:var(--lima);color:var(--negro);display:flex;align-items:center;justify-content:center}.health-badge svg{width:30px;height:30px}
.health-l h4{font-size:1.05rem}.health-l p{font-size:.82rem;color:var(--ink-2);max-width:220px}
.health-tasks{display:flex;gap:28px;margin-left:auto;flex-wrap:wrap}.htask{display:flex;align-items:center;gap:11px}.htask .chk{width:30px;height:30px;border-radius:50%;border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;color:var(--accent)}.htask.done .chk{background:var(--accent);color:var(--lima);border-color:var(--accent)}.htask .chk svg{width:15px;height:15px}.htask b{font-size:.84rem;display:block}.htask .p{font-family:var(--mono);font-size:.74rem;font-weight:600;color:var(--pos)}
.health-cta{background:var(--accent);color:#fff;font-weight:800;padding:16px 26px;border-radius:14px;text-align:center;line-height:1.2;cursor:pointer;flex-shrink:0}.health-cta:hover{background:var(--azul-2)}

/* FLOATING — dock persistente (WhatsApp + Primeros pasos) */
.dockfab{position:fixed;right:24px;bottom:24px;z-index:100;display:flex;flex-direction:row;align-items:center;gap:12px;transition:opacity .2s,transform .2s}
body.modal-open .dockfab{opacity:0;pointer-events:none;transform:translateY(12px)}
body.modal-open{overflow:hidden}
.fab{display:flex;align-items:center;gap:9px;border:none;cursor:pointer;font-family:var(--font);font-weight:700;font-size:.85rem;border-radius:50px;box-shadow:0 12px 30px rgba(16,16,16,.22);transition:transform .16s ease,box-shadow .16s ease}
.fab:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(16,16,16,.28)}
.fab svg{flex-shrink:0}
.fab-steps{background:var(--accent);color:#fff;border:none;padding:13px 16px 13px 20px;border-radius:14px;position:relative}
.fab-steps .fab-logo{width:18px;height:24px;object-fit:contain;flex-shrink:0}
.fab-steps:hover{filter:brightness(1.1)}
:root[data-theme="dark"] .fab-steps{background:#1A1A21;color:var(--lima);border:none}:root[data-theme="dark"] .fab-steps:hover{background:#22222B;color:var(--lima)}
:root[data-theme="dark"] .fab-steps .fab-logo{filter:none}
.fab-x{width:22px;height:22px;border-radius:50%;border:none;background:rgba(255,255,255,.22);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:4px;flex-shrink:0;opacity:.8;transition:opacity .15s,background .15s}
.fab-x svg{width:11px;height:11px}
.fab-steps:hover .fab-x{opacity:1}
.fab-x:hover{background:rgba(255,255,255,.35)}
:root[data-theme="dark"] .fab-x{background:rgba(255,255,255,.12);color:rgba(255,255,255,.75);opacity:.85}
.fab-steps-mini{display:none;width:48px;height:48px;border-radius:50%;background:var(--accent);border:none;align-items:center;justify-content:center;padding:0}
.fab-steps-mini .fab-logo{width:16px;height:22px;object-fit:contain}
.fab-steps-mini:hover{filter:brightness(1.1)}
:root[data-theme="dark"] .fab-steps-mini{background:#1A1A21;border:none}
:root[data-theme="dark"] .fab-steps-mini .fab-logo{filter:none}
body.steps-min .fab-steps{display:none}
body.steps-min .fab-steps-mini{display:flex}
.fab-wa{width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;justify-content:center;padding:0}.fab-wa svg{width:30px;height:30px}
.fab-wa:hover{background:#1fb457}
/* popover primeros pasos — widget de activación (7 pasos, basado en el widget real) */
.steps-pop{position:fixed;right:22px;bottom:96px;z-index:300;width:392px;max-width:calc(100vw - 32px);max-height:calc(100vh - 130px);display:none;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:22px;box-shadow:0 34px 90px -22px rgba(0,0,0,.5);overflow:hidden}
.steps-pop.open{display:flex;animation:spUp .3s cubic-bezier(.19,1,.22,1)}
@keyframes spUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.sp-hd{display:flex;align-items:center;gap:12px;padding:16px 16px 15px 18px;background:linear-gradient(135deg,#4800FF,#3402B1);color:#fff;flex-shrink:0}
.sp-logo{width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sp-logo img{width:16px;height:22px}
.sp-hd-tx{flex:1;min-width:0}
.sp-hd-tx b{display:block;font-size:1rem;letter-spacing:-.01em}
.sp-hd-tx span{font-size:.76rem;opacity:.85}
.sp-min{width:34px;height:34px;border-radius:50%;border:none;background:rgba(255,255,255,.16);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s}
.sp-min:hover{background:rgba(255,255,255,.28)}
.sp-min svg{width:17px;height:17px}
.sp-steps{padding:16px 18px 4px;overflow-y:auto}
.sp-step{display:flex;gap:14px;width:100%;text-align:left;background:none;border:none;padding:0;cursor:pointer;font-family:var(--font);color:inherit}
.sp-rail{display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.sp-dot{width:26px;height:26px;border-radius:50%;border:2.5px solid var(--line);background:var(--panel);display:flex;align-items:center;justify-content:center;color:#14151A;transition:border-color .15s,background .15s}
.sp-dot svg{width:13px;height:13px}
.sp-line{width:2.5px;flex:1;min-height:18px;background:var(--line);margin:3px 0}
.sp-tx{padding:2px 0 16px;min-width:0}
.sp-tx b{display:block;font-size:.9rem;line-height:1.3}
.sp-tx span{display:block;font-size:.78rem;color:var(--ink-3);line-height:1.35;margin-top:2px}
.sp-step:hover .sp-dot{border-color:var(--accent)}
.sp-step.done .sp-dot{background:var(--lima);border-color:var(--lima)}
.sp-step.done .sp-line{background:var(--lima)}
.sp-step.done .sp-tx b{color:var(--ink-2);text-decoration:line-through;text-decoration-color:rgba(20,21,26,.35)}
:root[data-theme="dark"] .sp-step.done .sp-tx b{text-decoration-color:rgba(255,255,255,.35)}
.sp-foot{padding:12px 18px 16px;border-top:1px solid var(--line);flex-shrink:0}
.sp-prog{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.sp-bar{flex:1;height:7px;background:var(--chip);border-radius:6px;overflow:hidden}
.sp-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),#7C3AED);border-radius:6px;transition:width .3s}
.sp-prog span{font-family:var(--mono);font-size:.72rem;font-weight:600;color:var(--ink-2);white-space:nowrap}
.sp-cta{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;padding:14px;border:none;border-radius:14px;background:var(--accent);color:#fff;font-family:var(--font);font-weight:800;font-size:.95rem;cursor:pointer;transition:filter .15s,transform .15s;box-shadow:0 12px 26px -12px rgba(72,0,255,.55)}
.sp-cta:hover{filter:brightness(1.1);transform:translateY(-1px)}
.sp-cta svg{width:17px;height:17px}
:root[data-theme="dark"] .sp-cta{background:var(--lima);color:#14151A;box-shadow:0 12px 26px -12px rgba(224,252,9,.3)}
@media(max-width:700px){.steps-pop{right:16px;bottom:84px}}
.previewbadge{position:fixed;left:22px;bottom:22px;z-index:100;background:var(--magenta);color:#fff;font-family:var(--mono);font-size:.72rem;font-weight:600;padding:8px 14px;border-radius:30px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
/* ===================== MODAL genérico (reutilizable) ===================== */
.modal-ov{position:fixed;inset:0;z-index:350;background:rgba(10,11,16,.6);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:38px 18px;overflow-y:auto;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s cubic-bezier(.19,1,.22,1),visibility .24s}
.modal-ov.open{opacity:1;visibility:visible;pointer-events:auto}
.modal{background:var(--panel);border:1px solid var(--line);border-radius:22px;width:100%;max-width:960px;box-shadow:0 40px 110px -22px rgba(0,0,0,.6);margin:auto;overflow:hidden;opacity:0;transform:translateY(14px) scale(.975);transition:opacity .26s cubic-bezier(.19,1,.22,1),transform .3s cubic-bezier(.19,1,.22,1)}
.modal-ov.open .modal{opacity:1;transform:none}
.modal.lg{max-width:1160px}
.modal.xl{max-width:1360px}
.modal.full{max-width:none}
.modal-hd{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:19px 24px;border-bottom:1px solid var(--line)}
.modal-hd h3{font-size:1.12rem;font-weight:800;letter-spacing:-.01em;display:flex;align-items:center;gap:12px}
.modal-x{background:var(--bg);border:1px solid var(--line);border-radius:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-2);flex-shrink:0}.modal-x svg{width:18px;height:18px}.modal-x:hover{color:var(--ink)}
.modal-bd{padding:24px;max-height:calc(100vh - 210px);overflow-y:auto}
.modal-ft{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid var(--line);background:var(--bg)}
.pill-green{display:inline-flex;align-items:center;gap:7px;background:rgba(15,160,95,.14);color:var(--pos);font-family:var(--mono);font-weight:600;font-size:.72rem;padding:5px 12px;border-radius:20px;border:none;cursor:pointer}.pill-green svg{width:14px;height:14px}
.pill-accent{display:inline-flex;align-items:center;gap:7px;background:var(--accent-soft);color:var(--accent);font-family:var(--mono);font-weight:600;font-size:.72rem;padding:6px 13px;border-radius:20px;border:none;cursor:pointer;transition:.15s}.pill-accent svg{width:14px;height:14px}.pill-accent:hover{background:var(--accent);color:#fff}
.btn-green{background:var(--pos);color:#fff}.btn-green:hover{background:#0C864F}
.btn-red{background:none;border:1px solid var(--neg);color:var(--neg)}.btn-red:hover{background:rgba(224,87,83,.08)}

/* Ficha de producto (modal) */
.pd-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:20px}
.pd-chip{display:inline-flex;align-items:center;gap:7px;font-size:.83rem;color:var(--ink-2)}.pd-chip svg{width:16px;height:16px;color:var(--ink-3)}.pd-chip b{color:var(--ink)}.pd-chip a{color:var(--accent);font-weight:600}
.pd-id{font-family:var(--mono);font-size:.72rem;font-weight:600;background:var(--bg);border:1px solid var(--line);padding:4px 11px;border-radius:20px}
.pd-top .pd-r{margin-left:auto;display:flex;gap:8px}
.pd-grid{display:grid;grid-template-columns:400px 1fr;gap:26px}@media(max-width:820px){.pd-grid{grid-template-columns:1fr}}
.pd-main{width:100%;height:340px;border-radius:16px;background:radial-gradient(120% 120% at 50% 30%,var(--panel),var(--bg) 78%);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:6rem}
.pd-thumbs{display:flex;gap:10px;margin-top:12px}.pd-thumb{width:60px;height:60px;border-radius:12px;background:var(--bg);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.7rem}
.pd-name{font-size:1.4rem;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.pd-sku{display:flex;align-items:center;gap:8px;margin:11px 0 16px}.pd-sku .sku-b{font-family:var(--mono);font-size:.78rem;font-weight:600;color:var(--accent);background:var(--accent-soft);padding:5px 11px;border-radius:8px}
.pd-boxes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.pd-box{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px 14px}.pd-box .l{font-size:.68rem;color:var(--ink-3);font-family:var(--mono);text-transform:uppercase}.pd-box .v{font-weight:700;font-size:.95rem;margin-top:3px}
.pd-price{font-size:1.9rem;font-weight:800;color:var(--accent);letter-spacing:-.02em;margin-bottom:16px}
.pd-desc{font-size:.88rem;color:var(--ink-2);line-height:1.6}
.pd-meta{display:flex;gap:34px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.pd-meta .mh{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;margin-bottom:8px}.pd-meta .mh svg{width:16px;height:16px;color:var(--ink-3)}
.pd-tags{display:flex;gap:6px;flex-wrap:wrap}.pd-tag{font-size:.72rem;background:var(--accent-soft);color:var(--accent);padding:3px 9px;border-radius:7px;font-weight:600}

/* Crear pedido (modal) 3 columnas */
.co-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr) minmax(0,1.05fr)}@media(max-width:1150px){.co-grid{grid-template-columns:1fr 1fr}.co-grid .co-col:last-child{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding-top:18px;margin-top:8px}}@media(max-width:900px){.co-grid{grid-template-columns:1fr}.co-grid .co-col:last-child{grid-column:auto}}
.co-col{padding:4px 22px;min-width:0}.co-col+.co-col{border-left:1px solid var(--line)}@media(max-width:900px){.co-col+.co-col{border-left:0;border-top:1px solid var(--line);padding-top:18px;margin-top:8px}}
.co-tab{display:block;text-align:center;background:var(--accent-soft);color:var(--accent);font-family:var(--mono);font-weight:600;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:10px;border-radius:10px;margin-bottom:18px}
.co-ship{border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center;margin-bottom:12px;cursor:pointer;transition:.16s}.co-ship:hover,.co-ship.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.co-ship .cl{height:36px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;font-weight:800;color:var(--ink)}
.co-ship b{font-size:.9rem}.co-ship .price{color:var(--ink-3);font-size:.85rem;margin-top:4px}
.co-prod{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.co-prod b{font-size:.86rem;line-height:1.3}.co-prod .stk{color:var(--accent);font-size:.75rem}
.co-qty{width:60px;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:8px;text-align:center;font-family:var(--font);color:var(--ink)}
.co-sum h4{font-size:1.02rem;margin:16px 0 12px}
.co-sr{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;font-size:.85rem;color:var(--ink-2)}
.co-sr .sv{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:7px 12px;width:96px;min-width:0;flex:0 0 auto;text-align:right;font-family:var(--mono);font-weight:600;color:var(--ink)}
.co-sr.total{border-top:1px solid var(--line);margin-top:6px;padding-top:13px;font-weight:700;color:var(--ink)}
.co-sr.total .sv{color:var(--accent)}
.co-warn{display:flex;align-items:flex-start;gap:10px;background:rgba(222,120,30,.09);border:1px solid rgba(222,120,30,.25);border-radius:11px;padding:12px 14px;font-size:.78rem;color:var(--warn);margin-top:12px;line-height:1.45}
.co-warn>svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}
.co-warn .tg{margin-right:6px;vertical-align:-4px}.co-warn .tg i{width:32px;height:19px}.co-warn .tg i::after{width:13px;height:13px}
.prod-send{display:flex;align-items:center;justify-content:center;gap:9px;padding:13px;border-top:1px solid var(--line);color:var(--accent);font-weight:700;font-size:.86rem;cursor:pointer;background:var(--panel);transition:background .14s}.prod-send:hover{background:var(--accent-soft)}.prod-send svg{width:17px;height:17px}

/* Grid de proveedores */
.sup-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:1200px){.sup-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.sup-grid{grid-template-columns:repeat(2,1fr)}}
.sup-card{position:relative;padding:24px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer}.sup-card:hover{transform:translateY(-4px)}.sup-card.on{border-color:var(--accent);background:var(--accent-soft)}
.sup-fav{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:var(--panel);display:flex;align-items:center;justify-content:center;color:var(--ink-3);cursor:pointer}.sup-fav svg{width:16px;height:16px}.sup-fav.on{color:var(--magenta)}.sup-fav.on svg{fill:var(--magenta)}
.sup-logo{width:86px;height:86px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:#fff;margin-bottom:14px;text-align:center;line-height:1.05;padding:6px}
.sup-ver{display:inline-flex;align-items:center;gap:5px;background:var(--pos);color:#fff;font-family:var(--mono);font-size:.64rem;font-weight:600;padding:3px 10px;border-radius:20px;margin-bottom:8px}.sup-ver svg{width:12px;height:12px}
.sup-card .sn{font-size:1rem;font-weight:800}.sup-card .sc{color:var(--accent);font-weight:700;font-size:.85rem;margin-top:5px}.sup-card .scat{font-size:.77rem;color:var(--ink-3);margin-top:6px;line-height:1.4}

/* Calculadora v2 */
.pcalc{display:grid;grid-template-columns:400px 1fr;gap:20px;align-items:start}@media(max-width:1000px){.pcalc{grid-template-columns:1fr}}
.pc-in{padding:22px}
.pc-search{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--ink-3);font-size:.88rem}.pc-search svg{width:18px;height:18px;flex-shrink:0}
.pc-link{color:var(--accent);font-weight:600;font-size:.82rem;margin-top:10px;display:inline-block;cursor:pointer}
.pc-sec{font-family:var(--mono);font-size:.63rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin:24px 0 2px}.pc-sec:first-child{margin-top:6px}.pc-sec .pc-note{display:block;text-transform:none;letter-spacing:0;color:var(--ink-3);font-family:var(--font);font-size:.74rem;margin-top:3px;font-weight:400}
.pc-field{margin-top:14px}.pc-field>label{font-size:.82rem;font-weight:600;color:var(--ink-2);display:block;margin-bottom:7px}
.pc-hint{font-size:.73rem;color:var(--ink-3);margin-top:5px;line-height:1.4}
.pc-money{display:flex;align-items:center;background:var(--panel);border:1.5px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.pc-money:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.pc-money span{align-self:stretch;display:flex;align-items:center;padding:0 13px;color:var(--ink-3);font-weight:700;background:var(--bg);border-right:1px solid var(--line)}
.pc-money input{flex:1;min-width:0;background:transparent;border:none;padding:12px 13px;font-family:var(--font);font-size:1rem;font-weight:700;color:var(--ink)}.pc-money input:focus{outline:none}
.pc-slider{display:flex;align-items:center}
.pc-slider input[type=range]{-webkit-appearance:none;appearance:none;flex:1;height:8px;border-radius:6px;background:var(--chip);outline:none;cursor:pointer}
.pc-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--accent);border:3px solid var(--panel);box-shadow:0 3px 10px -2px rgba(72,0,255,.55);cursor:pointer;transition:transform .12s}
.pc-slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}
.pc-slider input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent);border:3px solid var(--panel);box-shadow:0 3px 10px -2px rgba(72,0,255,.55);cursor:pointer}
.pc-radio{display:flex;gap:10px;margin-top:8px}.pc-radio label{flex:1;border:1.5px solid var(--line);border-radius:12px;padding:11px;text-align:center;font-size:.82rem;font-weight:600;cursor:pointer;color:var(--ink-2);transition:.15s}.pc-radio input{display:none}.pc-radio label:hover{border-color:var(--accent);color:var(--ink)}.pc-radio label.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.pc-out{padding:0;overflow:hidden}
.pc-hero{position:relative;overflow:hidden;padding:34px 26px 30px;text-align:center;transition:background .3s;background:radial-gradient(130% 130% at 50% -25%,var(--accent-soft),transparent 60%),var(--panel)}
.pc-hero.empty{background:var(--bg)}
.pc-hero .ph-badge{display:inline-block;font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:var(--chip);border:1px solid var(--line);padding:7px 15px;border-radius:20px}
.pc-hero .ph-l{font-family:var(--mono);font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.pc-hero .ph-v{font-size:3.4rem;font-weight:800;letter-spacing:-.03em;margin-top:8px;line-height:1}
:root[data-theme="dark"] .pc-hero{background:radial-gradient(130% 130% at 50% -25%,rgba(126,35,249,.3),transparent 60%),#15162B}
.pc-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.pc-metric{padding:18px 14px;text-align:center;border-right:1px solid var(--line)}.pc-metric:last-child{border-right:0}.pc-metric .l{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.pc-metric .v{font-size:1.35rem;font-weight:800;margin-top:7px;letter-spacing:-.02em}
.pc-funnel{padding:22px}.pc-funnel h4{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.pc-steps{display:flex;align-items:stretch;gap:6px}
.pc-step{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:15px 8px;text-align:center}
.st-ic{width:34px;height:34px;border-radius:10px;margin:0 auto 9px;display:flex;align-items:center;justify-content:center;background:var(--chip);color:var(--ink-2)}.st-ic svg{width:17px;height:17px}
.pc-step .sv{font-size:1.2rem;font-weight:800;letter-spacing:-.02em}.pc-step .sl{font-family:var(--mono);font-size:.55rem;text-transform:uppercase;color:var(--ink-3);margin-top:3px}
.pc-step.inv .sv{color:var(--accent)}.pc-step.inv .st-ic{background:var(--accent-soft);color:var(--accent)}
.pc-step.good{background:rgba(15,160,95,.1);border-color:rgba(15,160,95,.3)}.pc-step.good .sv{color:var(--pos)}.pc-step.good .st-ic{background:rgba(15,160,95,.16);color:var(--pos)}
.pc-step.bad{background:rgba(224,87,83,.08);border-color:rgba(224,87,83,.25)}.pc-step.bad .sv{color:var(--neg)}.pc-step.bad .st-ic{background:rgba(224,87,83,.14);color:var(--neg)}
.pc-arrow{display:flex;align-items:center;color:var(--ink-3);flex-shrink:0}.pc-arrow svg{width:15px;height:15px}
/* Calculadora v2: money-card + funnel apilado */
.pcalc-r{display:flex;flex-direction:column;gap:16px}
.pc-result{position:relative;overflow:hidden;padding:30px 28px;color:#fff;background:radial-gradient(120% 120% at 85% -12%,rgba(72,0,255,.4),transparent 55%),linear-gradient(158deg,#1B1E3A,#0B0C16);border:1px solid #2C2F50;box-shadow:0 22px 50px -22px rgba(11,13,24,.6)}
:root[data-theme="dark"] .pc-result{background:radial-gradient(120% 120% at 85% -12%,rgba(126,35,249,.42),transparent 55%),linear-gradient(158deg,#24274A,#15162B);border-color:#3B3F6C}
.pcr-glow{position:absolute;top:-90px;left:-50px;width:300px;height:300px;border-radius:50%;filter:blur(34px);opacity:.4;background:var(--accent);pointer-events:none;transition:background .4s,opacity .4s}
.pcr-eyebrow{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:600}
.pcr-eyebrow svg{width:15px;height:15px;color:var(--lima)}
.pcr-num{position:relative;z-index:1;font-size:3.6rem;font-weight:800;letter-spacing:-.03em;line-height:1;margin-top:12px}
.pcr-tag{position:relative;z-index:1;font-size:.86rem;color:rgba(255,255,255,.6);margin-top:9px}
.pcr-metrics{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}
.pcr-metric{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:13px 8px;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.pcr-metric .l{display:block;font-family:var(--mono);font-size:.55rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:5px}
.pcr-metric b{font-size:1.22rem;font-weight:800;letter-spacing:-.02em;color:#fff}
.pc-laststack{display:flex;flex-direction:column;gap:6px;flex:1.2}
.pc-step.sm{display:flex;align-items:center;gap:11px;text-align:left;padding:11px 13px}
.pc-step.sm .st-ic{margin:0}
.pc-step.sm .stx .sv{font-size:1.05rem}.pc-step.sm .stx .sl{margin-top:1px}
/* funnel: tasa de conversión sobre la flecha */
.pc-arrow{flex-direction:column;gap:3px}
.pc-conv{font-family:var(--mono);font-size:.6rem;font-weight:700;color:var(--accent);background:var(--chip);border:1px solid var(--line);border-radius:6px;padding:1px 5px;line-height:1.4;white-space:nowrap}
/* Desglose P&G: barra de composición + filas con punto */
.pnl-stack{display:flex;height:16px;border-radius:8px;overflow:hidden;background:var(--chip);margin:6px 0 16px;box-shadow:inset 0 1px 2px rgba(0,0,0,.06)}
.ps-seg{height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);position:relative;min-width:0}
.ps-seg span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.56rem;font-weight:700;color:#fff;letter-spacing:.02em;opacity:0;transition:opacity .3s;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.ps-seg[data-wide="1"] span{opacity:.95}
.ps-prof{background:linear-gradient(90deg,#0FA05F,#12C074)}
.ps-prod{background:linear-gradient(90deg,#7C5CFF,#9A7BFF)}
.ps-env{background:linear-gradient(90deg,#3E9BFF,#63B0FF)}
.ps-inv{background:linear-gradient(90deg,#DE781E,#F0913C)}
.pnl-rows{display:flex;flex-direction:column;gap:2px}
.pnl-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0;margin-right:9px}
.pnl-row .pnl-l{flex:1;color:var(--ink-2)}
.pnl-row.pnl-total .pnl-l{color:var(--ink);font-weight:700}
/* Mis Descuentos por Pack — tabla estándar */
.dsc-sub{padding:0 20px 12px;font-size:.85rem;color:var(--ink-3);line-height:1.55;max-width:940px}
.dsc-chip{display:inline-flex;align-items:center;background:var(--info-soft,rgba(62,155,255,.12));color:var(--info,#3E9BFF);border-radius:999px;padding:4px 12px;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin:2px 0}
.dsc-amt{display:inline-block;background:var(--pos);color:#fff;border-radius:999px;padding:5px 14px;font-weight:800;font-size:.88rem;white-space:nowrap}
.dsc-unit{font-size:.76rem;color:var(--ink-3);margin-top:6px}
/* Packs — contenido en viñetas */
.pack-content{list-style:none;margin:0;padding:0;font-size:.84rem;color:var(--ink-2)}
.pack-content li{position:relative;padding-left:16px;line-height:1.6}
.pack-content li::before{content:'';position:absolute;left:2px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--accent)}
/* Packs — crear pack (2 columnas) */
.pk-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:18px;align-items:start}
@media(max-width:960px){.pk-grid{grid-template-columns:1fr}}
.pk-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.pk-actions{display:flex;justify-content:center;gap:14px;margin-top:22px}
.pk-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:38px 20px;text-align:center;color:var(--ink-3);border-top:1px solid var(--line)}
.pk-empty svg{width:34px;height:34px;color:var(--ink-3);opacity:.6}
.pk-empty p{font-size:.86rem;line-height:1.5}
.pk-form{padding:16px 20px 20px}
.pk-hint{display:flex;gap:10px;margin-top:18px;padding:13px 15px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:12px;font-size:.82rem;color:var(--ink);line-height:1.5}
.pk-hint svg{width:17px;height:17px;color:var(--accent);flex-shrink:0;margin-top:1px}
.pk-tbl{width:100%;table-layout:fixed;min-width:0}
.pk-tbl td{vertical-align:middle}
.pk-tbl .fdrop,.pk-tbl .fdrop-btn{width:100%;min-width:0}
.pc-prodpick .fdrop,.pc-prodpick .fdrop-btn{width:100%}
.pc-prodpick{margin-top:2px}
.pk-tbl input[type=number]{width:100%!important;text-align:center}
.pk-tbl td:last-child{text-align:center;padding-left:6px;padding-right:6px}
/* Modal detalle de solicitud — minimalista monocromo */
.solm-hero{display:flex;align-items:center;gap:14px;padding:2px 0 6px}
.solm-thumb{width:46px;height:46px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}
.solm-thumb svg{width:22px;height:22px}
.solm-hmain{flex:1;min-width:0}
.solm-name{font-size:1.08rem;font-weight:800;letter-spacing:-.015em;color:var(--ink);line-height:1.25}
.solm-meta{font-size:.8rem;color:var(--ink-3);margin-top:4px}
.solm-status{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:700;color:var(--ink-2)}
.solm-status .d{width:7px;height:7px;border-radius:50%}
.solm-status .d.pos{background:var(--pos)}.solm-status .d.warn{background:var(--warn)}.solm-status .d.neg{background:var(--neg)}
/* stepper monocromo */
.solm-steps{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 6px 22px}
.solm-step{display:flex;flex-direction:column;align-items:center;gap:9px;flex:1;position:relative;z-index:1}
.solm-step .sc{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--chip);color:var(--ink-3);border:1.5px solid var(--line);transition:.2s}
.solm-step .sc svg{width:17px;height:17px}
.solm-step .sl{font-size:.72rem;font-weight:600;color:var(--ink-3);text-align:center}
.solm-step::before{content:'';position:absolute;top:17px;right:50%;width:100%;height:2px;background:var(--line);z-index:-1}
.solm-step:first-child::before{display:none}
.solm-step.done .sc{background:var(--accent);border-color:var(--accent);color:#fff}
.solm-step.done .sl{color:var(--ink)}
.solm-step.done::before{background:var(--accent)}
.solm-step.active .sc{background:var(--accent-soft);border-color:var(--accent);border-width:2px;color:var(--accent)}
.solm-step.active .sl{color:var(--accent);font-weight:700}
.solm-step.active::before{background:var(--accent)}
.solm-step.rejected .sc{background:rgba(224,87,83,.12);border-color:var(--neg);color:var(--neg)}
.solm-step.rejected .sl{color:var(--neg)}
.solm-step.rejected::before{background:var(--accent)}
/* info: dos celdas limpias */
.solm-info{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:14px}
.solm-cell{padding:13px 16px}
.solm-cell+.solm-cell{border-left:1px solid var(--line)}
.solm-cell .l{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:600;margin-bottom:6px}
.solm-cell b{font-size:.96rem;font-weight:700;color:var(--ink)}
/* hint neutro */
.solm-hint{display:flex;gap:9px;align-items:flex-start;font-size:.84rem;color:var(--ink-3);line-height:1.55}
.solm-hint svg{width:16px;height:16px;flex-shrink:0;margin-top:1px;color:var(--ink-3)}
.solm-hint b{color:var(--ink-2);font-weight:700}
.solm-cancel:hover{color:var(--neg)}
/* ===== PROVEEDORES ===== */
.prov-fr .ff{min-width:190px}
.prov-fr .ff .fdrop,.prov-cat-tools .ff .fdrop{width:100%}
.prov-fr .fdrop-btn,.prov-cat-tools .fdrop-btn{width:100%}
.sup-card:hover{box-shadow:0 18px 40px -22px rgba(20,21,26,.3)}
/* breadcrumb */
.crumbs{display:flex;align-items:center;gap:9px;font-size:.82rem;color:var(--ink-3);margin-bottom:16px;flex-wrap:wrap}
.crumbs svg{width:15px;height:15px}
.crumbs a{color:var(--ink-3)}.crumbs a:hover{color:var(--accent)}
.crumbs b{color:var(--ink);font-weight:700}
.crumbs span{opacity:.5}
/* ficha proveedor: cabecera */
.prov-head{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:22px 24px;margin-bottom:16px}
.ph-main{display:flex;gap:18px;min-width:0;flex:1}
.ph-logo{width:76px;height:76px;border-radius:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:.95rem;text-align:center;line-height:1.05;padding:6px}
.ph-info{min-width:0}
.ph-title{display:flex;align-items:center;gap:10px;font-size:1.28rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);flex-wrap:wrap}
.pill-ver{display:inline-flex;align-items:center;gap:5px;background:var(--accent);color:#fff;font-family:var(--mono);font-size:.64rem;font-weight:700;padding:4px 10px;border-radius:20px}
.pill-ver svg{width:12px;height:12px}
.ph-meta{display:flex;align-items:center;gap:7px;font-size:.85rem;color:var(--ink-3);margin-top:8px}
.ph-meta svg{width:15px;height:15px;color:var(--ink-3)}
.ph-meta b{color:var(--ink-2);font-weight:700}
.ph-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.ph-chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:4px 12px;font-size:.74rem;font-weight:700}
.ph-chip.more{background:var(--chip);color:var(--ink-3)}
.ph-btns{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.btn-wa{display:inline-flex;align-items:center;gap:8px;background:#25D366;color:#fff;border:none;border-radius:12px;padding:10px 18px;font-family:var(--font);font-weight:700;font-size:.88rem;cursor:pointer}
.btn-wa svg{width:18px;height:18px}
.ph-side{display:flex;flex-direction:column;gap:12px;align-items:stretch;flex-shrink:0}
.ph-stats{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ph-stat{text-align:center;padding:14px 24px;border-left:1px solid var(--line);flex:1}
.ph-stat:first-child{border-left:none}
.ph-stat b{display:block;font-size:1.55rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1}
.ph-stat span{font-size:.7rem;color:var(--ink-3);margin-top:5px;display:block;white-space:nowrap}
.ph-favbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:11px 16px;font-family:var(--font);font-weight:700;font-size:.85rem;color:var(--ink-2);cursor:pointer;transition:.16s}
.ph-favbtn svg{width:16px;height:16px}
.ph-favbtn:hover{border-color:var(--magenta);color:var(--magenta)}
.ph-favbtn.on{background:rgba(214,51,132,.1);border-color:var(--magenta);color:var(--magenta)}
.ph-favbtn.on svg{fill:var(--magenta)}
@media(max-width:820px){.ph-side{width:100%}}
/* ficha proveedor: rating */
.prov-rate{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:14px;align-items:stretch;padding:22px 24px;margin-bottom:16px}
@media(max-width:1080px){.prov-rate{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.prov-rate{grid-template-columns:1fr}}
.pr-left{display:flex;flex-direction:column;justify-content:center;padding-right:8px}
.pr-t{font-size:.82rem;color:var(--ink-3);font-weight:600}
.pr-badge{margin:9px 0 13px;font-size:.92rem;color:var(--ink-2)}
.pr-badge b{font-weight:800}.pr-badge b.pos{color:var(--pos)}.pr-badge b.warn{color:var(--warn)}.pr-badge b.neg{color:var(--neg)}
.rate-bar{height:9px;background:var(--chip);border-radius:5px;overflow:hidden}
.rate-bar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#E05753,#DE781E,#0FA05F)}
.pr-metric{display:flex;align-items:center;gap:13px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px 15px}
.pr-ic{display:inline-flex;width:42px;height:42px;border-radius:12px;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);flex-shrink:0}
.pr-ic svg{width:20px;height:20px}
.pr-tx b{display:block;font-size:.92rem;color:var(--ink);font-weight:800}
.pr-tx span{display:block;font-size:.75rem;color:var(--ink-3);margin-top:3px;line-height:1.35}
/* ficha proveedor: catálogo */
.prov-cat-body{padding:2px 20px 20px}
.prov-cat-tools{display:flex;gap:16px;align-items:end;padding:6px 0 18px}
.prov-cat-tools .ff{min-width:210px}
/* ===== ANIMACIONES GLOBALES ===== */
/* A. cascada de tarjetas en grids */
.prod-grid>*:nth-child(1),.sup-grid>*:nth-child(1),.prod-list>*:nth-child(1){animation-delay:.02s}
.prod-grid>*:nth-child(2),.sup-grid>*:nth-child(2),.prod-list>*:nth-child(2){animation-delay:.07s}
.prod-grid>*:nth-child(3),.sup-grid>*:nth-child(3),.prod-list>*:nth-child(3){animation-delay:.12s}
.prod-grid>*:nth-child(4),.sup-grid>*:nth-child(4),.prod-list>*:nth-child(4){animation-delay:.17s}
.prod-grid>*:nth-child(5),.sup-grid>*:nth-child(5),.prod-list>*:nth-child(5){animation-delay:.22s}
.prod-grid>*:nth-child(6),.sup-grid>*:nth-child(6),.prod-list>*:nth-child(6){animation-delay:.27s}
.prod-grid>*:nth-child(7),.sup-grid>*:nth-child(7),.prod-list>*:nth-child(7){animation-delay:.32s}
.prod-grid>*:nth-child(8),.sup-grid>*:nth-child(8),.prod-list>*:nth-child(8){animation-delay:.37s}
/* B. pop del corazón SOLO al marcarlo (clase .pop la pone el click, no el render) */
@keyframes favPop{0%{transform:scale(1)}40%{transform:scale(1.4)}65%{transform:scale(.85)}100%{transform:scale(1)}}
.fav.pop.on svg,.sup-fav.pop.on svg,.pdx-fav.pop.on svg{animation:favPop .42s cubic-bezier(.34,1.56,.64,1)}
/* C. feedback táctil de botones */
.btn:active,.mini-btn:active,.iconbtn:active,.btn-out:active,.btn-ghost2:active,.btn-wa:active,.ph-favbtn:active,.fdrop-btn:active,.datepick:active,.pill-accent:active,.btn-del-out:active{transform:scale(.96)}
.btn,.mini-btn,.iconbtn,.btn-out,.btn-ghost2,.btn-wa,.ph-favbtn,.pill-accent,.btn-del-out{transition:transform .09s ease,background var(--t-fast),color var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast)}
/* E. skeleton shimmer (scroll infinito) */
.sk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-top:16px}
@media(max-width:1100px){.sk-grid{grid-template-columns:repeat(2,1fr)}}
.sk-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.sk{position:relative;overflow:hidden;background:var(--chip)}
.sk::after{content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:skSweep 1.15s infinite}
:root[data-theme="dark"] .sk::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent)}
@keyframes skSweep{to{transform:translateX(100%)}}
.sk-img{aspect-ratio:1/.92}
.sk-l{height:12px;border-radius:6px;margin:14px 18px 0}
.sk-l.s{width:55%;margin-bottom:18px}
/* G. flotación del producto en la ficha */
@keyframes pdxFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.pdx-emoji{animation:pdxFloat 4.6s ease-in-out infinite}
@keyframes pdxShadow{0%,100%{transform:translateX(-50%) scaleX(1);opacity:1}50%{transform:translateX(-50%) scaleX(.86);opacity:.72}}
.pdx-main::after{animation:pdxShadow 4.6s ease-in-out infinite}
/* scroll infinito */
.inf-end{text-align:center;padding:26px 0 10px;color:var(--ink-3);font-family:var(--mono);font-size:.72rem;letter-spacing:.05em}
/* F. flash de fila/elemento recién creado */
@keyframes rowFlash{0%{background:var(--accent-soft)}100%{background:transparent}}
.row-flash{animation:rowFlash 1.8s ease .1s both}
/* T. press táctil en tabs */
.ptab:active,.ped-tab:active,.est-tab:active{transform:scale(.96)}
/* M. accesibilidad: respetar reduce-motion */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* ===== CATÁLOGO: barra de orden + vista lista ===== */
.cat-bar{margin-bottom:14px}
.cat-tools{display:flex;align-items:center;gap:10px}
.ob-l{font-size:.82rem;color:var(--ink-3);font-weight:600;white-space:nowrap}
.prod-list{display:flex;flex-direction:column;gap:10px}
.plr{display:flex;align-items:center;gap:16px;padding:12px 16px;cursor:pointer}
.plr:hover{transform:translateY(-2px)}
.plr-img{width:52px;height:52px;border-radius:12px;background:radial-gradient(120% 120% at 50% 20%,var(--panel),var(--chip));border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:1.7rem;flex-shrink:0}
.plr-main{flex:1;min-width:0}
.plr-main b{display:block;font-size:.92rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plr-main span{font-size:.72rem}
.plr-cats{font-family:var(--mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);width:180px;flex-shrink:0}
.plr-price{width:120px;flex-shrink:0;text-align:right}
.plr-price .pl{display:block;font-size:.62rem;color:var(--ink-3);font-family:var(--mono);text-transform:uppercase}
.plr-price b{font-size:.95rem;font-weight:800}
.plr-price b.hl{color:var(--accent)}
.plr .stock{position:static;font-family:var(--mono);font-size:.68rem;font-weight:600;background:rgba(15,160,95,.15);color:var(--pos);padding:4px 9px;border-radius:20px;flex-shrink:0}
.plr .stock.out{background:rgba(224,87,83,.14);color:var(--neg)}
@media(max-width:900px){.plr-cats{display:none}}
/* ===== FICHA DE PRODUCTO (modal) v3 premium ===== */
.pdx-grid{display:grid;grid-template-columns:440px 1fr;gap:28px}
@media(max-width:900px){.pdx-grid{grid-template-columns:1fr}}
.pdx-main{position:relative;height:400px;border-radius:20px;background:radial-gradient(130% 110% at 82% -14%,var(--accent-soft),transparent 55%),radial-gradient(120% 130% at 50% 30%,var(--panel),var(--bg) 84%);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--card-sh)}
:root[data-theme="dark"] .pdx-main{background:radial-gradient(130% 110% at 82% -14%,rgba(126,35,249,.4),transparent 55%),linear-gradient(160deg,#24274A,#13142A);border-color:#3B3F6C;box-shadow:0 22px 48px -22px rgba(0,0,0,.55)}
.pdx-aura{position:absolute;left:-60px;bottom:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(72,0,255,.14),transparent 65%);filter:blur(10px);pointer-events:none}
:root[data-theme="dark"] .pdx-aura{background:radial-gradient(circle,rgba(72,0,255,.3),transparent 65%)}
.pdx-aura::after{content:'';position:absolute;right:-170px;top:-30px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(224,252,9,.12),transparent 70%)}
.pdx-main::after{content:'';position:absolute;bottom:66px;left:50%;transform:translateX(-50%);width:48%;height:28px;border-radius:50%;background:rgba(20,21,26,.18);filter:blur(14px)}
:root[data-theme="dark"] .pdx-main::after{background:rgba(0,0,0,.55)}
:root[data-theme="dark"] .pdx-main .pd-stockchip{background:rgba(15,160,95,.22);color:#6EE7A0;border:1px solid rgba(110,231,160,.3);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
:root[data-theme="dark"] .pdx-main .pd-stockchip.out{background:rgba(224,87,83,.2);color:#FF9B98;border-color:rgba(255,155,152,.3)}
.pdx-emoji{position:relative;z-index:1;font-size:8.6rem;line-height:1;filter:drop-shadow(0 20px 26px rgba(20,21,26,.24))}
:root[data-theme="dark"] .pdx-emoji{filter:drop-shadow(0 22px 30px rgba(0,0,0,.5))}
@keyframes pdxSwap{0%{opacity:0}100%{opacity:1}}
.pdx-emoji.swap{animation:pdxFloat 4.6s ease-in-out infinite, pdxSwap .3s ease}
.pdx-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--ink-2);box-shadow:0 8px 18px -8px rgba(20,21,26,.28);opacity:0;transition:opacity .18s,color var(--t-fast),border-color var(--t-fast),transform .09s}
.pdx-nav svg{width:17px;height:17px}
.pdx-nav.prev{left:12px}.pdx-nav.next{right:12px}
.pdx-main:hover .pdx-nav{opacity:1}
.pdx-nav:hover{color:var(--accent);border-color:var(--accent)}
.pdx-nav:active{transform:translateY(-50%) scale(.92)}
/* boton Contactar WhatsApp verde llamativo */
.pd-r .btn-wa{padding:10px 18px;box-shadow:0 10px 22px -10px rgba(37,211,102,.65)}
.btn-wa:hover{background:#1FBD5A;transform:translateY(-1px)}
.btn-wa{transition:background var(--t-fast),transform .12s,box-shadow var(--t-fast)}
/* ===== Crear pedido: couriers como filas selector ===== */
.ship-row{display:flex;align-items:center;gap:13px;padding:11px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--panel);cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast);margin-bottom:10px}
.ship-row:hover{border-color:var(--accent)}
.ship-row.on{border-color:var(--accent);background:var(--accent-soft)}
.ship-row b{font-size:.9rem;flex:1}
.ship-price{font-family:var(--mono);font-size:.8rem;color:var(--ink-3)}
.ship-logo{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);padding:6px;flex-shrink:0}
.ship-logo img{width:100%;height:100%;object-fit:contain}
.ship-radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);position:relative;flex-shrink:0;transition:border-color var(--t-fast)}
.ship-row.on .ship-radio{border-color:var(--accent)}
.ship-row.on .ship-radio::after{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--accent)}
.cp-head{font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:600;padding:2px 2px 9px;border-bottom:1px solid var(--line)}
.cp-item{padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--bg);margin-top:10px}
.cp-name{display:block;font-size:.85rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-row1 .fdrop,.cp-row1 .fdrop-btn{width:100%}
.cp-row2{display:flex;align-items:center;gap:9px;margin-top:10px;flex-wrap:wrap}
.cp-stk{font-family:var(--mono);font-size:.66rem;font-weight:600;color:var(--accent);background:var(--accent-soft);padding:4px 10px;border-radius:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}
.cp-row2 .co-qty{margin-left:auto;width:64px}
.cp-price{display:flex;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:0 4px 0 10px;flex-shrink:0}
.cp-price span{font-size:.8rem;color:var(--ink-3);font-weight:600}
.cp-price input{width:76px;background:transparent;border:none;padding:8px 6px;font-family:var(--font);font-size:.85rem;color:var(--ink);text-align:right}
.cp-price input:focus{outline:none}
.cp-sel{width:100%;padding:9px 10px;font-size:.82rem}
.cp-global{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.cp-global label{display:block;font-weight:600;font-size:.85rem;margin-bottom:8px;color:var(--ink-2)}
.cp-global-row{display:flex;gap:10px;align-items:center}
.cp-global-row .cp-price{flex:1}
.cp-global-row .cp-price input{width:100%;text-align:left}
.cp-global-row .btn-out{width:auto;padding:9px 16px;white-space:nowrap}
/* ===== ESTADÍSTICAS v2 ===== */
.e2-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.e2-filters .fdate{background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:10px 12px;font-family:var(--font);font-size:.85rem;color:var(--ink)}
.e2-upd{margin-left:auto;display:inline-flex;align-items:center;gap:9px;font-size:.8rem;color:var(--ink-3)}
.e2-upd b{color:var(--ink);font-weight:700}
.e2m-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:1150px){.e2m-grid{grid-template-columns:repeat(2,1fr)}}
.e2m{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--card-sh);padding:14px 16px}
.e2m-t{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--ink-3);font-weight:600}
.e2m-q{width:15px;height:15px;border-radius:50%;background:var(--chip);color:var(--ink-3);font-size:.6rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-style:normal;cursor:help;flex-shrink:0}
.e2m-v{font-size:1.22rem;font-weight:800;letter-spacing:-.02em;margin-top:7px;color:var(--ink)}
.e2m-v em{font-style:normal;font-size:.9rem;font-weight:700}
.pos2{color:var(--pos)}
.dlt{display:inline-block;margin-top:6px;font-family:var(--mono);font-size:.64rem;color:var(--ink-3)}
.e2-inline{display:flex;gap:20px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:.82rem;color:var(--ink-3)}
.e2-inline b{color:var(--ink);margin-left:5px}
.e2-inline span{cursor:default}
.est-2col .tbl{min-width:0}
.est-donut-wrap svg{margin:0 auto}
/* v2 premium pass */
/* Posicionada para poder elevarse (.zup) cuando tiene un desplegable abierto.
   Un z-index FIJO aqui era peor que nada: dos barras seguidas con el mismo
   valor se resuelven por orden en el documento, asi que la de abajo tapaba el
   desplegable de la de arriba. */
.est-tabsbar{padding:6px 10px;margin-bottom:16px;position:relative}
/* La caja que tiene un desplegable abierto se pone por delante de todo lo
   que venga despues en la pagina. Ver zSubir()/zBajar() en rocket-v2.js. */
.zup{position:relative;z-index:70}
/* Comprobante de una retirada: de un vistazo, cual falta. */
.mini-btn.falta{color:var(--neg);border-color:color-mix(in srgb,var(--neg) 28%,var(--line))}
.mini-btn.falta:hover{background:color-mix(in srgb,var(--neg) 10%,transparent);color:var(--neg)}
.mini-btn.puesto{color:var(--ink)}
/* La comunidad del usuario en el listado de admin. */
.ulist-com{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:2px 9px 2px 7px;border-radius:20px;background:var(--accent-soft);color:var(--accent);font-size:.74rem;font-weight:700;max-width:230px}
.ulist-com svg{width:12px;height:12px;flex-shrink:0}
.ulist-com span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Buscar varios pedidos de golpe (pegar una columna de Excel). */
.sb-multi{position:relative}
.sb-multi .btn-out.set{border-color:var(--accent);color:var(--accent)}
.sb-multi-n{margin-left:6px;padding:1px 7px;border-radius:20px;background:var(--accent);color:#fff;font-size:.68rem;font-weight:800}
.dd-menu.multi{width:320px;max-width:calc(100vw - 32px);padding:12px 10px}
.dd-menu.multi textarea{font-family:var(--mono);font-size:.78rem;line-height:1.6;resize:vertical}
.dd-ft{display:flex;justify-content:flex-end;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:12px;padding-top:12px}

/* El campo que impide enviar el formulario, señalado un momento. */
.campo-malo{outline:2px solid var(--neg);outline-offset:2px;border-radius:10px}

/* «Permitir apertura del paquete»: fila propia, que en el modal de editar
   quedaba perdida entre dos campos de texto y parecía que no estaba. */
.oe-tg{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--chip)}
.oe-tg .oe-tg-tx b{display:block;font-size:.86rem;font-weight:700}
.oe-tg .oe-tg-tx span{display:block;font-size:.76rem;color:var(--ink-3);margin-top:2px}
.oe-tg .tg{flex-shrink:0}
.est-open>*{margin-bottom:16px}
.e2-go{width:auto;padding:11px 14px;flex:0 0 auto}
.e2-filters .fdate{width:126px;padding:10px 10px}
.e2-filters .fdrop-btn{padding:10px 12px;gap:7px}
.e2-filters{gap:8px}
.e2m{display:flex;gap:12px;align-items:flex-start;transition:transform var(--t-fast),box-shadow var(--t-fast)}
.e2m:hover{transform:translateY(-2px);box-shadow:var(--sh-hover)}
.e2m-ic{width:36px;height:36px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.e2m-ic svg{width:17px;height:17px}
.e2m-bd{min-width:0}
.e2m-v{font-size:1.34rem;font-variant-numeric:tabular-nums}
.est-rate{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;padding:16px 20px}
.est-rate .er-t{font-size:.78rem}
.est-rate .er-v{font-size:1.5rem}
.e2-donut-stats{display:flex;justify-content:center;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:.76rem;color:var(--ink-3)}
.e2-donut-stats b{color:var(--ink);margin-left:4px}
.est-funnel .pc-step{background:var(--panel);border:1px solid var(--line);box-shadow:var(--card-sh)}
.est-funnel .pc-step .st-ic{background:var(--accent-soft);color:var(--accent)}
.est-funnel .pc-arrow{position:relative;top:-6px}
.est-2col{align-items:start}
.est-2col .card{height:auto}
/* tab Productos */
.ep-bar{display:flex;align-items:center;gap:14px;padding:12px 16px;position:relative;z-index:30}
.ep-wrap{overflow-x:auto}
.ep-tbl{min-width:1750px;font-size:.82rem}
.ep-tbl th{white-space:nowrap;cursor:default}
.ep-tbl td{padding:12px 12px;vertical-align:middle}
.ep-name{font-weight:700;color:var(--accent);cursor:pointer}
.ep-name:hover{text-decoration:underline}
.ep-c{font-family:var(--mono);font-size:.8rem;white-space:nowrap}
.ep-pct{font-size:.72rem;color:var(--ink-3)}
.ep-tbl td:not(:first-child),.ep-tbl th:not(:first-child){text-align:right}
.ep-tbl tbody tr{transition:background var(--t-fast)}
.ep-tbl .ep-gasto input{background:var(--panel);text-align:right}
.ep-c.pos{color:var(--pos)}.ep-c.neg{color:var(--neg)}.ep-c.info{color:var(--info)}.ep-c.cyan{color:#22B8CF}.ep-c.warn{color:var(--warn)}
.neg2{color:var(--neg)}
.ep-gasto{position:relative;display:inline-flex;align-items:center}
.ep-gasto input{width:86px;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:8px 22px 8px 10px;font-family:var(--mono);font-size:.8rem;color:var(--ink)}
.ep-gasto input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.ep-gasto i{position:absolute;right:9px;font-style:normal;font-size:.74rem;color:var(--ink-3)}
/* tab Confirmaciones */
.ec-chip{display:inline-flex;align-items:center;gap:7px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:.8rem;color:var(--ink-2)}
.ec-chip svg{width:15px;height:15px;color:#25D366}
.ec-chip b{color:var(--ink)}
/* tab Transportadoras */
.et2-name{display:inline-flex;align-items:center;gap:10px}
.et2-name img{width:26px;height:26px;object-fit:contain}
.et2-name.lg img{width:34px;height:34px}
.et2-name.lg b{font-size:1.05rem}
.et2-ph{width:26px;height:26px;border-radius:8px;background:var(--chip);color:var(--ink-3);display:inline-flex;align-items:center;justify-content:center}
.et2-ph svg{width:15px;height:15px}
.et2-dhd{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.et2-mini{display:flex;gap:18px;flex-wrap:wrap;font-size:.8rem;color:var(--ink-3)}
.et2-mini b{color:var(--ink);margin-left:4px}
.est-h4 .pc-note{font-weight:400;color:var(--ink-3);font-size:.74rem;margin-left:8px;text-transform:none;letter-spacing:0}
.est-rate .er-v{white-space:nowrap}
/* HERO oscuro Violeta Noir por tab (ancla de profundidad) */
.e2hero{position:relative;overflow:hidden;display:grid;grid-template-columns:repeat(4,1fr);border-radius:20px;padding:24px 10px;background:radial-gradient(130% 130% at 85% -20%,rgba(126,35,249,.42),transparent 55%),linear-gradient(158deg,#1B1E3A,#0C0D18);border:1px solid #2C2F50;box-shadow:0 24px 52px -22px rgba(11,13,24,.55)}
:root[data-theme="dark"] .e2hero{background:radial-gradient(130% 130% at 85% -20%,rgba(126,35,249,.45),transparent 55%),linear-gradient(158deg,#24274A,#13142A);border-color:#3B3F6C}
.e2hero-aura{position:absolute;left:-70px;bottom:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(72,0,255,.35),transparent 65%);filter:blur(12px);pointer-events:none}
.e2hero .hc{position:relative;z-index:1;padding:2px 26px;border-left:1px solid rgba(255,255,255,.09)}
.e2hero .hc:first-child{border-left:none}
.e2hero .l{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.52);font-weight:600}
.e2hero b{display:block;font-size:1.8rem;font-weight:800;letter-spacing:-.025em;color:#fff;margin-top:8px;line-height:1;font-variant-numeric:tabular-nums}
.e2hero .hc.star b{color:#E0FC09;text-shadow:0 0 26px rgba(224,252,9,.25)}
.e2hero .s{display:block;font-size:.72rem;color:rgba(255,255,255,.42);margin-top:7px}
@media(max-width:1000px){.e2hero{grid-template-columns:1fr 1fr;row-gap:18px}.e2hero .hc:nth-child(odd){border-left:none}}
/* ===== POWER BI: KPI minis 3D + gauges animados ===== */
.pbi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:1150px){.pbi-grid{grid-template-columns:repeat(2,1fr)}}
.pbim{position:relative;overflow:hidden;display:flex;gap:13px;align-items:flex-start;background:linear-gradient(158deg,var(--panel),var(--bg));border:1px solid var(--line);border-radius:18px;padding:16px 18px 16px 20px;box-shadow:0 1px 2px rgba(20,21,26,.05),0 14px 28px -18px rgba(20,21,26,.28);transition:transform .22s cubic-bezier(.19,1,.22,1),box-shadow .22s}
.pbim::before{content:'';position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px}
.pbim.v::before{background:var(--accent)}.pbim.c::before{background:#22B8CF}.pbim.g::before{background:var(--pos)}.pbim.w::before{background:var(--warn)}.pbim.n::before{background:var(--neg)}.pbim.lm::before{background:var(--lima)}
.pbim:hover{transform:translateY(-5px);box-shadow:0 22px 44px -18px rgba(20,21,26,.36)}
.pbim-ic{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 16px -6px rgba(72,0,255,.45)}
.pbim-ic svg{width:20px;height:20px}
.pbim.v .pbim-ic{background:linear-gradient(158deg,#6A38FF,#4800FF)}
.pbim.c .pbim-ic{background:linear-gradient(158deg,#3FD3E3,#1CA5BC);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 16px -6px rgba(34,184,207,.45)}
.pbim.g .pbim-ic{background:linear-gradient(158deg,#22C56E,#0FA05F);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 16px -6px rgba(15,160,95,.45)}
.pbim.w .pbim-ic{background:linear-gradient(158deg,#F0973B,#DE781E);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 16px -6px rgba(222,120,30,.45)}
.pbim.n .pbim-ic{background:linear-gradient(158deg,#EB6B67,#E05753);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 16px -6px rgba(224,87,83,.45)}
.pbim.lm .pbim-ic{background:linear-gradient(158deg,#EDFF5A,#C9E204);color:#14151A;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 8px 16px -6px rgba(224,252,9,.5)}
.pbim-bd{min-width:0}
.pbim-t{display:flex;align-items:center;gap:6px;font-size:.74rem;color:var(--ink-3);font-weight:600}
.pbim-v{font-size:1.42rem;font-weight:800;letter-spacing:-.025em;margin-top:7px;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
.pbim-v em{font-style:normal;font-size:.92rem;font-weight:700}
/* gauges */
.pbi-gauges{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:1000px){.pbi-gauges{grid-template-columns:1fr 1fr}}
.pbig{background:linear-gradient(158deg,var(--panel),var(--bg));border:1px solid var(--line);border-radius:18px;padding:22px 18px 18px;text-align:center;box-shadow:0 1px 2px rgba(20,21,26,.05),0 14px 28px -18px rgba(20,21,26,.28);transition:transform .22s cubic-bezier(.19,1,.22,1),box-shadow .22s}
.pbig:hover{transform:translateY(-5px);box-shadow:0 22px 44px -18px rgba(20,21,26,.36)}
.pbig-ring{position:relative;width:132px;height:132px;margin:0 auto}
.pbig-ring svg{filter:drop-shadow(0 6px 12px rgba(20,21,26,.14))}
.pbig-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.pbig-c b{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}
.pbig-c span{font-family:var(--mono);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-top:5px}
.pbig-s{font-size:.78rem;color:var(--ink-3);margin-top:14px}
.pbig.v .pbig-c b{color:var(--accent)}.pbig.c .pbig-c b{color:#1CA5BC}.pbig.g .pbig-c b{color:var(--pos)}.pbig.n .pbig-c b{color:var(--neg)}
.est-charts-2{grid-template-columns:1.5fr 1fr}
@media(max-width:1000px){.est-charts-2{grid-template-columns:1fr}}
/* dark: relieve mas marcado */
:root[data-theme="dark"] .pbim,:root[data-theme="dark"] .pbig{background:linear-gradient(158deg,#191922,#121218);box-shadow:0 1px 2px rgba(0,0,0,.4),0 16px 32px -18px rgba(0,0,0,.6)}
:root[data-theme="dark"] .pbim:hover,:root[data-theme="dark"] .pbig:hover{box-shadow:0 24px 48px -18px rgba(0,0,0,.7)}
/* ===== Importar CSV Shopify ===== */
.imp-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:start}
@media(max-width:960px){.imp-grid{grid-template-columns:1fr}}
.imp-hd{display:flex;align-items:center;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.imp-brand{height:30px}
.imp-x2{color:var(--ink-3);font-size:1.1rem;font-weight:300}
.imp-rk{height:30px}
.imp-lb{display:block;font-weight:600;font-size:.85rem;margin-bottom:8px;color:var(--ink-2)}
.imp-main .fdrop,.imp-main .fdrop-btn{width:100%}
.imp-zone{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 20px}
.imp-shop{width:46px;height:46px;object-fit:contain;margin-bottom:4px}
.imp-zone b{font-size:.92rem}.imp-zone span{font-size:.8rem;color:var(--ink-3)}
.imp-zone.has{border-style:solid;border-color:var(--accent);background:var(--accent-soft)}
.imp-file{display:flex;align-items:center;gap:13px;width:100%}
.imp-file-ic{width:42px;height:42px;border-radius:11px;background:var(--pos);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.imp-file-ic svg{width:20px;height:20px}
.imp-file-tx{flex:1;min-width:0;text-align:left}.imp-file-tx b{display:block;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.imp-file-tx span{font-size:.76rem;color:var(--ink-3)}
.imp-file-x{width:30px;height:30px;border-radius:8px;border:none;background:var(--chip);color:var(--ink-3);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.imp-file-x svg{width:15px;height:15px}
.imp-prog{margin-top:16px}
.imp-prog-track{height:8px;background:var(--chip);border-radius:5px;overflow:hidden}
.imp-prog-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--violet));border-radius:5px;transition:width 1.2s cubic-bezier(.4,0,.2,1)}
.imp-prog span{display:block;font-size:.76rem;color:var(--ink-3);margin-top:8px;text-align:center}
.imp-side-hd{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.imp-side-hd img{width:26px;height:26px;object-fit:contain}
.imp-side-hd b{font-size:.98rem}
.imp-steps{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:14px}
.imp-steps li{display:flex;gap:12px}
.imp-steps li span{width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:800;font-size:.82rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.imp-steps li b{font-size:.86rem;display:block}
.imp-steps li p{font-size:.8rem;color:var(--ink-3);margin-top:2px;line-height:1.45}
/* ===== Calidad de cliente ===== */
.cal-searchrow{display:flex;gap:10px;align-items:center}
.cal-verdict{display:flex;align-items:center;gap:26px;background:linear-gradient(158deg,var(--panel),var(--bg));border:1px solid var(--line);border-radius:20px;padding:24px 26px;box-shadow:0 14px 30px -18px rgba(20,21,26,.28)}
.cal-verdict.pos{border-left:5px solid var(--pos)}.cal-verdict.warn{border-left:5px solid var(--warn)}.cal-verdict.neg{border-left:5px solid var(--neg)}
.cal-ring{position:relative;width:128px;height:128px;flex-shrink:0}
.cal-ring-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.cal-ring-c b{font-size:1.55rem;font-weight:800;letter-spacing:-.02em}
.cal-ring-c span{font-family:var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-top:3px}
.cal-vtx{min-width:0}
.cal-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 15px;border-radius:999px;font-weight:800;font-size:.92rem}
.cal-badge svg{width:16px;height:16px}
.cal-badge.pos{background:rgba(15,160,95,.13);color:var(--pos)}.cal-badge.warn{background:rgba(222,120,30,.14);color:var(--warn)}.cal-badge.neg{background:rgba(224,87,83,.13);color:var(--neg)}
.cal-phone{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:1.05rem;font-weight:700;color:var(--ink);margin:12px 0 6px}
.cal-phone svg{width:16px;height:16px;color:var(--ink-3)}
.cal-vtx p{font-size:.88rem;color:var(--ink-2);line-height:1.5}
.cal-src{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;color:var(--ink-3);margin-top:10px}
.cal-src svg{width:14px;height:14px}
.cal-timeline{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.cal-dot{width:26px;height:26px;border-radius:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
@media(max-width:600px){.cal-verdict{flex-direction:column;text-align:center}}
/* ===== Resumen Excel: filtros ===== */
.prf{display:flex;flex-direction:column;gap:16px}
.prf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 16px}
@media(max-width:1150px){.prf-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.prf-grid{grid-template-columns:1fr}}
.prf-grid .ff{min-width:0}
.prf-grid .fdrop,.prf-grid .fdrop-btn{width:100%}
.prf-grid .fdate{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:11px 12px;font-family:var(--font);font-size:.85rem;color:var(--ink)}
.prf-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px}
:root[data-theme="dark"] .pdx-nav{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#C9CBE8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pdx-fav{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;background:var(--panel);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-3);box-shadow:0 6px 16px -6px rgba(20,21,26,.18);transition:.15s}
.pdx-fav svg{width:18px;height:18px}
.pdx-fav:hover{color:var(--magenta);border-color:var(--magenta)}
.pdx-fav.on{color:var(--magenta);border-color:var(--magenta)}.pdx-fav.on svg{fill:var(--magenta)}
:root[data-theme="dark"] .pdx-fav{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#C9CBE8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:none}
:root[data-theme="dark"] .pdx-fav:hover,:root[data-theme="dark"] .pdx-fav.on{color:#FF7BC1;border-color:#FF7BC1}
:root[data-theme="dark"] .pdx-fav.on{background:rgba(214,51,132,.22)}:root[data-theme="dark"] .pdx-fav.on svg{fill:#FF7BC1}
.pdx-thumbs{display:flex;gap:10px;margin-top:12px}
.pdx-thumb{width:64px;height:64px;border-radius:13px;background:var(--bg);border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:1.8rem;cursor:pointer;opacity:.55;transition:.15s}
.pdx-thumb.on,.pdx-thumb:hover{border-color:var(--accent);opacity:1;box-shadow:0 8px 18px -8px rgba(72,0,255,.25)}
.pdx-thumb.more{font-size:.82rem;font-weight:700;color:var(--ink-3)}
:root[data-theme="dark"] .pdx-thumb{background:linear-gradient(160deg,#1B1E3A,#101120);border-color:rgba(255,255,255,.1);opacity:1;filter:saturate(.45) brightness(.82)}
:root[data-theme="dark"] .pdx-thumb.on,:root[data-theme="dark"] .pdx-thumb:hover{border-color:var(--violet);filter:none;box-shadow:0 8px 18px -8px rgba(126,35,249,.5)}
.pdx-info{min-width:0}
.pdx-name{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;line-height:1.18;margin-top:2px}
.pdx-skurow{display:flex;align-items:center;gap:9px;margin:12px 0 16px}
.pdx-skul{font-size:.76rem;color:var(--ink-3);font-weight:600}
.pdx-skurow .sku-b{font-family:var(--mono);font-size:.78rem;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:6px 12px;border-radius:9px;letter-spacing:.01em}
.pdx-pricehero{position:relative;overflow:hidden;display:flex;align-items:center;gap:22px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:16px;padding:16px 20px}
.pdx-pricehero::before{content:'';position:absolute;right:-40px;top:-60px;width:170px;height:170px;border-radius:50%;background:var(--accent);opacity:.07;pointer-events:none}
.pph-main .l,.pph-side .l{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:4px}
.pph-main b{font-size:2.05rem;font-weight:800;letter-spacing:-.03em;color:var(--hot);line-height:1}
:root[data-theme="dark"] .pph-main b{text-shadow:0 0 26px rgba(224,252,9,.28)}
.pph-side{padding-left:22px;border-left:1px solid var(--accent);border-left-width:1px}
.pph-side b{font-size:1.2rem;font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.pph-side.gain b{color:var(--pos)}
.pph-margin{margin-left:auto;font-family:var(--mono);font-size:.7rem;font-weight:700;color:var(--pos);background:var(--panel);border:1px solid rgba(15,160,95,.4);border-radius:999px;padding:6px 13px;white-space:nowrap}
.pdx-specbar{display:grid;grid-template-columns:1fr 1fr 1fr 1.55fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel);margin-top:14px}
.pdxs-cell{display:flex;align-items:center;gap:10px;padding:12px 14px;min-width:0;border-left:1px solid var(--line)}
.pdxs-cell:first-child{border-left:none}
.pdxs-cell .ic{width:30px;height:30px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pdxs-cell .ic svg{width:15px;height:15px}
.pdxs-cell .l{display:block;font-family:var(--mono);font-size:.56rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.pdxs-cell b{display:block;font-size:.86rem;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdxs-cell b.neg{color:var(--neg)}
@media(max-width:1000px){.pdx-specbar{grid-template-columns:1fr 1fr}.pdxs-cell:nth-child(3){border-left:none}}
.pdx-spec .ic{width:30px;height:30px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pdx-spec .ic svg{width:15px;height:15px}
.pdx-spec .l{font-family:var(--mono);font-size:.58rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.pdx-spec b{font-size:.85rem;font-weight:700;color:var(--ink);margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdx-spec b.neg{color:var(--neg)}
.pdx-tabs{display:flex;gap:6px;margin:18px 0 0;border-bottom:1px solid var(--line)}
.pdx-tabs span{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;font-size:.85rem;font-weight:700;color:var(--ink-3);border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer}
.pdx-tabs span svg{width:15px;height:15px}
.pdx-tabs span.on{color:var(--accent);border-bottom-color:var(--accent)}
.pdx-desc{font-size:.88rem;color:var(--ink-2);line-height:1.65;padding:14px 2px 0;max-height:170px;overflow:auto}
.pdx-cats{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
/* ===== FICHA DE PRODUCTO (modal) v2 ===== */
.pd-main{position:relative}
.pdm-e{font-size:6.4rem;line-height:1;filter:drop-shadow(0 22px 26px rgba(20,21,26,.2))}
.pd-stockchip{position:absolute;top:14px;left:14px;font-family:var(--mono);font-size:.68rem;font-weight:600;background:rgba(15,160,95,.15);color:var(--pos);padding:4px 10px;border-radius:20px}
.pd-stockchip.out{background:rgba(224,87,83,.14);color:var(--neg)}
.pd-thumbs .pd-thumb{border:1.5px solid var(--line);opacity:.55;cursor:pointer;transition:.15s}
.pd-thumbs .pd-thumb.on,.pd-thumbs .pd-thumb:hover{border-color:var(--accent);opacity:1}
.pd-eyebrow{display:block;font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:600;margin-bottom:8px}
.pd-pricebox{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:16px 0;background:var(--bg)}
.ppb-cell{padding:13px 16px}
.ppb-cell+.ppb-cell{border-left:1px solid var(--line)}
.ppb-cell .l{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:5px}
.ppb-cell b{font-size:1.18rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.ppb-cell.hl b{color:var(--accent)}

/* Form de pack / adder de productos */
.padd{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg);border:1px solid var(--line);border-radius:12px;margin-top:10px}
.padd .pemj{font-size:1.4rem}.padd .pn{flex:1;font-size:.88rem;font-weight:600}.padd .pq{width:70px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:8px;text-align:center;color:var(--ink);font-family:var(--font)}
.padd .prm{color:var(--neg);cursor:pointer;background:none;border:none;display:flex}.padd .prm svg{width:17px;height:17px}
.addbtn{display:inline-flex;align-items:center;gap:8px;background:var(--accent-soft);color:var(--accent);border:1px dashed var(--accent);border-radius:11px;padding:11px 16px;font-weight:600;font-size:.85rem;cursor:pointer;margin-top:12px;font-family:var(--font)}.addbtn svg{width:16px;height:16px}
.infocard{display:flex;gap:14px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:14px;padding:16px 18px}.infocard svg{width:20px;height:20px;color:var(--accent);flex-shrink:0}.infocard p{font-size:.85rem;color:var(--ink);line-height:1.55}
.upload{border:2px dashed var(--line);border-radius:14px;padding:26px;text-align:center;cursor:pointer;transition:.16s}.upload:hover{border-color:var(--accent);background:var(--accent-soft)}.upload svg{width:30px;height:30px;color:var(--ink-3);margin-bottom:8px}.upload b{display:block;font-size:.9rem}.upload span{font-size:.8rem;color:var(--ink-3)}
/* corazón dentro de toggles (no es el track del switch) */
.tg i.hi{width:auto;height:auto;background:none;border-radius:0;display:inline-flex;align-items:center}.tg i.hi::after{display:none}.tg i.hi svg{width:15px;height:15px;color:var(--magenta);fill:var(--magenta)}
.cat-filters .srch{min-width:400px}
/* buscador reutilizable */
.srch{position:relative;min-width:280px}.srch svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--ink-3);pointer-events:none}.srch input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:11px 14px 11px 38px;font-family:var(--font);font-size:.86rem;color:var(--ink)}.srch input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
/* ===== Pedidos ===== */
.ped-det{background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:11px 13px;display:flex;flex-direction:column;gap:5px;font-size:.84rem;max-width:280px}.ped-det .mut{font-size:.78rem}
.ped-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
/* barra de antiguedad (triage ATC) */
.ped-aging{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:linear-gradient(158deg,var(--panel),var(--bg));border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin-bottom:14px;box-shadow:var(--card-sh)}
.ped-aging>svg{width:16px;height:16px;color:var(--warn)}
.pa-l{font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-right:2px}
.pa-chip{display:inline-flex;align-items:center;gap:6px;background:var(--chip);border:1px solid transparent;border-radius:999px;padding:6px 13px;font-family:var(--font);font-weight:600;font-size:.82rem;color:var(--ink-2);cursor:pointer;transition:.15s}
.pa-chip b{font-family:var(--mono);font-size:.72rem;background:var(--panel);border-radius:20px;padding:1px 7px;color:var(--ink-3)}
.pa-chip:hover{border-color:var(--warn)}
.pa-chip.on{background:var(--warn);color:#fff;border-color:var(--warn)}
.pa-chip.on b{background:rgba(255,255,255,.25);color:#fff}
.pa-note{margin-left:auto;font-size:.76rem;color:var(--ink-3)}
@media(max-width:760px){.pa-note{display:none}}
/* badge de antiguedad en la fila (radar del ATC) */
.agebadge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-family:var(--font);font-weight:700;font-size:.78rem;white-space:nowrap}
.agebadge svg{width:13px;height:13px}
.agebadge.fresh{background:rgba(15,160,95,.14);color:var(--pos)}
.agebadge.warn{background:rgba(222,120,30,.15);color:var(--warn)}
.agebadge.old{background:rgba(224,87,83,.14);color:var(--neg)}
.ped-tab{display:inline-flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:9px 14px;font-family:var(--font);font-weight:600;font-size:.84rem;color:var(--ink-2);cursor:pointer;transition:.15s}
.ped-tab span{font-family:var(--mono);font-size:.72rem;background:var(--bg);color:var(--ink-3);padding:1px 8px;border-radius:20px}
.ped-tab:hover{border-color:var(--ink-3);color:var(--ink)}
.ped-tab.on{background:var(--accent);border-color:var(--accent);color:#fff}.ped-tab.on span{background:rgba(255,255,255,.22);color:#fff}
/* Editar pedido (modal) */
.ep-grid{display:grid;grid-template-columns:1.55fr 440px;gap:18px;padding:22px}@media(max-width:1100px){.ep-grid{grid-template-columns:1fr}}
.ep-cardhd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.ep-cardhd b{font-size:.98rem}
.ep-thumb{width:44px;height:44px;border-radius:10px;background:var(--bg);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:1.3rem}
.ep-step{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden}.ep-step button{width:32px;height:34px;border:none;background:var(--bg);color:var(--ink);cursor:pointer;font-size:1rem}.ep-step button:hover{background:var(--line)}.ep-step input{width:44px;border:none;text-align:center;background:var(--panel);color:var(--ink);font-family:var(--font)}
.ep-total{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-top:1px solid var(--line);font-size:.9rem}
.ep-totalin{width:80px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:7px 10px;text-align:right;font-family:var(--mono);font-weight:700;color:var(--ink)}
.ep-tl{display:flex;gap:12px}.ep-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--warn);flex-shrink:0;margin-top:3px}.ep-tl>div{flex:1;min-width:0}
.ep-left .tbl{font-size:.86rem}.ep-left .tbl th{padding:12px 18px}.ep-left .tbl td{padding:14px 18px;border-bottom:0}
/* datos de facturación (modal solicitar facturas) */
.fac-datos{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.fac-dato{background:var(--panel);padding:12px 16px;display:flex;justify-content:space-between;gap:12px;font-size:.86rem}.fac-dato span{color:var(--ink-2)}.fac-dato b{font-family:var(--mono)}
@media(max-width:560px){.fac-datos{grid-template-columns:1fr}}
/* opciones de integración + permisos (subusuarios) */
.int-opt{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:.15s}.int-opt:hover{border-color:var(--accent)}.int-opt:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.int-opt .int-ic{width:44px;height:44px;flex-shrink:0}.int-opt b{display:block}.int-opt span{font-size:.82rem;color:var(--ink-3)}.int-opt>div{flex:1}.int-opt input{accent-color:var(--accent);width:18px;height:18px}
.perm-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:560px){.perm-grid{grid-template-columns:1fr}}
.perm{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;background:var(--bg);border:1px solid var(--line);border-radius:11px;font-size:.86rem;font-weight:500;cursor:pointer}
.perm input{display:none}.perm i{width:38px;height:22px;border-radius:20px;background:var(--line);position:relative;transition:.2s;flex-shrink:0}.perm i::after{content:'';position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.2s}.perm input:checked+i{background:var(--accent)}.perm input:checked+i::after{left:19px}
/* ===== Configuración (etiquetas, webhooks, whatsapp) ===== */
.tag-chip{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:.86rem}.tag-chip::before{content:'';width:10px;height:10px;border-radius:3px;background:var(--tc)}
.color-row{display:flex;gap:10px;flex-wrap:wrap}
.color-dot{cursor:pointer}.color-dot input{display:none}.color-dot i{display:block;width:30px;height:30px;border-radius:9px;background:var(--tc);transition:.15s;box-shadow:0 0 0 2px var(--panel),0 0 0 3px var(--line)}
.color-dot input:checked+i{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--tc);transform:scale(1.08)}
.codeblock{background:var(--negro);color:#E8E8EA;font-family:var(--mono);font-size:.82rem;line-height:1.65;padding:18px;border-radius:12px;overflow-x:auto;white-space:pre}
:root[data-theme="dark"] .codeblock{background:#0A0A0D;border:1px solid var(--line)}
/* ===== Guía de estilo (interna, #styleguide) ===== */
.sg{display:flex;flex-direction:column;gap:18px;max-width:1240px}
.sgcard{padding:26px}
.sg-tt{display:block;font-size:1.08rem;letter-spacing:-.015em;margin-bottom:18px}
.sg-tt span{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-left:10px}
.sg-row{display:flex;gap:14px;flex-wrap:wrap}
.sg-sw{display:flex;flex-direction:column;gap:6px;min-width:150px;flex:1}
.sg-sw i{display:block;height:56px;border-radius:12px}
.sg-sw b{font-size:.84rem}
.sg-sw .mono{font-size:.68rem;color:var(--ink-3)}
.sg-note{margin-top:16px;font-size:.85rem;color:var(--ink-2);line-height:1.55;border-top:1px solid var(--line);padding-top:14px}
.sg-type{display:flex;flex-direction:column;gap:16px}
.sg-type>div{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding-top:12px}.sg-type>div:first-child{border-top:0;padding-top:0}
.sg-cap{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.sg-btns{display:flex;gap:26px;flex-wrap:wrap;align-items:flex-end}
.sg-btns>div{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.sg-inps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}@media(max-width:1000px){.sg-inps{grid-template-columns:1fr}}
.sg-special{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}@media(max-width:1000px){.sg-special{grid-template-columns:1fr}}
.sg-hero{background:var(--panel);border:1px solid var(--line);border-radius:16px;color:var(--ink);padding:22px;display:flex;gap:13px;align-items:flex-start;box-shadow:var(--card-sh)}
.sg-hero b{display:block;margin-bottom:6px}
.sg-hero p{font-size:.85rem;line-height:1.6;color:var(--ink-2)}
:root[data-theme="dark"] .sg-hero{background:linear-gradient(158deg,#191C33 0%,#0A0B13 100%);border-color:#2A2E4A;color:#fff}
:root[data-theme="dark"] .sg-hero p{color:rgba(255,255,255,.85)}
/* sistema: secciones 10-11 guía */
.sg-spgrid{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}
.sg-spbar{display:flex;align-items:center;gap:12px}
.sg-spbar i{display:block;height:14px;border-radius:5px;background:var(--accent);opacity:.85}
.sg-spbar .mono{font-size:.68rem;color:var(--ink-3)}
.sg-radrow{display:flex;gap:16px;flex-wrap:wrap}
.sg-radbox{width:120px;height:74px;background:var(--chip);border:1.5px solid var(--accent);display:flex;align-items:flex-end;padding:9px;color:var(--ink-2)}
.sg-radbox .mono{font-size:.64rem}
.sg-elevrow{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}@media(max-width:1000px){.sg-elevrow{grid-template-columns:repeat(2,1fr)}}
.sg-elev{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);padding:22px;display:flex;flex-direction:column;gap:5px}
.sg-elev b{font-size:.9rem}.sg-elev .mono{font-size:.66rem;color:var(--ink-3)}
/* ===== Paleta IRIS NOIR (interna) ===== */
.p2hero-banner{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(135deg,#5B1BFF 0%,#4800FF 50%,#3402B1 100%);color:#fff;padding:38px 40px;box-shadow:0 24px 54px -22px rgba(72,0,255,.5)}
.p2hero-banner::before{content:'';position:absolute;right:-80px;top:-80px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(201,255,46,.25),transparent 65%)}
.p2hero-banner::after{content:'';position:absolute;left:30%;bottom:-120px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 60%)}
.p2eyebrow{font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;font-weight:700;color:rgba(255,255,255,.65)}
.p2hero-banner h2{font-size:2.6rem;letter-spacing:-.04em;line-height:1;margin:10px 0 12px}
.p2hero-banner h2 span{color:#C9FF2E}
.p2hero-banner p{font-size:.95rem;line-height:1.65;max-width:640px;color:rgba(255,255,255,.88)}
.p2dot{position:absolute;right:34px;bottom:30px;width:14px;height:14px;border-radius:50%;background:#C9FF2E;box-shadow:0 0 0 6px rgba(201,255,46,.2),0 0 24px rgba(201,255,46,.8)}
.p2fix{display:grid;grid-template-columns:1fr 34px 1fr;gap:14px;align-items:center}
@media(max-width:1000px){.p2fix{grid-template-columns:1fr}.p2arrow{display:none}}
.p2was{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:14px}
.p2was.ok{border-color:rgba(72,0,255,.4);box-shadow:0 10px 26px -16px rgba(72,0,255,.35)}
.p2was i{width:54px;height:54px;border-radius:13px;flex-shrink:0}
.p2was b{font-size:.9rem;display:block;margin-bottom:4px}
.p2was p{font-size:.8rem;color:var(--ink-2);line-height:1.55}
.p2arrow{text-align:center;font-size:1.2rem;color:var(--ink-3)}
.p2core{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media(max-width:1100px){.p2core{grid-template-columns:repeat(2,1fr)}}
.p2sw{display:flex;flex-direction:column;gap:7px;min-width:140px;flex:1}
.p2sw i{display:block;height:64px;border-radius:14px;box-shadow:0 10px 24px -12px rgba(18,16,26,.35)}
.p2sw.hero-sw i{box-shadow:0 14px 30px -12px rgba(72,0,255,.6)}
.p2sw b{font-size:.86rem}
.p2sw .mono{font-size:.66rem;color:var(--ink-3)}
.p2dark{background:linear-gradient(158deg,#131318,#0A0A0E);border-color:#26262F}
.p2dark .sg-tt span{color:#6E6A88}
.p2dark .p2sw b{color:#F3F2FA}.p2dark .p2sw .mono{color:#8B87A8}
.p2pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:1100px){.p2pair{grid-template-columns:1fr}}
.p2demo{border-radius:18px;overflow:hidden;display:grid;grid-template-columns:52px 1fr}
.p2side{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 0}
.p2logo{font-weight:800;font-size:1.05rem}
.p2nav{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.72rem}
.p2main{padding:16px 18px 18px;display:flex;flex-direction:column;gap:11px}
.p2row{display:flex;align-items:center;justify-content:space-between}
.p2row b{font-size:.98rem;letter-spacing:-.02em}
.p2wallet{font-family:var(--mono);font-size:.72rem;font-weight:700;padding:6px 11px;border-radius:20px;display:inline-flex;align-items:center;gap:7px}
.p2wallet i{width:7px;height:7px;border-radius:50%}
.p2hero{border-radius:14px;padding:14px 16px;position:relative;overflow:hidden}
.p2hero .p2cap{font-family:var(--mono);font-size:.54rem;letter-spacing:.13em;color:rgba(255,255,255,.5);font-weight:600}
.p2big{color:#fff;font-size:1.5rem;font-weight:800;letter-spacing:-.03em;margin:3px 0 8px}
.p2big em{font-style:normal;font-family:var(--mono);font-size:.7rem;font-weight:700;margin-left:6px}
.p2hero svg{width:100%;height:44px;display:block}
.p2kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.p2kpi{border-radius:12px;padding:11px 13px;display:flex;flex-direction:column;gap:2px}
.p2kpi span{font-family:var(--mono);font-size:.54rem;letter-spacing:.11em;font-weight:600}
.p2kpi b{font-size:1.15rem;letter-spacing:-.02em}
.p2kpi em{font-style:normal;font-family:var(--mono);font-size:.66rem;font-weight:700}
.p2btns{display:flex;gap:8px;flex-wrap:wrap}
.p2btn{font-size:.76rem;font-weight:700;padding:8px 13px;border-radius:10px;white-space:nowrap}
.p2gh{background:transparent}
.p2foot{font-size:.8rem}
.p2chip{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-left:7px;border:1px solid var(--line)}
.p2states{display:flex;flex-direction:column;gap:18px}
.p2states>div{display:flex;flex-direction:column;gap:9px;border-top:1px solid var(--line);padding-top:14px}.p2states>div:first-child{border-top:0;padding-top:0}
/* desglose de saldo (retirada) + 2FA */
.desglose{margin-top:22px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.dg-hd{display:flex;align-items:center;gap:9px;padding:13px 16px;font-weight:700;font-size:.92rem;border-bottom:1px solid var(--line)}
.dg-hd svg{width:17px;height:17px;color:var(--accent)}
.dg-row{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;font-size:.88rem;border-bottom:1px solid var(--line)}
.dg-row:last-child{border-bottom:0}
.dg-row.neg span{color:var(--neg);display:inline-flex;align-items:center;gap:7px}.dg-row.neg b{color:var(--neg)}
.dg-row.neg svg{width:14px;height:14px}
.dg-row.total{background:var(--chip)}.dg-row.total span{font-weight:700}.dg-row.total b{color:var(--pos);font-weight:800}
.tfa{max-width:210px;letter-spacing:.35em;font-weight:700;text-align:center;font-size:1.05rem}
.lab-ic{width:15px;height:15px;vertical-align:-3px;margin-right:5px;color:var(--accent)}
/* ===== Historial de wallet ===== */
/* hero del wallet — grabado Franklin (billete de $100) */
/* Sin fotos de dinero: violeta profundo, dos resplandores (violeta arriba a
   la derecha, lima abajo) y una trama de puntos enmascarada al lado derecho. */
.wal-hero{position:relative;overflow:hidden;border-radius:22px;padding:32px 36px;min-height:235px;display:flex;align-items:center;color:#fff;margin-bottom:18px;background:radial-gradient(520px 300px at 88% 8%,rgba(126,35,249,.42),transparent 62%),radial-gradient(420px 260px at 92% 96%,rgba(224,252,9,.14),transparent 60%),linear-gradient(115deg,#0C0518 0%,#150A33 52%,#1B0B45 100%);box-shadow:0 26px 60px -26px rgba(24,8,80,.55)}
.wal-hero::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1px);background-size:16px 16px;-webkit-mask-image:linear-gradient(90deg,transparent 42%,#000 100%);mask-image:linear-gradient(90deg,transparent 42%,#000 100%)}
:root:not([data-theme="dark"]) .wal-hero{background:radial-gradient(460px 280px at 88% 6%,rgba(126,35,249,.14),transparent 62%),radial-gradient(380px 240px at 94% 98%,rgba(224,252,9,.28),transparent 60%),#F4F3EE;border:2px solid #14151A;box-shadow:5px 5px 0 #14151A;color:#14201A}
:root:not([data-theme="dark"]) .wal-hero::after{background-image:radial-gradient(rgba(20,21,26,.10) 1px,transparent 1px)}
:root:not([data-theme="dark"]) .wal-hero .wal-eyebrow{color:#6B6C78}
:root:not([data-theme="dark"]) .wal-hero .wal-big{color:#14151A;text-shadow:none}
:root:not([data-theme="dark"]) .wal-hero .wal-sub{color:#5A5B66}
:root:not([data-theme="dark"]) .wal-hero .btn-ghost-l{border-color:rgba(20,21,26,.34);color:#14151A}
:root:not([data-theme="dark"]) .wal-hero .btn-ghost-l:hover{background:rgba(20,21,26,.07)}
:root:not([data-theme="dark"]) .wal-hero .btn-lima{border:1.5px solid #14151A}
.wal-hero-in{position:relative;z-index:1;max-width:560px}
.wal-hero .wal-eyebrow{color:rgba(255,255,255,.55)}
.wal-big{display:block;font-family:var(--mono);font-size:2.7rem;font-weight:800;letter-spacing:-.03em;color:var(--lima);margin:8px 0 4px;text-shadow:0 4px 24px rgba(224,252,9,.18)}
.wal-sub{font-size:.84rem;color:rgba(255,255,255,.62)}
.wal-eyebrow{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink-3)}
.wal-actbtns{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.wal-actbtns .btn,.wal-actbtns .btn-ghost-l{display:inline-flex;align-items:center;justify-content:center;gap:9px}
.wal-actbtns svg{width:17px;height:17px;flex-shrink:0}
@media(max-width:700px){.wal-hero{padding:24px 22px}
}
.wal-filters{display:flex;gap:9px;flex-wrap:wrap;align-items:center;padding:14px 16px 6px}
.fdate{height:42px;background:var(--chip);border:none;border-radius:var(--r-ctrl);padding:0 13px;font-family:var(--mono);font-size:.8rem;color:var(--ink-2);cursor:pointer}
.fdate::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5}
:root[data-theme="dark"] .fdate::-webkit-calendar-picker-indicator{filter:invert(1) opacity(.5)}
.wal-search{display:flex;align-items:stretch;flex:1;min-width:220px}
.wal-search .fsearch{flex:1;border-radius:var(--r-ctrl) 0 0 var(--r-ctrl);border-right:none}
.wal-searchbtn{width:46px;border:none;border-radius:0 var(--r-ctrl) var(--r-ctrl) 0;background:var(--azul);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--t-fast)}
.wal-searchbtn:hover{background:var(--azul-2)}.wal-searchbtn svg{width:17px;height:17px}
.wal-note{font-size:.82rem;color:var(--ink-2);font-style:italic}
/* ===== Etiquetas ===== */
.et-hd{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px 14px}
.et-hd b{font-size:1.08rem;letter-spacing:-.015em}
.et-hl{display:flex;align-items:baseline;gap:12px}
.tagpill{display:inline-flex;align-items:center;gap:7px;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:.84rem;padding:5px 12px;border-radius:9px;white-space:nowrap}
.tagpill svg{width:13px;height:13px}
.etform{padding:30px;position:relative;overflow:hidden}
.etform::before{content:'';position:absolute;top:-150px;left:-130px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(72,0,255,.05),transparent 65%);pointer-events:none}
.etform-ft{display:flex;align-items:center;justify-content:center;gap:12px}
.inp.inp-bad{border-color:var(--neg);box-shadow:0 0 0 3px rgba(224,87,83,.13)}
.pc-money.inp-bad,.upload.inp-bad{border-color:var(--neg)!important;box-shadow:0 0 0 3px rgba(224,87,83,.13)}
.upload.ok{border-color:var(--pos)!important;background:rgba(15,160,95,.05)}
/* Arrastrando un fichero encima de la zona */
.upload.drag{border-color:var(--accent);background:var(--accent-soft)}.upload.drag svg{color:var(--accent)}
.upload.ok svg{color:var(--pos)}
/* ===== API Webhooks ===== */
.wh-body{padding:12px 20px 24px}
.wh-main{padding:32px;position:relative;overflow:hidden}
.wh-main::before{content:'';position:absolute;top:-150px;left:-130px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(72,0,255,.06),transparent 65%);pointer-events:none}
.wh-top{display:flex;align-items:center;gap:15px;position:relative}
.wh-logo{width:56px;height:56px;border-radius:16px;background:linear-gradient(145deg,#7C5CFF,#4800FF);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 12px 26px -10px rgba(72,0,255,.55),inset 0 1px 0 rgba(255,255,255,.35);position:relative;overflow:hidden}
.wh-logo::after{content:'';position:absolute;top:0;left:0;right:0;height:46%;background:linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,0));border-radius:16px 16px 46% 46%}
.wh-logo svg{width:25px;height:25px;position:relative;z-index:1}
.wh-tt{font-size:1.3rem;letter-spacing:-.025em;line-height:1.2;flex:1}
.wh-vbtn{color:var(--accent);border-color:var(--accent);flex-shrink:0}
.wh-vbtn:hover{background:var(--accent-soft)}
.wh-div{height:1px;background:var(--line);margin:22px 0 24px}
/* banners de alerta (patrón real del panel) */
.albar{display:flex;align-items:center;gap:12px;padding:15px 19px;border-radius:14px;margin-bottom:18px;font-size:.92rem;line-height:1.5;animation:waIn .3s both}
.albar b{font-weight:700}
.albar.err{background:rgba(224,87,83,.09);border:1px solid rgba(224,87,83,.25);color:var(--neg-2)}
.albar.ok{background:rgba(15,160,95,.08);border:1px solid rgba(15,160,95,.22);color:#0C864F}
.al-x{margin-left:auto;background:none;border:none;cursor:pointer;color:inherit;opacity:.55;display:flex;padding:2px;transition:opacity .15s}
.al-x:hover{opacity:1}.al-x svg{width:16px;height:16px}
:root[data-theme="dark"] .albar.err{background:rgba(224,87,83,.12);border-color:rgba(224,87,83,.32);color:#F0918C}
:root[data-theme="dark"] .albar.ok{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.28);color:#6EE7A0}
.wh-lab{font-weight:600;font-size:.84rem;color:var(--ink-2);display:block;margin-bottom:10px}
.wh-inpwrap{position:relative;display:flex;align-items:center;gap:0}
.wh-lic{display:none}
.wh-inpwrap .inp{flex:1;min-width:0}
.wh-inpwrap .inp{padding-right:42px;height:48px;font-size:.88rem}
.wh-lic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-3);display:flex;transition:color .2s}.wh-lic svg{width:17px;height:17px}
.wh-st{position:absolute;right:13px;top:50%;transform:translateY(-50%);display:none}.wh-st svg{width:18px;height:18px}
.wh-st.ok{color:var(--pos)}.wh-st.bad{color:var(--neg)}
.wh-inpwrap.ok .inp{border-color:var(--pos);box-shadow:0 0 0 3px rgba(15,160,95,.13)}
.wh-inpwrap.ok .wh-st.ok{display:flex}.wh-inpwrap.ok .wh-lic{color:var(--pos)}
.wh-inpwrap.bad .inp{border-color:var(--neg);box-shadow:0 0 0 3px rgba(224,87,83,.13)}
.wh-inpwrap.bad .wh-st.bad{display:flex}.wh-inpwrap.bad .wh-lic{color:var(--neg)}
.wh-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px;border-top:1px solid var(--line);padding-top:18px}
.codewin{position:relative;background:#0A0C14;border:1px solid rgba(255,255,255,.09);border-radius:16px;box-shadow:0 22px 48px -24px rgba(11,13,24,.55);overflow:hidden}
.codewin-hd{display:flex;align-items:center;gap:7px;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.07)}
.cw-dot{width:11px;height:11px;border-radius:50%}.cw-dot.d1{background:#FF5F57}.cw-dot.d2{background:#FEBC2E}.cw-dot.d3{background:#28C840}
.codewin-hd b{margin-left:8px;color:rgba(255,255,255,.72);font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;font-weight:600;flex:1}
.cw-post{font-family:var(--mono);font-size:.6rem;font-weight:700;letter-spacing:.08em;color:var(--lima);background:rgba(224,252,9,.1);border:1px solid rgba(224,252,9,.25);border-radius:7px;padding:3px 8px}
.codewin pre{margin:0;padding:16px 18px 20px;font-family:var(--mono);font-size:.74rem;line-height:1.85;color:#8B93A7;overflow-x:auto;white-space:pre}
.codewin .cl{display:block;opacity:0;animation:waIn .35s both}
.codewin .ln{display:inline-block;min-width:18px;margin-right:14px;color:#39415A;text-align:right;user-select:none}
.codewin .ck{color:#7DD3FC}.codewin .ct{color:#C4B5FD}.codewin .cp{color:#5A6478}.codewin .cs{color:#E0FC09}
.cw-caret{display:inline-block;width:7px;height:13px;background:var(--lima);margin-left:7px;vertical-align:-2px;animation:cwBlink 1.1s steps(1) infinite}
@keyframes cwBlink{50%{opacity:0}}
.wa-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:stretch}@media(max-width:1080px){.wa-feature{grid-template-columns:1fr}}
.wa-left{display:flex;flex-direction:column;gap:18px;min-width:0}
.wa-main{padding:32px 32px 28px;position:relative;overflow:hidden}
.wa-main::before{content:'';position:absolute;top:-150px;left:-130px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(37,211,102,.1),transparent 65%);pointer-events:none}
.wa-hd{display:flex;gap:18px;align-items:center;margin-bottom:20px;position:relative}
.wa-logo{width:56px;height:56px;border-radius:17px;background:linear-gradient(145deg,#35DE81,#0E8F70);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 12px 26px -10px rgba(18,140,126,.6),inset 0 1px 0 rgba(255,255,255,.35);position:relative;overflow:hidden}
.wa-logo::after{content:'';position:absolute;top:0;left:0;right:0;height:46%;background:linear-gradient(rgba(255,255,255,.3),rgba(255,255,255,0));border-radius:17px 17px 46% 46%}
.wa-logo svg{width:28px;height:28px;position:relative;z-index:1}
.wa-hd b{font-size:1.3rem;letter-spacing:-.025em;display:block;line-height:1.2}
.wa-hd p{font-size:.9rem;color:var(--ink-2);margin-top:6px;line-height:1.55}
.wa-benefit{display:flex;gap:15px;padding:16px 0;border-top:1px solid var(--line);position:relative}
.wa-bic{width:40px;height:40px;border-radius:12px;background:rgba(37,211,102,.12);color:#1DAF5C;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s}.wa-bic svg{width:19px;height:19px}
.wa-benefit:hover .wa-bic{transform:scale(1.08)}
:root[data-theme="dark"] .wa-bic{color:#25D366}
.wa-benefit b{font-size:.94rem;display:block}.wa-benefit p{font-size:.86rem;color:var(--ink-2);margin-top:3px;line-height:1.55}
.wa-close{margin-top:6px;padding:16px 19px 16px 21px;border-radius:14px;background:var(--negro);border:none;color:rgba(255,255,255,.92);display:flex;gap:12px;align-items:center;box-shadow:0 14px 30px -18px rgba(11,13,24,.5);position:relative;overflow:hidden}
.wa-close .dot-live{background:var(--lima);box-shadow:0 0 0 4px rgba(224,252,9,.18)}
.wa-close p{margin:0}
.wa-close b{color:var(--lima)}
:root[data-theme="dark"] .wa-close{background:linear-gradient(158deg,#191C33 0%,#0A0B13 100%);border-color:#2A2E4A;color:#fff;box-shadow:0 14px 34px -18px rgba(11,13,24,.55)}


.wa-close p{font-size:.86rem;line-height:1.55;color:rgba(255,255,255,.93);position:relative}.wa-close .dot-live{flex-shrink:0}
.wa-notice{display:flex;gap:14px;align-items:center;padding:16px 19px 16px 21px;border-radius:16px;background:rgba(222,120,30,.06);border:1px solid rgba(222,120,30,.22);position:relative;overflow:hidden}
.wa-notice::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#F5B93B,var(--warn))}
.wa-notice p{font-size:.86rem;line-height:1.6;color:var(--ink)}
.wa-nic{width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#F5B93B,#DE781E);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 18px -8px rgba(222,120,30,.55),inset 0 1px 0 rgba(255,255,255,.3)}.wa-nic svg{width:19px;height:19px}
:root[data-theme="dark"] .wa-notice{background:rgba(252,162,84,.07);border-color:rgba(252,162,84,.22)}
/* escenario oscuro + iPhone con WhatsApp simulado */
.wa-stage{position:relative;overflow:hidden;border-radius:18px;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'><g fill='%23ffffff' fill-opacity='.045'><path transform='translate(10,10) scale(1.2)' d='M12 2a10 10 0 0 0-8.6 15.12L2 22l4.98-1.35A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.18-1.14l-.3-.18-3.1.84.83-3.02-.2-.31A8.2 8.2 0 1 1 12 20.2zm4.5-6.13c-.24-.12-1.45-.72-1.68-.8-.22-.08-.39-.12-.55.12-.16.25-.63.8-.78.96-.14.17-.29.18-.53.06-.24-.12-1.02-.38-1.94-1.2-.72-.64-1.2-1.43-1.34-1.67-.14-.24-.02-.37.1-.49.11-.11.24-.28.36-.42.12-.14.16-.25.24-.41.08-.17.04-.31-.02-.43-.06-.12-.55-1.32-.75-1.81-.2-.48-.4-.41-.55-.42h-.47c-.16 0-.42.06-.64.31-.22.25-.84.83-.84 2.02 0 1.19.86 2.34.98 2.5.12.17 1.69 2.58 4.1 3.62.57.25 1.02.4 1.37.5.57.19 1.1.16 1.51.1.46-.07 1.45-.6 1.66-1.17.2-.58.2-1.07.14-1.17-.06-.1-.22-.17-.46-.29z'/><path transform='translate(58,58) scale(1.2)' d='M12 2a10 10 0 0 0-8.6 15.12L2 22l4.98-1.35A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.18-1.14l-.3-.18-3.1.84.83-3.02-.2-.31A8.2 8.2 0 1 1 12 20.2zm4.5-6.13c-.24-.12-1.45-.72-1.68-.8-.22-.08-.39-.12-.55.12-.16.25-.63.8-.78.96-.14.17-.29.18-.53.06-.24-.12-1.02-.38-1.94-1.2-.72-.64-1.2-1.43-1.34-1.67-.14-.24-.02-.37.1-.49.11-.11.24-.28.36-.42.12-.14.16-.25.24-.41.08-.17.04-.31-.02-.43-.06-.12-.55-1.32-.75-1.81-.2-.48-.4-.41-.55-.42h-.47c-.16 0-.42.06-.64.31-.22.25-.84.83-.84 2.02 0 1.19.86 2.34.98 2.5.12.17 1.69 2.58 4.1 3.62.57.25 1.02.4 1.37.5.57.19 1.1.16 1.51.1.46-.07 1.45-.6 1.66-1.17.2-.58.2-1.07.14-1.17-.06-.1-.22-.17-.46-.29z'/></g></svg>"),radial-gradient(circle at 78% -5%,rgba(105,247,161,.55),transparent 48%),linear-gradient(158deg,#2ECB77 0%,#16A472 46%,#0B7B5E 100%);background-size:96px 96px,cover,cover;border:1px solid rgba(255,255,255,.22);box-shadow:0 22px 50px -20px rgba(11,123,94,.6),inset 0 1px 0 rgba(255,255,255,.18);padding:24px 24px 32px;display:flex;flex-direction:column;align-items:center}
.wa-stage::before{content:'';position:absolute;width:520px;height:520px;border-radius:50%;left:50%;top:52%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(160,255,190,.28) 0%,rgba(224,252,9,.08) 42%,transparent 68%);pointer-events:none}
.wa-stage-hd{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;position:relative;z-index:4}
.wa-stage-hd .wsl{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#0B3D2E;font-weight:800;font-size:.86rem;padding:7px 14px 7px 9px;border-radius:24px;box-shadow:0 8px 20px -8px rgba(0,0,0,.35)}
.wa-stage-hd .wsl svg{width:20px;height:20px;color:#25D366;fill:#25D366}
.wa-stage-hd .wsl b{color:#0B3D2E}
.wa-stage-hd svg{width:21px;height:21px;color:#25D366}
.wa-stage-hd b{color:#fff;font-size:.95rem;letter-spacing:-.01em}
.wa-live{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:600;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:20px;padding:6px 13px;backdrop-filter:blur(6px)}
.wa-ring{position:absolute;border:1px solid rgba(255,255,255,.06);border-radius:50%;left:50%;top:55%;transform:translate(-50%,-50%);pointer-events:none}
.wa-ring.r1{width:430px;height:430px}
.wa-ring.r2{width:600px;height:600px;border-color:rgba(255,255,255,.035)}
.wa-phone-wrap{position:relative;z-index:2}
.wa-chip{position:absolute;z-index:5;display:flex;align-items:center;gap:9px;background:rgba(6,52,42,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);border-radius:13px;padding:9px 14px 9px 10px;color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.01em;box-shadow:0 18px 38px -14px rgba(0,0,0,.5);white-space:nowrap;animation:waFloat 6.5s ease-in-out infinite}
.wa-chip .wc-ic{width:25px;height:25px;border-radius:8px;background:rgba(37,211,102,.18);color:#2EE07A;display:flex;align-items:center;justify-content:center;flex-shrink:0}.wa-chip .wc-ic svg{width:13px;height:13px}
.wa-chip.c1{right:-118px;top:168px}
.wa-chip.c2{left:-96px;top:296px;animation-delay:1.6s}
.wa-chip.c3{right:-128px;top:372px;animation-delay:3.1s}
.wa-chip.c4{left:-118px;bottom:-10px;animation-delay:4.5s}
@media(max-width:1420px){.wa-chip{display:none}}
@keyframes waFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes waIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.phone{position:relative;z-index:2;width:288px;background:#0e1014;border-radius:46px;padding:10px;box-shadow:0 34px 64px -26px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.07)}
.phone::before{content:'';position:absolute;left:-2.5px;top:122px;width:3px;height:30px;border-radius:3px;background:#23262f;box-shadow:0 42px 0 #23262f}
.phone::after{content:'';position:absolute;right:-2.5px;top:154px;width:3px;height:52px;border-radius:3px;background:#23262f}
.phone-scr{position:relative;background:#EFE7DD url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='58' height='58' viewBox='0 0 58 58'><g fill='%23B9A99A' fill-opacity='.3'><path transform='translate(5,5) scale(.8)' d='M12 2a10 10 0 0 0-8.6 15.12L2 22l4.98-1.35A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.18-1.14l-.3-.18-3.1.84.83-3.02-.2-.31A8.2 8.2 0 1 1 12 20.2zm4.5-6.13c-.24-.12-1.45-.72-1.68-.8-.22-.08-.39-.12-.55.12-.16.25-.63.8-.78.96-.14.17-.29.18-.53.06-.24-.12-1.02-.38-1.94-1.2-.72-.64-1.2-1.43-1.34-1.67-.14-.24-.02-.37.1-.49.11-.11.24-.28.36-.42.12-.14.16-.25.24-.41.08-.17.04-.31-.02-.43-.06-.12-.55-1.32-.75-1.81-.2-.48-.4-.41-.55-.42h-.47c-.16 0-.42.06-.64.31-.22.25-.84.83-.84 2.02 0 1.19.86 2.34.98 2.5.12.17 1.69 2.58 4.1 3.62.57.25 1.02.4 1.37.5.57.19 1.1.16 1.51.1.46-.07 1.45-.6 1.66-1.17.2-.58.2-1.07.14-1.17-.06-.1-.22-.17-.46-.29z'/><path transform='translate(34,34) scale(.8)' d='M12 2a10 10 0 0 0-8.6 15.12L2 22l4.98-1.35A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.18-1.14l-.3-.18-3.1.84.83-3.02-.2-.31A8.2 8.2 0 1 1 12 20.2zm4.5-6.13c-.24-.12-1.45-.72-1.68-.8-.22-.08-.39-.12-.55.12-.16.25-.63.8-.78.96-.14.17-.29.18-.53.06-.24-.12-1.02-.38-1.94-1.2-.72-.64-1.2-1.43-1.34-1.67-.14-.24-.02-.37.1-.49.11-.11.24-.28.36-.42.12-.14.16-.25.24-.41.08-.17.04-.31-.02-.43-.06-.12-.55-1.32-.75-1.81-.2-.48-.4-.41-.55-.42h-.47c-.16 0-.42.06-.64.31-.22.25-.84.83-.84 2.02 0 1.19.86 2.34.98 2.5.12.17 1.69 2.58 4.1 3.62.57.25 1.02.4 1.37.5.57.19 1.1.16 1.51.1.46-.07 1.45-.6 1.66-1.17.2-.58.2-1.07.14-1.17-.06-.1-.22-.17-.46-.29z'/></g></svg>");background-size:58px 58px;border-radius:37px;overflow:hidden;display:flex;flex-direction:column;min-height:478px}
.ph-island{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:84px;height:23px;background:#0e1014;border-radius:14px;z-index:6}
.ph-top{background:#008069;color:#fff}
.ph-status{display:flex;justify-content:space-between;align-items:center;padding:11px 22px 3px;font-size:.66rem;font-weight:700}
.ph-status .ph-sic{display:flex;gap:4px;align-items:center}.ph-status svg{height:10px;width:auto;display:block}
.ph-wahd{display:flex;align-items:center;gap:9px;padding:9px 12px 11px}
.ph-back{width:20px;height:20px;flex-shrink:0}
.ph-av{width:32px;height:32px;border-radius:50%;background:#0C111D;color:var(--lima);font-weight:800;font-size:.82rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ph-who{flex:1;min-width:0;line-height:1.15}
.ph-who b{display:block;font-size:.84rem;letter-spacing:-.01em}
.ph-who span{font-size:.62rem;opacity:.75}
.ph-acts{display:flex;gap:14px;align-items:center}.ph-acts svg{width:17px;height:17px;opacity:.95}
.phone-scr::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.07) 0%,rgba(255,255,255,0) 32%);pointer-events:none;z-index:7;border-radius:37px}
.ph-chat{flex:1;display:flex;flex-direction:column;gap:8px;padding:12px 12px 8px}
.ph-chat>*{animation:waIn .45s both}
.ph-chat>:nth-child(1){animation-delay:.15s}.ph-chat>:nth-child(2){animation-delay:.3s}.ph-chat>:nth-child(3){animation-delay:.55s}.ph-chat>:nth-child(4){animation-delay:.95s}.ph-chat>:nth-child(5){animation-delay:1.35s}.ph-chat>:nth-child(6){animation-delay:1.9s}
.ph-typing{display:inline-flex;gap:4px;align-items:center;padding:10px 13px;width:auto;align-self:flex-start}
.ph-typing i{width:6px;height:6px;border-radius:50%;background:#9AA7B0;animation:phTyp 1.3s infinite}
.ph-typing i:nth-child(2){animation-delay:.18s}.ph-typing i:nth-child(3){animation-delay:.36s}
@keyframes phTyp{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.ph-date{align-self:center;background:#fff;color:#54656F;font-size:.56rem;font-weight:600;letter-spacing:.05em;padding:4px 11px;border-radius:8px;box-shadow:0 1px 1px rgba(0,0,0,.06)}
.ph-enc{align-self:center;text-align:center;background:#FCF4CB;color:#54656F;font-size:.56rem;line-height:1.5;padding:6px 12px;border-radius:9px;max-width:92%;box-shadow:0 1px 1px rgba(0,0,0,.05)}
.ph-in{align-self:flex-start;max-width:84%;background:#fff;color:#111B21;border-radius:11px;border-top-left-radius:3px;padding:7px 10px 6px;font-size:.76rem;line-height:1.45;box-shadow:0 1px 1px rgba(0,0,0,.07)}
.ph-t{font-size:.55rem;color:#8696A0;float:right;margin:8px -2px 0 9px}
.ph-replies{display:flex;flex-direction:column;gap:6px;margin-top:2px}
.ph-replies span{background:#fff;color:#008069;font-size:.74rem;font-weight:600;text-align:center;padding:9px 10px;border-radius:11px;box-shadow:0 1px 1px rgba(0,0,0,.07)}
.ph-input{display:flex;gap:8px;align-items:center;padding:8px 10px 4px}
.ph-field{flex:1;display:flex;align-items:center;gap:8px;background:#fff;border-radius:22px;padding:9px 13px;font-size:.72rem;color:#8696A0;box-shadow:0 1px 1px rgba(0,0,0,.06)}
.ph-field svg{width:16px;height:16px;color:#8696A0;flex-shrink:0}
.ph-mic{width:36px;height:36px;border-radius:50%;background:#008069;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 3px 8px -2px rgba(0,128,105,.5)}
.ph-mic svg{width:16px;height:16px}
.ph-home{height:4px;width:104px;border-radius:4px;background:#111;opacity:.22;margin:5px auto 9px;flex-shrink:0}
/* ===================== ESTADÍSTICAS ÉPICAS (dataviz) ===================== */
.stat-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}@media(max-width:1300px){.stat-hero{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.stat-hero{grid-template-columns:1fr}}
.gauge{padding:20px;display:flex;align-items:center;gap:18px}
.gauge-ring{position:relative;width:92px;height:92px;flex-shrink:0}.gauge-ring svg{width:92px;height:92px;transform:rotate(0)}
.gauge-ring .gv{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.gauge-ring .gv b{font-size:1.3rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.gauge-ring .gv span{font-family:var(--mono);font-size:.54rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-top:3px}
.gauge-meta{min-width:0}
.gauge .gt{font-family:var(--mono);font-size:.63rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);font-weight:600;display:flex;align-items:center;gap:8px}
.gauge .gic{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gauge .gic svg{width:15px;height:15px}
.gauge-meta .gbig{font-size:1.55rem;font-weight:800;letter-spacing:-.02em;margin:8px 0 6px;line-height:1}
.gauge-meta .gdelta{font-family:var(--mono);font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:5px}
.gdelta.up{color:var(--pos)}.gdelta.down{color:var(--neg)}.gdelta .muted{color:var(--ink-3);font-weight:500}
.gauge-spark{height:30px;width:100%;margin-top:10px}
.stat-2col{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;margin-bottom:16px}@media(max-width:1100px){.stat-2col{grid-template-columns:1fr}}
/* embudo COD */
.funnelx{padding:24px}
.fx-step{margin-bottom:16px}.fx-step:last-child{margin-bottom:0}
.fx-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.fx-row .fl{font-weight:600;font-size:.88rem;display:flex;align-items:center;gap:9px}.fx-row .fl i{width:11px;height:11px;border-radius:3px;flex-shrink:0}
.fx-row .fv{font-family:var(--mono);font-weight:800;font-size:1.02rem}
.fx-bar{height:30px;border-radius:9px;width:0;transition:width 1.2s cubic-bezier(.19,1,.22,1)}
.fx-conv{font-family:var(--mono);font-size:.72rem;color:var(--ink-3);text-align:right;margin-top:5px}.fx-conv b{color:var(--pos)}
/* ranking bars */
.rank{padding:22px}
.rk{display:flex;align-items:center;gap:13px;padding:11px 0;border-bottom:1px solid var(--line)}.rk:last-child{border-bottom:0}
.rk .rn{width:24px;height:24px;border-radius:8px;background:var(--bg);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.74rem;font-weight:700;color:var(--ink-2);flex-shrink:0}
.rk.top1 .rn{background:var(--lima);color:var(--negro);border-color:var(--lima)}
.rk-body{flex:1;min-width:0}
.rk-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:.85rem;align-items:baseline}
.rk-top b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rk-top .rk-val{font-family:var(--mono);font-weight:700;color:var(--ink);flex-shrink:0}
.rk-track{height:7px;background:var(--bg);border-radius:6px;overflow:hidden}
.rk-track i{display:block;height:100%;border-radius:6px;width:0;transition:width 1.2s cubic-bezier(.19,1,.22,1)}
/* barras horizontales (provincias) */
.hbars{padding:22px}
.hb{display:grid;grid-template-columns:120px 1fr 54px;gap:12px;align-items:center;padding:8px 0}
.hb .hb-l{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hb .hb-track{height:10px;background:var(--bg);border-radius:6px;overflow:hidden}
.hb .hb-track i{display:block;height:100%;border-radius:6px;width:0;transition:width 1.2s cubic-bezier(.19,1,.22,1);background:linear-gradient(90deg,var(--accent),#9FA2FF)}
.hb .hb-v{font-family:var(--mono);font-weight:700;font-size:.82rem;text-align:right}
/* mini gauges transportadora */
.tg-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:520px){.tg-grid{grid-template-columns:1fr}}
.tgauge{border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;align-items:center;gap:14px}
.tgauge .tgr{position:relative;width:64px;height:64px;flex-shrink:0}.tgauge .tgr svg{width:64px;height:64px}.tgauge .tgr b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem}
.tgauge .tgn{font-weight:700;font-size:.92rem}.tgauge .tgs{font-size:.78rem;color:var(--ink-2);margin-top:2px}
.section-t{font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin:24px 0 12px}

@media(max-width:1000px){
/* Un desplegable abierto pesa mas que el dock: en pantalla estrecha se solapan. */
body.dd-open .dockfab{opacity:0;pointer-events:none;transform:translateY(12px)}
.app{grid-template-columns:1fr}
.side{position:fixed;left:0;top:0;bottom:0;z-index:420;width:min(300px,84vw);transform:translateX(-106%);visibility:hidden;transition:transform .3s cubic-bezier(.19,1,.22,1),visibility .3s;box-shadow:30px 0 70px -30px rgba(0,0,0,.55);overflow-y:auto}
body.nav-open .side{visibility:visible}
body.nav-open .side{transform:none}
.navbk{position:fixed;inset:0;z-index:410;background:rgba(8,6,18,.5);opacity:0;pointer-events:none;transition:opacity .25s}
body.nav-open .navbk{opacity:1;pointer-events:auto}
.navburger{display:flex}
.main{padding:16px}.top{margin:-16px -16px 16px;padding:14px 16px}.kpis,.kpis4{grid-template-columns:1fr 1fr}.row{grid-template-columns:1fr}}
/* ================= AUTH (login / registro / recuperar) ================= */
.app.auth-mode{grid-template-columns:1fr}
.app.auth-mode .side{display:none}
.app.auth-mode .main{padding:0}
.app.auth-mode ~ .dockfab{display:none}
.authwrap{min-height:100vh;display:grid;grid-template-columns:1.02fr .98fr}
@media(max-width:900px){.authwrap{grid-template-columns:1fr}}
.auth-brand{position:relative;overflow:hidden;padding:58px 58px 52px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(155deg,#170D3E 0%,#09080F 72%)}
@media(max-width:900px){.auth-brand{display:none}}
.auth-brand::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.045) 1px,transparent 1px);background-size:30px 30px;pointer-events:none;z-index:1;-webkit-mask-image:radial-gradient(circle at 40% 40%,#000,transparent 88%);mask-image:radial-gradient(circle at 40% 40%,#000,transparent 88%)}
.auth-brand::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(130% 90% at 50% 130%,rgba(0,0,0,.55),transparent 55%)}
.ab-orb{position:absolute;border-radius:50%;filter:blur(85px);pointer-events:none;z-index:0}
.ab-orb.o1{width:480px;height:480px;background:var(--accent);top:-130px;left:-100px;opacity:.6;animation:orbA 15s ease-in-out infinite}
.ab-orb.o2{width:400px;height:400px;background:#7E23F9;bottom:-120px;right:-80px;opacity:.5;animation:orbB 18s ease-in-out infinite}
.ab-orb.o3{width:280px;height:280px;background:#E0FC09;top:42%;right:14%;opacity:.15;animation:orbC 20s ease-in-out infinite}
@keyframes orbA{0%,100%{transform:translate(0,0)}50%{transform:translate(75px,55px)}}
@keyframes orbB{0%,100%{transform:translate(0,0)}50%{transform:translate(-65px,-45px)}}
@keyframes orbC{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-45px,65px) scale(1.28)}}
.ab-logo{position:relative;z-index:2}.ab-logo img{height:64px}
.ab-mid{position:relative;z-index:2;max-width:520px}
.ab-h{font-size:3.2rem;font-weight:800;line-height:1.04;letter-spacing:-.03em;margin-bottom:18px}
.ab-h b{color:var(--lima)}
.ab-sub{font-size:1.06rem;color:rgba(255,255,255,.72);line-height:1.65;margin-bottom:34px;max-width:450px}
.ab-feats{display:flex;flex-direction:column;gap:16px}
.ab-feat{display:flex;align-items:center;gap:14px;font-size:.99rem;color:rgba(255,255,255,.92)}
.abf-ic{width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.abf-ic svg{width:20px;height:20px;color:var(--lima)}
.ab-foot{position:relative;z-index:2;display:flex;gap:36px;color:rgba(255,255,255,.55);font-size:.82rem}
.ab-foot b{color:#fff;font-size:1.45rem;display:block;font-family:var(--mono);letter-spacing:-.02em}
.ab-logo,.ab-mid,.ab-foot{animation:abIn .75s cubic-bezier(.19,1,.22,1) both}
.ab-mid{animation-delay:.08s}.ab-foot{animation-delay:.16s}
@keyframes abIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.auth-form{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;background:radial-gradient(60% 50% at 50% 0%,var(--accent-soft),transparent 60%),var(--bg);position:relative;min-height:100vh}
.auth-card{width:100%;max-width:430px;animation:abIn .7s cubic-bezier(.19,1,.22,1) both;animation-delay:.12s}
.auth-mlogo{display:none;justify-content:center;margin-bottom:22px}
@media(max-width:900px){.auth-mlogo{display:flex}.auth-mlogo img{height:48px}}
.auth-h{font-size:1.95rem;font-weight:800;letter-spacing:-.025em}
.auth-p{color:var(--ink-2);margin:6px 0 26px;font-size:.95rem;line-height:1.5}
.afield{margin-bottom:15px}
.afield>label{display:block;font-size:.82rem;font-weight:600;margin-bottom:7px;color:var(--ink-2)}
.ainput{position:relative;display:flex;align-items:center;background:var(--panel);border:1.5px solid var(--line);border-radius:13px;transition:border-color .15s,box-shadow .15s}
.ainput input{flex:1;min-width:0;background:none;border:none;padding:13px 14px;font-family:var(--font);font-size:.95rem;color:var(--ink)}
.ainput input:focus{outline:none}
.ainput:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.afield.valid .ainput{border-color:var(--pos)}
.afield.invalid .ainput{border-color:var(--neg)}
.a-eye{width:46px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-3);flex-shrink:0}
.a-eye svg{width:19px;height:19px}
.a-ok{width:40px;display:flex;align-items:center;justify-content:center;color:var(--pos);opacity:0;transition:opacity .15s;pointer-events:none;flex-shrink:0}
.afield.valid .a-ok{opacity:1}.a-ok svg{width:19px;height:19px}
.aerr{display:none;align-items:center;gap:6px;color:var(--neg);font-size:.82rem;font-weight:600;margin-top:7px}
.afield.invalid .aerr{display:flex}
.aerr svg{width:15px;height:15px;flex-shrink:0}
.aphone .ccode{display:flex;align-items:center;gap:6px;padding:0 12px;align-self:stretch;border-right:1px solid var(--line);cursor:pointer;font-weight:600;font-size:.92rem;white-space:nowrap;color:var(--ink)}
.aphone .ccode .flag{font-size:1.15rem;line-height:1}.aphone .ccode svg{width:13px;height:13px;color:var(--ink-3)}
.cc-drop{position:absolute;top:calc(100% + 6px);left:0;z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 50px -16px rgba(0,0,0,.32);padding:6px;max-height:250px;overflow:auto;min-width:220px;display:none}
:root[data-theme="dark"] .cc-drop{box-shadow:0 22px 56px -14px rgba(0,0,0,.7)}
.aphone.ccopen .cc-drop{display:block}
.cc-opt{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--ink)}
.cc-opt:hover{background:var(--accent-soft)}.cc-opt .flag{font-size:1.15rem}
.pwmeter{display:flex;gap:5px;margin-top:9px}
.pwmeter i{height:5px;flex:1;background:var(--chip);border-radius:3px;transition:background .25s}
.pwmeter.s1 i:nth-child(1){background:var(--neg)}
.pwmeter.s2 i:nth-child(-n+2){background:var(--warn)}
.pwmeter.s3 i:nth-child(-n+3){background:#F5A623}
.pwmeter.s4 i{background:var(--pos)}
.pwreq{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:11px}
.pwreq span{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--ink-3);transition:color .15s}
.pwreq span svg{width:14px;height:14px;opacity:.5}
.pwreq span.met{color:var(--pos)}.pwreq span.met svg{opacity:1}
.abtn{width:100%;border:none;border-radius:13px;padding:14px;font-family:var(--font);font-weight:700;font-size:.98rem;cursor:pointer;background:var(--accent);color:#fff;transition:transform .15s,box-shadow .15s,background .15s;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 12px 26px -12px rgba(72,0,255,.6)}
.abtn svg{width:18px;height:18px}
.abtn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 32px -12px rgba(72,0,255,.7)}
.abtn:disabled{background:var(--chip);color:var(--ink-3);cursor:not-allowed;box-shadow:none}
.arow{display:flex;align-items:center;justify-content:space-between;margin:2px 0 20px}
/* «Olvidaste tu contrasena» heredaba el tamano del formulario y cantaba al
   lado de la casilla de recordarme (.9rem). */
.arow .alink{font-size:.84rem}
.acheck{display:flex;align-items:center;gap:9px;font-size:.9rem;color:var(--ink-2);cursor:pointer;user-select:none;line-height:1.4}
.acheck input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}
.alink{color:var(--accent);font-weight:600;cursor:pointer;text-decoration:none}.alink:hover{text-decoration:underline}
.aalt{text-align:center;margin-top:22px;color:var(--ink-2);font-size:.92rem}
.auth-foot{margin-top:26px;color:var(--ink-3);font-size:.82rem;text-align:center}
.a-back{display:inline-flex;align-items:center;gap:7px;color:var(--ink-2);font-weight:600;cursor:pointer;margin-bottom:18px;font-size:.9rem;text-decoration:none}
.a-back:hover{color:var(--ink)}.a-back svg{width:16px;height:16px}
.auth-success{text-align:center;padding:14px 0}
.as-ic{width:74px;height:74px;border-radius:20px;background:rgba(15,160,95,.14);color:var(--pos);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.as-ic svg{width:36px;height:36px}
.arg-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
/* ===== ENCUESTA onboarding ===== */
.enc-wrap{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:44px 24px;background:#08080D}
.enc-inner{position:relative;z-index:2}
.enc-wrap .enc-h{color:#fff}
.enc-wrap .enc-num{color:var(--lima)}
.enc-wrap .enc-prog{background:rgba(255,255,255,.1)}
.enc-wrap .enc-introp{color:rgba(255,255,255,.6)}
.enc-wrap .enc-intro-meta{color:rgba(255,255,255,.5)}
.enc-wrap .enc-opt{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:#fff}
.enc-wrap .enc-opt:hover{border-color:var(--lima);background:rgba(255,255,255,.08)}
.enc-wrap .enc-opt.sel{border-color:var(--lima);box-shadow:0 0 0 4px rgba(224,252,9,.14)}
.enc-wrap .eo-radio{border-color:rgba(255,255,255,.3)}
.enc-wrap .enc-opt.sel .eo-radio{border-color:var(--lima)}
.enc-wrap .enc-opt.sel .eo-radio::after{background:var(--lima)}
.enc-wrap .enc-back{color:rgba(255,255,255,.6)}.enc-wrap .enc-back:hover{color:#fff}
.enc-wrap .ens-step{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);box-shadow:none}
.enc-wrap .ens-step b{color:#fff}.enc-wrap .ens-step span{color:rgba(255,255,255,.55)}
.enc-inner{width:100%;max-width:620px}
.enc-brandline{display:flex;justify-content:center;margin-bottom:32px}
.enc-logo{height:50px}
.enc-topbar{margin-bottom:28px}
.enc-prog-k{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-weight:600;margin-bottom:9px;text-align:center}
.enc-prog{height:7px;background:var(--chip);border-radius:5px;overflow:hidden}
.enc-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#7E23F9);border-radius:5px;transition:width .5s cubic-bezier(.19,1,.22,1)}
.enc-num{display:block;text-align:center;font-family:var(--mono);font-size:.85rem;font-weight:700;color:var(--accent);letter-spacing:.05em}
.enc-h{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;line-height:1.22;margin:8px 0 24px;text-align:center}
.enc-opts{display:flex;flex-direction:column;gap:11px}
.enc-opt{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:16px 18px;background:var(--panel);border:1.5px solid var(--line);border-radius:14px;cursor:pointer;font-family:var(--font);font-size:.98rem;font-weight:600;color:var(--ink);transition:border-color .15s,box-shadow .15s,transform .15s}
.enc-opt:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--sh-hover)}
.enc-opt.sel{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.eo-radio{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);flex-shrink:0;position:relative;transition:border-color .15s}
.enc-opt.sel .eo-radio{border-color:var(--accent)}
.enc-opt.sel .eo-radio::after{content:'';position:absolute;inset:4px;border-radius:50%;background:var(--accent)}
.eo-tx{flex:1}
.enc-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:28px}
.enc-back{display:inline-flex;align-items:center;gap:7px;background:none;border:none;color:var(--ink-2);font-family:var(--font);font-weight:600;font-size:.95rem;cursor:pointer}
.enc-back:hover{color:var(--ink)}.enc-back svg{width:16px;height:16px}
.enc-next{width:auto;padding:13px 28px;flex-shrink:0;margin-left:auto}
.enc-done{text-align:center;padding:20px 0}
/* intro de la encuesta */
.enc-intro{text-align:center;padding:8px 0}
.enc-intro-ic{width:76px;height:76px;border-radius:22px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(150deg,#5B1BFF,#7E23F9);box-shadow:0 16px 34px -12px rgba(72,0,255,.55)}
.enc-intro-ic svg{width:38px;height:38px}
.enc-introp{color:var(--ink-2);font-size:.98rem;line-height:1.6;max-width:440px;margin:8px auto 0;text-align:center}
.enc-intro-meta{display:flex;justify-content:center;gap:22px;margin:20px 0 26px;color:var(--ink-3);font-size:.85rem;font-weight:600}
.enc-intro-meta span{display:inline-flex;align-items:center;gap:7px}.enc-intro-meta svg{width:16px;height:16px;color:var(--accent)}
/* final premium */
.enc-done-badge{width:88px;height:88px;border-radius:26px;margin:0 auto 22px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(150deg,#5B1BFF,#7E23F9);box-shadow:0 18px 40px -12px rgba(72,0,255,.6);position:relative}
.enc-done-badge::after{content:'';position:absolute;inset:-6px;border-radius:30px;border:2px solid var(--accent-soft);animation:encPulse 2s ease-in-out infinite}
@keyframes encPulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.08);opacity:0}}
.enc-done-badge svg{width:42px;height:42px}
.enc-next-steps{display:flex;flex-direction:column;gap:11px;max-width:420px;margin:0 auto;text-align:left}
.ens-step{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--card-sh)}
.ens-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ens-ic svg{width:20px;height:20px}
.ens-step b{display:block;font-size:.92rem;font-weight:700}
.ens-step span{font-size:.82rem;color:var(--ink-3)}
/* modal términos */
.tc-bd .tc-intro{color:var(--ink-2);font-size:.9rem;line-height:1.55;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.tc-h{font-size:.95rem;font-weight:700;margin:16px 0 5px;color:var(--ink)}
.tc-p{font-size:.88rem;color:var(--ink-2);line-height:1.6}
.tc-full{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:.85rem;color:var(--ink-3)}
/* ===== LOGIN variantes (a/b/c/d) ===== */
.auth-dark .afield>label{color:rgba(255,255,255,.72)}
.auth-dark .ainput{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14)}
.auth-dark .ainput input{color:#fff}
.auth-dark .ainput input::placeholder{color:rgba(255,255,255,.4)}
.auth-dark .ainput:focus-within{border-color:var(--lima);box-shadow:0 0 0 4px rgba(224,252,9,.16)}
.auth-dark .a-eye{color:rgba(255,255,255,.5)}
.auth-dark .acheck{color:rgba(255,255,255,.72)}.auth-dark .acheck input{accent-color:var(--lima)}
.auth-dark .aalt{color:rgba(255,255,255,.6)}
.auth-dark .alink{color:var(--lima)}
.auth-dark .abtn{background:var(--lima);color:#14151A;box-shadow:0 12px 26px -12px rgba(224,252,9,.5)}
.auth-dark .abtn:hover:not(:disabled){box-shadow:0 16px 32px -12px rgba(224,252,9,.6)}
/* A · split + mockup del producto */
.lv-a{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}
@media(max-width:960px){.lv-a{grid-template-columns:1fr}.lv-a-brand{display:none}}
.lv-a-brand{position:relative;overflow:hidden;padding:52px 52px 0;display:flex;flex-direction:column;color:#fff;background:linear-gradient(155deg,#170D3E,#09080F)}
.lv-a-logo{height:56px;position:relative;z-index:2;align-self:flex-start}
.lv-a-mid{position:relative;z-index:2;margin-top:auto}
.lv-a-h{font-size:2.5rem;font-weight:800;line-height:1.08;letter-spacing:-.03em;max-width:480px}
.lv-a-h b{color:var(--lima)}
.lv-a-sub{font-size:1rem;color:rgba(255,255,255,.68);margin:14px 0 26px;max-width:430px;line-height:1.6}
.lv-a-mock{position:relative;border-radius:14px 14px 0 0;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-bottom:none;box-shadow:0 -6px 60px -10px rgba(72,0,255,.45),0 40px 80px -30px rgba(0,0,0,.7);transform:perspective(1500px) rotateX(4deg);transform-origin:bottom}
.lv-a-bar{height:30px;background:#14141d;display:flex;align-items:center;gap:7px;padding:0 14px}
.lv-a-bar span{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.22)}
.lv-a-mock img{display:block;width:100%;height:auto}
.lv-a-form{display:flex;align-items:center;justify-content:center;padding:40px 28px;background:radial-gradient(60% 50% at 50% 0%,var(--accent-soft),transparent 60%),var(--bg)}
/* B · full-dark glass centrado */
.lv-b{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 24px;background:radial-gradient(circle at 50% -5%,#191140,#08080E 60%)}
.lv-b::before{content:'';position:absolute;inset:0;z-index:0;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:30px 30px;-webkit-mask-image:radial-gradient(circle at 50% 40%,#000,transparent 78%);mask-image:radial-gradient(circle at 50% 40%,#000,transparent 78%)}
.lv-b-card{position:relative;z-index:2;width:100%;max-width:412px;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:42px 38px;box-shadow:0 40px 90px -30px rgba(0,0,0,.75);text-align:center;animation:abIn .7s cubic-bezier(.19,1,.22,1) both}
.lv-b-logo{height:52px;margin-bottom:22px}
.lv-b-h{color:#fff;font-size:1.6rem;font-weight:800;letter-spacing:-.02em}
.lv-b-p{color:rgba(255,255,255,.6);font-size:.95rem;margin:6px 0 26px}
.lv-b-card .afield,.lv-b-card .arow,.lv-b-card .aalt{text-align:left}
.lv-b-foot{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:rgba(255,255,255,.38);font-size:.8rem;z-index:2}
/* C · grande y audaz */
.lv-c{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center;padding:40px;background:radial-gradient(85% 80% at 12% 12%,#5B1BFF,transparent 55%),linear-gradient(150deg,#3A0B9E,#0A0A16 75%)}
.lv-c-inner{position:relative;z-index:2;width:100%;max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
@media(max-width:960px){.lv-c-inner{grid-template-columns:1fr;gap:30px}.lv-c-left{display:none}}
.lv-c-logo{height:54px;margin-bottom:26px}
.lv-c-h{color:#fff;font-size:3.9rem;font-weight:800;line-height:1.02;letter-spacing:-.035em}
.lv-c-h b{color:var(--lima)}
.lv-c-p{color:rgba(255,255,255,.72);font-size:1.05rem;line-height:1.6;margin-top:18px;max-width:400px}
.lv-c-card{background:rgba(10,8,20,.5);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:36px 34px;box-shadow:0 40px 90px -30px rgba(0,0,0,.6)}
/* D · minimal-lux centrado */
.lv-d{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 24px;background:#09090D}
.lv-d::before{content:'';position:absolute;inset:0;z-index:0;background:radial-gradient(58% 42% at 50% 26%,rgba(72,0,255,.24),transparent 62%)}
.lv-d::after{content:'';position:absolute;inset:0;z-index:0;opacity:.55;background-image:radial-gradient(rgba(255,255,255,.03) 1px,transparent 1px);background-size:22px 22px}
.lv-d-card{position:relative;z-index:2;width:100%;max-width:384px;text-align:center;animation:abIn .7s cubic-bezier(.19,1,.22,1) both}
.lv-d-logo{height:62px;margin-bottom:28px}
.lv-d-h{color:#fff;font-size:1.7rem;font-weight:800;letter-spacing:-.02em}
.lv-d-p{color:rgba(255,255,255,.55);font-size:.95rem;margin:8px 0 0}
.lv-d-sep{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);margin:26px 0}
.lv-d-card .afield,.lv-d-card .arow,.lv-d-card .aalt{text-align:left}
/* E · mesh gradient animado */
.lv-e{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 24px;background:radial-gradient(at 18% 18%,#5B1BFF,transparent 45%),radial-gradient(at 82% 22%,#E063D5,transparent 45%),radial-gradient(at 22% 85%,#128C7E,transparent 42%),radial-gradient(at 85% 82%,#4800FF,transparent 45%),#0A0812;background-size:200% 200%;animation:meshMove 16s ease infinite}
@keyframes meshMove{0%,100%{background-position:0% 0%}50%{background-position:100% 100%}}
.lv-e .lv-b-card{background:rgba(10,9,20,.55)}
/* F · espacial / cohete */
.lv-f{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 24px;background:radial-gradient(circle at 50% 118%,#2A1470,#070710 60%)}
.lv-f-stars{position:absolute;inset:0;z-index:0;background-image:radial-gradient(1px 1px at 20px 30px,#fff,transparent),radial-gradient(1px 1px at 120px 80px,rgba(255,255,255,.7),transparent),radial-gradient(1.6px 1.6px at 200px 40px,#fff,transparent),radial-gradient(1px 1px at 300px 120px,rgba(255,255,255,.6),transparent);background-size:340px 200px;opacity:.55;animation:twinkle 5s ease-in-out infinite}
.lv-f-stars.s2{background-image:radial-gradient(1px 1px at 60px 100px,#fff,transparent),radial-gradient(1.6px 1.6px at 250px 60px,#fff,transparent),radial-gradient(1px 1px at 160px 160px,rgba(255,255,255,.6),transparent);background-size:280px 240px;opacity:.35;animation:twinkle 7s ease-in-out infinite reverse}
@keyframes twinkle{0%,100%{opacity:.55}50%{opacity:.25}}
.lv-f-planet{position:absolute;left:50%;bottom:-330px;transform:translateX(-50%);width:660px;height:660px;border-radius:50%;background:radial-gradient(circle at 50% 30%,#5B1BFF,#1A0B54 55%,#0A0730);box-shadow:0 -20px 130px -20px rgba(72,0,255,.7);z-index:0}
.lv-f-orbit{position:absolute;left:50%;bottom:-370px;transform:translateX(-50%);width:840px;height:840px;border-radius:50%;border:1px solid rgba(224,252,9,.18);z-index:0}
.lv-f-card{position:relative;z-index:2;width:100%;max-width:412px;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:34px 36px 40px;box-shadow:0 40px 90px -30px rgba(0,0,0,.75);text-align:center;animation:abIn .7s cubic-bezier(.19,1,.22,1) both}
.lv-f-card .afield,.lv-f-card .arow,.lv-f-card .aalt{text-align:left}
.lv-f-badge{width:64px;height:64px;border-radius:20px;margin:0 auto;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,#5B1BFF,#7E23F9);box-shadow:0 14px 30px -10px rgba(72,0,255,.6);color:#fff}
.lv-f-badge svg{width:32px;height:32px}
/* G · bento del producto */
.lv-g{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}
@media(max-width:960px){.lv-g{grid-template-columns:1fr}.lv-g-brand{display:none}}
.lv-g-brand{position:relative;overflow:hidden;padding:48px;display:flex;flex-direction:column;color:#fff;background:linear-gradient(155deg,#170D3E,#09080F)}
.lv-g-bento{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:32px 0}
.lgb{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px 18px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.lgb-k{font-family:var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5);display:block;margin-bottom:6px}
.lgb-kpi{grid-column:span 2}
.lgb-kpi b{font-size:1.9rem;font-weight:800;color:#fff;display:block;letter-spacing:-.02em}
.lgb-up{color:var(--lima);font-family:var(--mono);font-size:.72rem;font-weight:700}
.lgb-rank{display:flex;flex-direction:column;align-items:flex-start}
.lgb-tro{font-size:1.5rem}.lgb-rank b{color:#fff;font-size:1.15rem;margin-top:4px}.lgb-rank span{color:rgba(255,255,255,.5);font-size:.78rem}
.lgb-chart svg{width:100%;height:52px;margin-top:4px;display:block}
.lgb-feat{display:flex;align-items:center;gap:11px;color:rgba(255,255,255,.88);font-size:.86rem;font-weight:600;grid-column:span 2}
.lgb-ic{width:34px;height:34px;border-radius:10px;background:rgba(224,252,9,.14);color:var(--lima);display:flex;align-items:center;justify-content:center;flex-shrink:0}.lgb-ic svg{width:17px;height:17px}
.lv-g-h{position:relative;z-index:2;font-size:1.95rem;font-weight:800;letter-spacing:-.02em;max-width:430px;margin-top:auto}
.lv-g-h b{color:var(--lima)}
/* H · social proof */
.lv-h{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}
@media(max-width:960px){.lv-h{grid-template-columns:1fr}.lv-h-brand{display:none}}
.lv-h-brand{position:relative;overflow:hidden;padding:54px;display:flex;flex-direction:column;color:#fff;background:linear-gradient(155deg,#170D3E,#09080F)}
.lv-h-mid{position:relative;z-index:2;margin-top:auto}
.lv-h-quote{font-size:1.75rem;font-weight:700;line-height:1.34;letter-spacing:-.02em;color:#fff;max-width:490px}
.lv-h-by{display:flex;align-items:center;gap:13px;margin-top:24px}
.lv-h-av{width:46px;height:46px;border-radius:50%;background:linear-gradient(145deg,#5B1BFF,#7E23F9);display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;flex-shrink:0}
.lv-h-by b{color:#fff;display:block}.lv-h-by span{color:rgba(255,255,255,.55);font-size:.85rem}
.lv-h-stars{margin-top:28px;color:rgba(255,255,255,.7);font-size:.9rem;font-weight:600}
.lv-h-st{color:var(--lima);letter-spacing:2px;font-size:1rem}
.lv-h-trust{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:16px}
.lv-h-trust span{color:rgba(255,255,255,.42);font-size:.82rem;font-weight:700}
/* bell vibra + dot pulse */
@keyframes bellRing{0%,100%{transform:rotate(0)}8%,24%,40%{transform:rotate(15deg)}16%,32%,48%{transform:rotate(-15deg)}56%{transform:rotate(7deg)}64%{transform:rotate(-7deg)}72%{transform:rotate(0)}}
.bellbtn.ring svg{transform-origin:50% 22%;animation:bellRing .9s ease}
@keyframes dotPulse{0%{box-shadow:0 0 0 0 rgba(224,87,83,.55)}70%{box-shadow:0 0 0 7px rgba(224,87,83,0)}100%{box-shadow:0 0 0 0 rgba(224,87,83,0)}}
.bellbtn .dot{animation:dotPulse 2.4s ease-out infinite}
/* ===== ESTADÍSTICAS (Power BI) ===== */
.est-range{margin-left:auto;font-family:var(--mono);font-size:.78rem;color:var(--ink-3);font-weight:600}
.est-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}
@media(max-width:1200px){.est-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.est-kpis{grid-template-columns:1fr}}
.est-kpi{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--card-sh);padding:18px 20px;position:relative;overflow:hidden}
.est-kpi::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px}
.est-kpi.k-blue::before{background:var(--accent)}.est-kpi.k-green::before{background:var(--pos)}.est-kpi.k-red::before{background:var(--neg)}.est-kpi.k-amber::before{background:var(--warn)}
.ek-h{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.ek-ic{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ek-ic svg{width:17px;height:17px}
.k-blue .ek-ic{background:var(--accent-soft);color:var(--accent)}.k-green .ek-ic{background:rgba(15,160,95,.14);color:var(--pos)}.k-red .ek-ic{background:rgba(224,87,83,.13);color:var(--neg)}.k-amber .ek-ic{background:rgba(222,120,30,.15);color:var(--warn)}
.ek-t{font-family:var(--mono);font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.ek-v{font-size:1.85rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.k-blue .ek-v{color:var(--accent)}.k-green .ek-v{color:var(--pos)}.k-red .ek-v{color:var(--neg)}.k-amber .ek-v{color:var(--warn)}
.ek-s{font-size:.78rem;color:var(--ink-3);margin-top:7px}
.est-charts{display:grid;grid-template-columns:.8fr 1.5fr 1fr;gap:14px;margin-bottom:14px}
@media(max-width:1200px){.est-charts{grid-template-columns:1fr}}
.est-donut,.est-area,.est-bars{padding:18px 20px}
.est-donut{display:flex;flex-direction:column;align-items:center;justify-content:center}
.est-donut-wrap{position:relative;margin:14px 0 8px}.est-donut-wrap svg{display:block}
.est-donut-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.est-donut-c b{font-size:1.5rem;font-weight:800;color:var(--pos);letter-spacing:-.02em}
.est-donut-c span{font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-top:2px}
.gbars{display:flex;align-items:flex-end;justify-content:center;gap:44px;height:200px;padding:14px 0 0}
.gbars-sm{height:150px;gap:34px}
.gb-group{display:flex;flex-direction:column;align-items:center;gap:9px;height:100%}
.gb-bars{display:flex;align-items:flex-end;gap:8px;height:100%;flex:1}
.gb-bar{width:38px;border-radius:6px 6px 3px 3px;position:relative;min-height:4px;transition:height 1s cubic-bezier(.19,1,.22,1); background:var(--bc,var(--accent))}
.gb-bar span{position:absolute;top:-19px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:.68rem;font-weight:700;color:var(--ink-2);white-space:nowrap}
.gb-lbl{font-family:var(--mono);font-size:.72rem;color:var(--ink-3);font-weight:600}
.est-tabcard{padding:0;overflow:hidden}
.est-tabs{display:flex;gap:2px;padding:0 8px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.est-tabs::-webkit-scrollbar{display:none}
.est-tab{background:none;border:none;padding:15px 16px;font-family:var(--font);font-weight:600;font-size:.88rem;color:var(--ink-3);cursor:pointer;position:relative;white-space:nowrap;transition:color var(--t-fast)}
.est-tab:hover{color:var(--ink)}.est-tab.on{color:var(--accent)}
.est-tab.on::after{content:'';position:absolute;left:12px;right:12px;bottom:-1px;height:3px;border-radius:3px;background:var(--accent)}
.est-tabbody{padding:20px 22px 24px}
.est-rates{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.est-rates-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.est-rates,.est-rates-3{grid-template-columns:1fr 1fr}}
.est-rate{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--card-sh);padding:18px 20px;text-align:center}
.er-t{font-family:var(--mono);font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:8px}
.er-v{font-size:1.6rem;font-weight:800;letter-spacing:-.02em}
.er-v.pos{color:var(--pos)}.er-v.info{color:var(--info)}.er-v.neg{color:var(--neg)}.er-v.violet{color:var(--violet)}
.er-b{margin-top:8px}
.est-2col{display:grid;grid-template-columns:1.15fr 1fr;gap:18px}@media(max-width:1000px){.est-2col{grid-template-columns:1fr}}
.est-block{min-width:0}
.est-h4{font-size:.95rem;font-weight:700;margin-bottom:12px}
.rej-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.rej-prodf{min-width:240px}
.rej-prodf .fdrop,.rej-prodf .fdrop-btn{width:100%}
@media(max-width:640px){.rej-prodf{min-width:0;width:100%}}
.barsh{display:flex;flex-direction:column;gap:9px}
.bh-row{display:flex;align-items:center;gap:12px}
.bh-lbl{width:180px;flex-shrink:0;font-size:.82rem;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bh-track{flex:1;height:12px;background:var(--chip);border-radius:7px;overflow:hidden;min-width:40px}
.bh-track i{display:block;height:100%;border-radius:7px;transition:width 1s cubic-bezier(.19,1,.22,1)}
.bh-val{width:66px;text-align:right;font-family:var(--mono);font-size:.8rem;font-weight:700;flex-shrink:0}
@media(max-width:600px){.bh-lbl{width:104px}}
.treemap{display:flex;flex-wrap:wrap;gap:6px;height:370px;align-content:stretch}
.tm-cell{min-width:74px;min-height:64px;border-radius:11px;padding:11px 13px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;overflow:hidden;transition:transform var(--t-fast)}
.tm-cell:hover{transform:scale(1.02)}
.tm-cell .tm-n{font-size:.74rem;font-weight:600;line-height:1.2;overflow:hidden;opacity:.92}
.tm-cell .tm-v{font-family:var(--mono);font-size:.95rem;font-weight:800}
.tm0{background:var(--accent)}.tm1{background:#6A2BF5}.tm2{background:#128C7E}.tm3{background:#0FA05F}.tm4{background:#3E9BFF}.tm5{background:#7E23F9}
.est-reg{display:flex;flex-direction:column}
.est-reg-i{display:flex;align-items:center;gap:11px;padding:9px 0}
.est-reg-i+.est-reg-i{border-top:1px solid var(--line)}
.est-reg-av{width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.est-reg-i b{display:block;font-size:.86rem}.est-reg-i span{font-size:.78rem;color:var(--ink-3)}
/* ===== Perfil bancario / fiscal ===== */
.field-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 20px}@media(max-width:820px){.field-grid3{grid-template-columns:1fr}}
.fiscal-banner{display:flex;align-items:center;gap:15px;background:linear-gradient(120deg,rgba(222,120,30,.12),rgba(222,120,30,.04));border:1px solid rgba(222,120,30,.3);border-radius:16px;padding:16px 20px;margin-bottom:16px}
.fiscal-banner.ok{background:linear-gradient(120deg,rgba(15,160,95,.12),rgba(15,160,95,.04));border-color:rgba(15,160,95,.3)}
.fb-ic{width:42px;height:42px;border-radius:12px;background:rgba(222,120,30,.15);color:var(--warn);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.fiscal-banner.ok .fb-ic{background:rgba(15,160,95,.15);color:var(--pos)}
.fb-ic svg{width:21px;height:21px}
.fb-tx{flex:1;min-width:0}.fb-tx b{display:block;font-size:.95rem}.fb-tx span{font-size:.85rem;color:var(--ink-2)}
.bk-typetog{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bk-tt{display:flex;align-items:center;justify-content:center;gap:9px;padding:13px;border:1.5px solid var(--line);border-radius:13px;background:var(--panel);font-family:var(--font);font-weight:600;font-size:.9rem;color:var(--ink-2);cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.bk-tt svg{width:18px;height:18px}
.bk-tt:hover{border-color:var(--accent);color:var(--ink)}
.bk-tt.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.upload-c{padding:16px 14px}.upload-c svg{width:24px;height:24px;margin-bottom:6px}.upload-c b{font-size:.84rem}.upload-c.has{border-style:solid;border-color:var(--pos);background:rgba(15,160,95,.06)}.upload-c.has b{color:var(--pos)}
/* Calculadora: desglose P&G + zona segura */
.pc-pnl,.pc-safe{padding:22px}
.pc-pnl h4,.pc-safe h4{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.pc-safe h4 .pc-note{display:block;text-transform:none;letter-spacing:0;font-family:var(--font);font-size:.78rem;color:var(--ink-3);margin-top:4px;font-weight:400}
.pnl-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;font-size:.9rem;color:var(--ink-2);border-bottom:1px dashed var(--line)}
.pnl-row b{font-family:var(--mono);font-weight:700;color:var(--ink)}
.pnl-row b.pos{color:var(--pos)}.pnl-row b.neg{color:var(--neg)}
.pnl-total{border-bottom:none;border-top:2px solid var(--line);margin-top:4px;padding-top:14px}
.pnl-total span{font-weight:700;color:var(--ink);font-size:1rem}.pnl-total b{font-size:1.3rem}
.safe-metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.safe-m{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-align:center}
.safe-m .l{font-family:var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}
.safe-m .v{font-size:1.4rem;font-weight:800;margin-top:6px;font-family:var(--mono)}
.safe-bar{position:relative;height:12px;border-radius:8px;background:linear-gradient(90deg,#E05753,#F5A623,#0FA05F)}
.safe-mark{position:absolute;top:50%;left:50%;width:5px;height:22px;background:var(--ink);border:2px solid var(--panel);border-radius:3px;transform:translate(-50%,-50%);box-shadow:0 2px 8px rgba(0,0,0,.35);transition:left .4s cubic-bezier(.19,1,.22,1)}
.safe-lbls{display:flex;justify-content:space-between;margin-top:9px;font-size:.8rem;font-weight:600}
.safe-lbls .neg{color:var(--neg)}.safe-lbls .pos{color:var(--pos)}
/* ===== AUTH v2 (minimal-lux centrado, mejorado) ===== */
.authx{position:relative;overflow:hidden;min-height:100vh;display:flex;padding:48px 24px;background:#08080D}
.authx::before{content:'';position:absolute;inset:0;z-index:0;opacity:.55;background-image:radial-gradient(rgba(255,255,255,.03) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:radial-gradient(circle at 50% 34%,#000,transparent 76%);mask-image:radial-gradient(circle at 50% 34%,#000,transparent 76%)}
.authx-orb{position:absolute;left:50%;top:24%;transform:translate(-50%,-50%);width:660px;height:660px;border-radius:50%;background:radial-gradient(circle,rgba(72,0,255,.5),rgba(72,0,255,.12) 40%,transparent 68%);filter:blur(26px);z-index:0;animation:authBreath 7.5s ease-in-out infinite;pointer-events:none}
@keyframes authBreath{0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}}
.authx-card{position:relative;z-index:2;width:100%;max-width:404px;margin:auto;text-align:center;animation:abIn .7s cubic-bezier(.19,1,.22,1) both}
.authx-logo{margin-bottom:26px}
.authx-logo img{height:64px;filter:drop-shadow(0 8px 26px rgba(224,252,9,.22))}
.authx-card .auth-h{color:#fff;font-size:1.95rem;letter-spacing:-.025em}
.authx-card .auth-p{color:rgba(255,255,255,.56);margin:8px 0 28px}
.authx-card .afield,.authx-card .arow,.authx-card .aalt,.authx-card .arg-grid,.authx-card .acheck{text-align:left}
.authx-card .a-back{color:rgba(255,255,255,.6);justify-content:flex-start}
.authx-foot{position:absolute;bottom:26px;left:0;right:0;text-align:center;color:rgba(255,255,255,.36);font-size:.82rem;z-index:2}
/* teléfono en contexto oscuro */
.auth-dark .aphone .ccode{color:#fff}
.auth-dark .aphone .ccode svg{color:rgba(255,255,255,.5)}
.auth-dark .cc-drop{background:#16161F;border-color:rgba(255,255,255,.12)}
.auth-dark .cc-opt{color:#fff}
.auth-dark .cc-opt:hover{background:rgba(255,255,255,.08)}
.auth-dark .pwreq span{color:rgba(255,255,255,.45)}
.auth-dark .pwreq span.met{color:var(--pos)}
.auth-dark .a-ok{color:var(--pos)}

/* ===================== INICIO (bento editorial) ===================== */
.hub-hola{font-size:1.05rem;font-weight:600;margin:2px 0 16px}.hub-hola span{color:var(--ink-3);font-weight:400}
.bento{display:grid;grid-template-columns:1.55fr 1fr 1fr;gap:16px;grid-template-areas:"tkt tkt lb" "tkr tkr tkr" "nvl pvd cmt" "tape tape tape" "acd acd rf2"}
.tkt{grid-area:tkt}.lb{grid-area:lb}.tkr{grid-area:tkr}.nvl{grid-area:nvl}.acdb{grid-area:acd}.cmt{grid-area:cmt}.ctc{grid-area:pvd}.intg2{grid-area:rf2}.tape{grid-area:tape}
/* --- TICKET --- */
.tkt{position:relative;display:grid;grid-template-columns:1fr 148px;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,#1B0B45 0%,#14082E 55%,#0C0518 100%);color:#fff;box-shadow:0 28px 60px -26px rgba(24,8,80,.55)}
.tkt-art{position:absolute;right:-6px;top:50%;transform:translateY(-50%);height:148%;aspect-ratio:1;background:url('/vendor/assets/redesign/img/tkt-art.jpg') center/cover no-repeat;-webkit-mask-image:radial-gradient(closest-side,#000 32%,transparent 66%);mask-image:radial-gradient(closest-side,#000 32%,transparent 66%);opacity:.92;pointer-events:none}
.tkt-main{position:relative;z-index:1}
.tkt-main{padding:30px 150px 26px 32px}
.tkt-eyebrow{font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--lima);font-weight:600}
.tkt-title{font-size:clamp(2.4rem,3.4vw,3.4rem);line-height:.93;letter-spacing:-.035em;font-weight:800;margin:14px 0 16px}
.tkt-title em{font-style:normal;color:var(--lima)}
.tkt-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.tkt-chip{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;font-weight:600;padding:6px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.85)}
.tkt-chip.lima{border-color:transparent;background:var(--lima);color:#14151A;font-weight:700}
.tkt-ctas{display:flex;gap:12px;align-items:center}
/* stub troquelado */
.tkt-stub{position:relative;border-left:2px dashed rgba(255,255,255,.28);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px 14px;background:rgba(255,255,255,.03)}
.tkt-stub::before,.tkt-stub::after{content:'';position:absolute;left:-13px;width:24px;height:24px;border-radius:50%;background:var(--bg)}
.tkt-stub::before{top:-13px}.tkt-stub::after{bottom:-13px}
.tkt-stub-k{font-family:var(--mono);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:600}
.tkt-count{display:flex;flex-direction:column;gap:6px}
.tkt-count .hc-chip{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:5px 10px;display:flex;flex-direction:row;align-items:baseline;gap:6px;min-width:74px;justify-content:center}
.tkt-count .hc-chip b{font-family:var(--mono);font-size:1.05rem;font-weight:800;color:#fff;line-height:1}
.tkt-count .hc-chip i{font-style:normal;font-family:var(--mono);font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.tkt-count .hc-sep{display:none}
.tkt-bar{width:74px;height:34px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.9) 0 2px,transparent 2px 4px,rgba(255,255,255,.9) 4px 7px,transparent 7px 9px,rgba(255,255,255,.9) 9px 10px,transparent 10px 13px);border-radius:2px;opacity:.75}
.tkt-num{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;color:rgba(255,255,255,.55)}
/* --- LEADERBOARD --- */
.lb{padding:16px 14px 10px;display:flex;flex-direction:column}
.lb-hd{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:2px 8px 10px}
.lb-hd b{font-size:.98rem}
.lb-sub{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.lb-row{display:flex;align-items:center;gap:11px;padding:10px 10px;border-radius:13px;cursor:pointer;transition:background .14s}
.lb-row:hover{background:var(--chip)}
.lb-row.lb1{background:linear-gradient(90deg,rgba(224,252,9,.14),transparent 70%);box-shadow:inset 3px 0 0 var(--lima)}
:root[data-theme="dark"] .lb-row.lb1{background:linear-gradient(90deg,rgba(224,252,9,.09),transparent 70%)}
.lb-rank{font-family:var(--mono);font-weight:800;font-size:.76rem;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--chip);color:var(--ink-3)}
.lb-rank.r1{background:var(--lima);color:#14151A;box-shadow:0 0 0 3px rgba(224,252,9,.3)}
.lb-rank.r2{background:#E4E6EE;color:#3D3F4E}
.lb-rank.r3{background:#F3DFC8;color:#93520B}
:root[data-theme="dark"] .lb-rank.r2{background:#3A3D4D;color:#D5D8E4}
:root[data-theme="dark"] .lb-rank.r3{background:#4A3826;color:#F0B87A}
.lb-emo{position:relative;width:38px;height:38px;border-radius:11px;background:var(--chip);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}
.lb1 .lb-emo::after{content:"👑";position:absolute;top:-9px;right:-7px;font-size:.85rem;transform:rotate(20deg)}
.lb-tx{flex:1;min-width:0}
.lb-tx b{display:block;font-size:.85rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-tx span{font-size:.7rem;color:var(--ink-3)}
.lb-delta{font-family:var(--mono);font-size:.72rem;font-weight:700;color:var(--pos);white-space:nowrap;background:rgba(15,160,95,.1);padding:4px 9px;border-radius:14px}
:root[data-theme="dark"] .lb-delta{color:#34D399;background:rgba(52,211,153,.1)}
.lb-foot{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px 8px;font-size:.82rem;font-weight:700;color:var(--accent);text-decoration:none;border-top:1px solid var(--line)}
.lb-foot svg{width:14px;height:14px;transition:transform .16s}
.lb-foot:hover{background:var(--accent-soft);border-radius:0 0 16px 16px}
.lb-foot:hover svg{transform:translateX(4px)}
/* --- TICKER --- */
.tkr{display:flex;align-items:center;gap:0;background:var(--negro);border-radius:14px;overflow:hidden;height:44px}
:root[data-theme="dark"] .tkr{background:#15161F;border:1px solid var(--line)}
.tkr-live{flex-shrink:0;display:flex;align-items:center;height:100%;padding:0 18px;background:var(--lima);color:#14151A;font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;white-space:nowrap}
.tkr-clip{overflow:hidden;flex:1;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.tkr-track{display:inline-flex;align-items:center;gap:26px;white-space:nowrap;padding-left:26px;animation:tkrMove 30s linear infinite;will-change:transform}
@keyframes tkrMove{to{transform:translateX(-50%)}}
.tkr-i{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.tkr-s{color:var(--lima);font-size:.7rem}
/* --- NOVEDADES LISTA --- */
.nvl{padding:14px 12px 8px}
.nvl-hd{padding:2px 10px 10px}.nvl-hd b{font-size:.98rem}
.nvl-row{display:flex;align-items:center;gap:13px;padding:13px 10px;border-radius:12px;text-decoration:none;color:var(--ink);transition:background .14s}
.nvl-row+.nvl-row{border-top:1px solid var(--line)}
.nvl-row:hover{background:var(--chip)}
.nvl-ic{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--chip);color:var(--ink-2)}
.nvl-ic.ic-lima{background:rgba(190,214,0,.18);color:#5F6B00}
:root[data-theme="dark"] .nvl-ic.ic-lima{background:rgba(224,252,9,.1);color:var(--lima)}
.nvl-ic.ic-pink{background:rgba(236,72,153,.1);color:#DB2777}
.nvl-ic.ic-blue{background:rgba(59,130,246,.11);color:#2563EB}
:root[data-theme="dark"] .nvl-ic.ic-blue{color:#7CB4FF}
.nvl-ic.ic-violet{background:var(--accent-soft);color:var(--accent)}
:root[data-theme="dark"] .nvl-ic.ic-pink{background:rgba(244,114,182,.12);color:#F472B6}
.nvl-ic svg{width:16px;height:16px}
.nvl-tx{flex:1;min-width:0}
.nvl-tx b{display:block;font-size:.85rem;line-height:1.25}
.nvl-tx span{font-size:.71rem;color:var(--ink-3)}
.nvl-bdg{font-family:var(--mono);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:5px 10px;border-radius:16px;flex-shrink:0;background:var(--chip);color:var(--ink-2)}
.nvl-bdg.new{background:var(--lima);color:#14151A}
:root[data-theme="dark"] .nvl-bdg.new{background:rgba(224,252,9,.15);color:var(--lima)}
.nvl-bdg.soon{background:var(--accent-soft);color:var(--accent)}
/* --- ACADEMY BANNER (ancho, slot inferior) --- */
.acdb{position:relative;overflow:hidden;border-radius:20px;cursor:pointer;padding:30px 34px;display:flex;align-items:center;min-height:225px;background:linear-gradient(90deg,#0B0417 0%,rgba(12,5,24,.94) 32%,rgba(13,6,28,.5) 60%,rgba(13,6,28,.06) 100%),url('/vendor/assets/redesign/img/academy-band.jpg') center right/cover no-repeat;color:#fff;box-shadow:0 26px 60px -26px rgba(24,8,80,.55);transition:transform .16s}
.acdb:hover{transform:translateY(-2px)}
:root:not([data-theme="dark"]) .acdb{border:2px solid #14151A;box-shadow:5px 5px 0 #14151A}
:root:not([data-theme="dark"]) .acdb:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #14151A}
.acdb-in{max-width:56%;position:relative;z-index:1}
.acdb-brand{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.acdb-brand img{width:15px;height:auto}
.acdb-brand span{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.85)}
.acdb-brand em{font-style:normal;color:var(--lima)}
.acdb-title{font-size:clamp(1.5rem,2.1vw,2rem);line-height:1.05;letter-spacing:-.025em;font-weight:800;margin:0 0 10px}
.acdb-title em{font-style:normal;color:var(--lima)}
.acdb-sub{font-size:.86rem;color:rgba(255,255,255,.75);margin:0 0 16px;max-width:52ch}
.acdb-ctas{display:flex;align-items:center;gap:16px}
.acdb-more{font-size:.84rem;font-weight:700;color:rgba(255,255,255,.85);display:inline-flex;align-items:center;gap:7px}
.acdb-more svg{width:14px;height:14px;transition:transform .16s}
.acdb:hover .acdb-more svg{transform:translateX(4px)}
.acdb-soon{position:absolute;right:26px;top:22px;left:auto;transform:rotate(2.5deg);z-index:1}
/* --- COMUNIDAD + ASESORA --- */
.cmt{padding:18px;display:flex;flex-direction:column;gap:12px}
.cmt-top{display:flex;align-items:center;gap:12px}
.cmt-tx b{display:block;font-size:.95rem}
.cmt-tx span{font-size:.75rem;color:var(--ink-3)}
.hb-avs{display:flex;align-items:center}
.hb-av{width:34px;height:34px;border-radius:50%;background:var(--negro);color:var(--lima);font-family:var(--mono);font-size:.6rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2.5px solid var(--panel);margin-left:-8px;position:relative}
.hb-av:first-child{margin-left:0}
.hb-av:nth-child(2n){background:#3402B1;color:#fff}
.hb-av:nth-child(3n){background:var(--accent-soft);color:var(--accent)}
.hb-more{background:var(--lima)!important;color:#14151A!important}
.hb-wa{display:inline-flex;align-items:center;gap:9px;background:#25D366;color:#fff;font-weight:700;font-size:.85rem;padding:11px 18px;border-radius:12px;text-decoration:none;transition:transform .15s,filter .15s}
.hb-wa:hover{transform:translateY(-1px);filter:brightness(1.06)}
.hb-wa svg{width:17px;height:17px}
.cmt-soc-k{margin-top:auto;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.cmt-soc-k::before,.cmt-soc-k::after{content:"";flex:1;height:1px;background:var(--line)}
.cmt-socials2{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.soc2{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:19px 6px 15px;border-radius:14px;border:1.5px solid var(--line);color:var(--ink-2);cursor:pointer;text-decoration:none;transition:transform .16s,background .2s,color .2s,border-color .2s}
.soc2 svg{width:26px;height:26px;transition:transform .16s}
.soc2 span{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.soc2:hover{transform:translateY(-3px)}
.soc2:hover svg{transform:scale(1.12)}
.soc2.tk:hover{background:#010101;color:#fff;border-color:#010101;box-shadow:-3px -3px 0 #25F4EE,3px 3px 0 #FE2C55}
.soc2.ig:hover{background:radial-gradient(circle at 30% 110%,#FEDA75 0%,#FA7E1E 26%,#D62976 52%,#962FBF 76%,#4F5BD5 100%);color:#fff;border-color:transparent;box-shadow:0 10px 24px -8px rgba(214,41,118,.55)}
.soc2.yt:hover{background:#FF0000;color:#fff;border-color:#FF0000;box-shadow:0 10px 24px -8px rgba(255,0,0,.5)}
:root:not([data-theme="dark"]) .soc2{border-color:#14151A;box-shadow:3px 3px 0 rgba(20,21,26,.85)}
:root:not([data-theme="dark"]) .soc2:hover{transform:translate(-2px,-1px)}
:root:not([data-theme="dark"]) .soc2.tk:hover{box-shadow:-3px -3px 0 #25F4EE,4px 4px 0 #FE2C55}
:root:not([data-theme="dark"]) .soc2.ig:hover{box-shadow:4px 4px 0 rgba(20,21,26,.85)}
:root:not([data-theme="dark"]) .soc2.yt:hover{box-shadow:4px 4px 0 rgba(20,21,26,.85)}
.hb-ic{width:40px;height:40px;border-radius:11px;border:1px solid var(--line);color:var(--ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s,border-color .15s}
.hb-ic.sm{width:36px;height:36px}
.hb-ic:hover{color:var(--accent);border-color:var(--accent)}
.hb-ic svg{width:16px;height:16px}
/* --- REFERIDOS TILE --- */
/* Contacto directo */
.ctc{padding:6px 6px 10px;display:flex;flex-direction:column}
.ctc-hd{padding:14px 14px 8px;display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.ctc-hd b{font-size:.95rem}
.ctc-hd span{font-size:.72rem;color:var(--ink-3)}
.ctc-row{display:flex;align-items:center;gap:13px;padding:13px 12px;border-radius:12px;text-decoration:none;color:inherit;transition:background .14s}
.ctc-row+.ctc-row{border-top:1px solid var(--line)}
.ctc-row:hover{background:var(--chip)}
.ctc-ic{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--chip);color:var(--ink-2)}
.ctc-ic svg{width:16px;height:16px}
.ctc-ic.wa{background:rgba(37,211,102,.12);color:#1DA851}
.ctc-ic.tel{background:rgba(59,130,246,.11);color:#2563EB}
.ctc-ic.atc{background:var(--accent-soft);color:var(--accent)}
.ctc-ic.prov{background:rgba(245,158,11,.13);color:#C2410C}
:root[data-theme="dark"] .ctc-ic.wa{color:#4ADE80}
:root[data-theme="dark"] .ctc-ic.tel{color:#7CB4FF}
:root[data-theme="dark"] .ctc-ic.prov{color:#FBBF24}
.ctc-live{color:var(--pos);font-weight:700}
.ctc-tx{flex:1;min-width:0}
.ctc-tx b{display:block;font-size:.86rem}
.ctc-tx span{font-size:.72rem;color:var(--ink-3);display:flex;align-items:center;gap:6px}
.ctc-go{color:var(--ink-3);flex-shrink:0;display:flex;transition:transform .16s,color .16s}
.ctc-go svg{width:15px;height:15px}
.ctc-row:hover .ctc-go{transform:translateX(3px);color:var(--accent)}

/* Anuncio integraciones Chatby + LucidBot */
.intg2{position:relative;overflow:hidden;border-radius:20px;padding:22px 24px;cursor:pointer;color:#fff;display:flex;flex-direction:column;gap:9px;background:radial-gradient(95% 95% at 112% -12%,rgba(236,72,153,.30),transparent 62%),radial-gradient(95% 95% at -12% 112%,rgba(124,58,237,.36),transparent 62%),#14151A;box-shadow:0 22px 50px -24px rgba(24,8,80,.5);transition:transform .16s}
.intg2:hover{transform:translateY(-2px)}
:root[data-theme="dark"] .intg2{background:radial-gradient(95% 95% at 112% -12%,rgba(236,72,153,.26),transparent 62%),radial-gradient(95% 95% at -12% 112%,rgba(124,58,237,.32),transparent 62%),#191A23}
:root:not([data-theme="dark"]) .bento .intg2{border:2px solid #14151A;box-shadow:5px 5px 0 #14151A}
.intg2-eyebrow{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lima);font-weight:700}
.intg2-logos{display:flex;gap:8px;flex-wrap:wrap}
.intg2-chip{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:5px 13px 5px 6px;font-size:.78rem;font-weight:700}
.intg2-chip img{width:22px;height:22px;border-radius:7px;background:#fff;padding:2.5px;object-fit:contain}
.intg2-title{font-size:1.12rem;line-height:1.25;letter-spacing:-.01em}
.intg2 p{font-size:.79rem;color:rgba(255,255,255,.72);margin:0 0 8px}
/* --- misc compartido --- */
.btn-lima{background:var(--lima);color:#14151A;border:none;border-radius:12px;font-family:var(--font);font-weight:700;font-size:.9rem;cursor:pointer;transition:transform .15s,filter .15s}
.btn-lima:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn-ghost-l{background:transparent;border:1.5px solid rgba(255,255,255,.28);color:#fff;border-radius:12px;padding:11px 20px;font-family:var(--font);font-weight:600;font-size:.88rem;cursor:pointer;transition:border-color .15s}
.btn-ghost-l:hover{border-color:var(--lima);color:var(--lima)}
.ha-eyebrow{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700}

/* ===== LENGUAJE DE LA WEB en el Inicio: brutalista de día, violeta noir de noche ===== */
/* cinta de peligro (firma de la web) */
.tape{height:13px;margin:-2px 2px;border-radius:3px;background:repeating-linear-gradient(-45deg,#14151A 0 13px,var(--lima) 13px 26px);transform:rotate(-.35deg);opacity:.95}
:root[data-theme="dark"] .tape{opacity:.72}
/* dot grid en las superficies de color (como el hero de la web) */
.tkt{background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(135deg,#1B0B45 0%,#14082E 55%,#0C0518 100%);background-size:15px 15px,auto}
/* chips del ticket como stickers (sombra dura + rotación) */
.tkt-chip{background:#fff;color:#14151A;border:1.5px solid #14151A;box-shadow:3px 3px 0 rgba(0,0,0,.4);transform:rotate(-1.2deg);font-weight:700}
.tkt-chip:nth-child(2){transform:rotate(.8deg);background:transparent;color:rgba(255,255,255,.88);border-color:rgba(255,255,255,.4);box-shadow:none;font-weight:600}
.tkt-chip.lima{transform:rotate(1.6deg);border:1.5px solid #14151A;box-shadow:3px 3px 0 rgba(0,0,0,.4)}
/* numeración editorial en novedades */
.nvl-num{font-family:var(--mono);font-size:.68rem;font-weight:700;color:var(--ink-3);width:22px;flex-shrink:0;text-align:center}
/* deltas del leaderboard como stickers lima */
.lb-delta{background:var(--lima);color:#14151A;border:1.5px solid #14151A;border-radius:9px;padding:3px 9px;box-shadow:2px 2px 0 rgba(20,21,26,.85);transform:rotate(-2deg)}
:root[data-theme="dark"] .lb-delta{border-color:rgba(224,252,9,.35);box-shadow:2px 2px 0 rgba(0,0,0,.5)}
/* avatares con borde negro (como la fila de vendedores del hero web) */
:root:not([data-theme="dark"]) .hb-av{border-color:#14151A;border-width:2px}
/* === DÍA: tarjetas brutalistas (borde tinta + sombra dura + hover que despega) === */
:root:not([data-theme="dark"]) .bento .card{border:2px solid #14151A;box-shadow:5px 5px 0 #14151A;border-radius:18px;transition:transform .16s}
:root:not([data-theme="dark"]) .bento .card:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #14151A}
:root:not([data-theme="dark"]) .tkt{box-shadow:7px 7px 0 #14151A;border:2px solid #14151A}
:root:not([data-theme="dark"]) .tkr{box-shadow:4px 4px 0 #14151A;border:2px solid #14151A}
:root:not([data-theme="dark"]) .acd-play{border:2px solid #14151A;box-shadow:4px 4px 0 rgba(20,21,26,.8)}
:root:not([data-theme="dark"]) .hb-wa{border:2px solid #14151A;box-shadow:4px 4px 0 rgba(20,21,26,.85)}
:root:not([data-theme="dark"]) .bento .btn-lima{border:2px solid #14151A;box-shadow:4px 4px 0 rgba(20,21,26,.85)}
:root:not([data-theme="dark"]) .bento .btn-lima:hover{transform:translate(-1px,-1px);box-shadow:6px 6px 0 rgba(20,21,26,.85);filter:none}
:root:not([data-theme="dark"]) .an-badge.new{border:1.5px solid #14151A;box-shadow:2px 2px 0 rgba(20,21,26,.8)}
@media(max-width:1180px){.bento{grid-template-columns:1fr 1fr;grid-template-areas:"tkt tkt" "lb lb" "tkr tkr" "nvl pvd" "cmt rf2" "tape tape" "acd acd"}.tkt{grid-template-columns:1fr 128px}}
@media(prefers-reduced-motion:reduce){.tkr-track{animation:none}}
/* ===== MOVIL <=700: todo cabe en 390px (objetivo scrollWidth = viewport) ===== */
@media(max-width:700px){
  .main{min-width:0}
  .card,.tbl-wrap,.chart-wrap{min-width:0;max-width:100%}
  .top{gap:8px;flex-wrap:nowrap}
  .top h1{font-size:1.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top-r{gap:4px;margin-left:auto;flex-shrink:0}
  .tsep{display:none}
  .icongroup{gap:2px}
  .iconbtn{width:34px;height:34px}
  .wallet{gap:6px;padding:0 2px}
  .wallet .wi{width:32px;height:32px;border-radius:9px}.wallet .wi svg{width:15px;height:15px}
  .wallet .wl{display:none}
  .wallet .wv{font-size:.82rem}
  .wallet .chev{display:none}
  .pname{display:none}
  .profilebtn{gap:5px;padding:3px}
  .profilebtn .avatar{width:30px;height:30px;font-size:.72rem}
  /* bento en una columna */
  .bento{grid-template-columns:1fr;grid-template-areas:"tkt" "lb" "tkr" "nvl" "pvd" "cmt" "acd" "tape" "rf2"}
  .tkt{grid-template-columns:1fr!important}
  .tkt-main{padding:24px 20px 20px}
  .tkt-art{display:none}
  .tkt-title{font-size:2.1rem}
  .tkt-stub{border-left:none;border-top:2px dashed rgba(255,255,255,.28);flex-direction:row;flex-wrap:wrap;justify-content:center;gap:10px;padding:14px}
  .tkt-stub::before,.tkt-stub::after{display:none}
  .tkt-count{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:6px}
  .tkt-count .hc-chip{min-width:60px;padding:4px 8px}
  .tkt-bar{display:none}
  .acdb{padding:22px 18px;min-height:0;flex-direction:column;align-items:flex-start;gap:4px}
  .acdb-in{max-width:100%}
  .acdb-soon{position:static;display:inline-block;margin-bottom:10px;transform:rotate(-1.5deg)}
  /* El saludo es un parrafo con la frase gris seguida: en una linea de movil
     queda pegada al nombre y se lee como un churro. Cada cosa a su linea. */
  .hub-hola{font-size:1rem;line-height:1.45}
  .hub-hola span{display:block;margin-top:2px}

  /* El dock flotante se planta encima del contenido en una pantalla estrecha:
     la pildora de «Primeros pasos» mide 278px y tapaba media tarjeta de
     ganadores. En movil se queda en su forma recogida, que ya existe. */
  .fab-steps{display:none}
  .fab-steps-mini{display:flex}
  .main{padding-bottom:96px}

  .acp{padding:28px 18px;min-height:0}
  .acp-soon{position:static;text-align:left;margin-top:22px}
  .acp-cta{flex-direction:column;max-width:none}
  .acp-tape{display:none}
  /* dashboard y estadisticas: grids fluidos */
  .dash-hero-grid,.gami-grid,.est-2col,.hub-2col{grid-template-columns:1fr!important}
  .e2m-grid{grid-template-columns:repeat(2,1fr)!important}
  .report-body{display:block}
  .report-chart{margin-top:14px}
  .hero-strip{flex-wrap:wrap;gap:10px}
  .prf-grid{grid-template-columns:1fr 1fr}
  .pbi-grid,.pbi-gauges{grid-template-columns:repeat(2,1fr)!important}
  .hub-wins{grid-template-columns:1fr 1fr}
  .kpis-min{grid-template-columns:1fr 1fr!important}
}

/* ===================== ACADEMY coming soon ===================== */
.acp{position:relative;overflow:hidden;border-radius:24px;min-height:calc(100vh - 190px);display:flex;align-items:center;padding:56px 60px;background:linear-gradient(92deg,#0B0417 0%,rgba(12,5,24,.96) 30%,rgba(13,6,28,.55) 58%,rgba(13,6,28,.08) 100%),url('/vendor/assets/redesign/img/academy-epic.jpg') center right/cover no-repeat;color:#fff;box-shadow:0 34px 80px -30px rgba(24,8,80,.6)}
:root:not([data-theme="dark"]) .acp{border:2px solid #14151A;box-shadow:8px 8px 0 #14151A}
.acp-tape{position:absolute;top:34px;right:-72px;width:300px;height:34px;background:repeating-linear-gradient(-45deg,#14151A 0 13px,var(--lima) 13px 26px);transform:rotate(35deg);opacity:.95}
.acp-in{max-width:600px;position:relative;z-index:1}
.acp-eyebrow{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lima);font-weight:700}
.acp-title{font-size:clamp(2.6rem,4.6vw,4.2rem);line-height:.95;letter-spacing:-.035em;font-weight:800;margin:16px 0 18px}
.acp-title em{font-style:normal;color:var(--lima)}
.acp-sub{color:rgba(255,255,255,.8);font-size:1rem;max-width:50ch;margin-bottom:20px}
.acp-chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px}
.acp-chip{font-size:.82rem;font-weight:600;padding:9px 15px;border-radius:11px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.05)}
.acp-cta{display:flex;gap:11px;max-width:480px}
.acp-mail{flex:1;min-width:0;background:rgba(255,255,255,.09);border:1.5px solid rgba(255,255,255,.25);color:#fff;border-radius:12px;padding:12px 16px;font-family:var(--font);font-size:.9rem}
.acp-mail::placeholder{color:rgba(255,255,255,.4)}
.acp-mail:focus{outline:none;border-color:var(--lima)}
.acp-note{display:block;margin-top:12px;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:rgba(255,255,255,.55)}
.acp-soon{position:absolute;right:38px;bottom:26px;z-index:1;font-family:var(--mono);font-weight:800;font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.04;letter-spacing:.04em;text-align:right;color:transparent;-webkit-text-stroke:1.5px rgba(224,252,9,.85);animation:acpPulse 2.8s ease-in-out infinite}
@keyframes acpPulse{0%,100%{opacity:.85}50%{opacity:.45}}
@media(max-width:900px){.acp{padding:38px 26px;min-height:auto}.acp-soon{position:static;text-align:left;margin-top:26px}.acp-cta{flex-direction:column}.acp-tape{right:-96px;top:22px}}
/* tile del bento en modo pronto */
.acd-soon{position:absolute;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;background:var(--lima);color:#14151A;padding:8px 16px;border-radius:9px;border:1.5px solid #14151A;box-shadow:3px 3px 0 rgba(20,21,26,.85);white-space:nowrap}
/* ===== Foto de perfil subible (demo) ===== */
.avatar{overflow:hidden}
.av-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.av-up{position:relative;cursor:pointer}
.av-cam{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;border:2.5px solid var(--panel);box-shadow:0 4px 10px rgba(0,0,0,.25)}
.av-cam svg{width:12px;height:12px}
.av-up:hover .av-cam{filter:brightness(1.12)}
:root[data-theme="dark"] .av-cam{color:#0A0A0E}
/* ===== Header: saldo wallet armonizado con los iconos (mismo lenguaje que .iconbtn: sin caja, tinta neutra, accent al hover) ===== */
.wallet .wi{background:transparent;color:var(--ink-2);transition:color var(--t-fast)}
.wallet:hover .wi{color:var(--accent)}
:root[data-theme="dark"] .wallet .wi{background:transparent}
/* ===== spin del boton refresh del dashboard ===== */
.refresh.spin{transform:rotate(360deg)}
.navburger{display:none;width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:var(--panel);color:var(--ink);align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.navburger svg{width:19px;height:19px}
/* ===== DARK: componentes con relleno accent — en noche --accent es lila claro (#9FA2FF), el texto pasa a tinta noche ===== */
:root[data-theme="dark"] .btn-azul{color:#0A0A0E}
:root[data-theme="dark"] .btn-azul:hover{background:var(--accent);filter:brightness(1.08)}
:root[data-theme="dark"] .ped-tab.on{color:#0A0A0E}
:root[data-theme="dark"] .ped-tab.on span{background:rgba(10,10,14,.16);color:#0A0A0E}
:root[data-theme="dark"] .pg.on{color:#0A0A0E}
:root[data-theme="dark"] .lv-a .abtn,:root[data-theme="dark"] .lv-g .abtn,:root[data-theme="dark"] .lv-h .abtn{color:#0A0A0E}
:root[data-theme="dark"] .wa-empty{color:rgba(255,255,255,.72)}

/* orden CSS: estos overrides van al final para ganar a las reglas base */
@media(max-width:1000px){.navburger{display:flex!important}}
@media(max-width:700px){
  .filters,.searchbar,.toolbar,.prf-actions,.et-hd,.ped-aging,.greet,.tokenrow,.wal-hero{flex-wrap:wrap!important}
  .filters>*,.searchbar>*{min-width:0}
  .fdrop{flex:1 1 46%;min-width:0}
  .fdrop-btn{width:100%;min-width:0}
  .srch{max-width:none!important;flex:1 1 170px;min-width:0}
  .srch input{min-width:0;width:100%}
  .fdate{min-width:0;flex:1 1 40%}
  .ped-tabs{flex-wrap:wrap}
  .greet-r{margin-left:0}
  input,select,.inp{min-width:0;max-width:100%}
  .afl-box,.tokenrow .inp{min-width:0}
  .pstats,.pcard{min-width:0}
  .et-hl{min-width:0}
  .listcount{white-space:normal}
}

/* movil: los menus cerrados no deben inflar el ancho de scroll (quedan colgando fuera del viewport) */
@media(max-width:700px){
  .dd:not(.open) .dd-menu{display:none}
  .fdrop:not(.open) .fdrop-menu{display:none}
  .dd-menu{max-width:calc(100vw - 20px)}
  .fdrop-menu{max-width:calc(100vw - 20px)}
}

/* movil: el header cabe (titulo flexible, fuera sub y ayuda) */
@media(max-width:700px){
  .top>div:not(.top-r){flex:1 1 0;min-width:0;overflow:hidden}
  .top .sub{display:none}
  .top h1{max-width:100%}
  .iconbtn[title="Ayuda"]{display:none}
  .top-r{flex-shrink:0}
}

/* movil: ultimos desbordantes concretos */
@media(max-width:700px){
  .pc-steps.est-funnel,.est-funnel{overflow-x:auto;padding-bottom:8px}
  .gbars{overflow-x:auto;padding-bottom:8px}
  .rowtop{flex-wrap:wrap}
  .rowtop>*{min-width:0;max-width:100%}
  .rowtop .srch{flex:1 1 100%}
  .pcalc{grid-template-columns:1fr!important}
  .pc-in,.pc-out{min-width:0}
  .pc-sec .pc-note,.pc-field label{white-space:normal}
  .pc-steps:not(.est-funnel){flex-wrap:wrap}
}

@media(max-width:700px){
  .srch{display:flex;align-items:center;gap:8px}
  .srch input{flex:1 1 0;width:0;min-width:0}
  .srch svg{flex-shrink:0}
}

@media(max-width:700px){
  .srch{contain:inline-size}
  .main{overflow-x:clip}
}

@media(max-width:700px){
  .cat-filters .srch{min-width:0!important;max-width:100%}
  .nov-filters .srch{min-width:0!important}
}

/* ===================== INTEGRACIONES v2 (Chatby / LucidBot) ===================== */
.int2-pill{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.82rem;padding:6px 13px 6px 7px;border-radius:20px;background:rgba(240,40,159,.1);color:#D61E89}
:root[data-theme="dark"] .int2-pill{background:rgba(240,40,159,.16);color:#FF7CC8}
.int2-pill-ic{width:22px;height:22px;border-radius:7px;overflow:hidden;flex-shrink:0}
.int2-pill-ic img{width:100%;height:100%;object-fit:cover}
.int2-key{display:inline-flex;align-items:center;gap:7px}
.int2-key .mono{font-size:.76rem;color:var(--ink-2)}
.int2-copy{width:26px;height:26px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--ink-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .14s,border-color .14s}
.int2-copy:hover{color:var(--accent);border-color:var(--accent)}
.int2-copy svg{width:13px;height:13px}
.int2-opt{display:flex;align-items:center;gap:15px;padding:16px 18px;border:1.5px solid var(--line);border-radius:16px;cursor:pointer;transition:border-color .15s,transform .15s,background .15s}
.int2-opt:hover{border-color:#F0289F;transform:translateY(-1px);background:rgba(240,40,159,.04)}
.int2-opt:last-child:hover{border-color:#7B00FF;background:rgba(123,0,255,.05)}
.int2-logo{width:50px;height:50px;border-radius:14px;overflow:hidden;flex-shrink:0;box-shadow:0 8px 18px -8px rgba(240,40,159,.5)}
.int2-logo img{width:100%;height:100%;object-fit:cover}
.int2-logo.lucid{box-shadow:0 8px 18px -8px rgba(123,0,255,.5)}
.int2-opt-tx{flex:1;min-width:0}
.int2-opt-tx b{display:block;font-size:1rem;margin-bottom:2px}
.int2-opt-tx span{font-size:.83rem;color:var(--ink-3)}
.int2-go{color:var(--ink-3)}.int2-go svg{width:16px;height:16px}
/* cabeceras de marca en los modales */
.int2-hd-chatby{background:linear-gradient(120deg,#F0289F,#B01A76);border-radius:22px 22px 0 0;margin:-1px -1px 0}
.int2-hd-chatby h3,.int2-hd-lucid h3{color:#fff;display:flex;align-items:center;gap:10px}
.int2-hd-chatby .modal-x,.int2-hd-lucid .modal-x{color:rgba(255,255,255,.85)}
.int2-hd-logo{height:24px;width:24px;border-radius:7px}
.int2-hd-lucid{background:linear-gradient(120deg,#7B00FF,#5406C3);border-radius:22px 22px 0 0;margin:-1px -1px 0}
.int2-hd-word{height:20px;width:auto;vertical-align:-4px}
.int2-hd-bot{width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.18);display:inline-flex;align-items:center;justify-content:center}
.int2-hd-bot svg{width:17px;height:17px}
/* pasos */
.int2-step{display:flex;gap:14px;padding:11px 2px}
.int2-n{width:30px;height:30px;border-radius:50%;color:#fff;font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--mono)}

.int2-step-tx>b{display:block;font-size:.92rem;margin-bottom:2px}
.int2-step-tx p b{display:inline;font-weight:700;color:var(--ink)}
.int2-step-tx p{font-size:.85rem;color:var(--ink-3);margin:0;line-height:1.55}
.int2-video{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);text-align:center}
.int2-video span{display:block;font-size:.85rem;color:var(--ink-3);margin-bottom:12px}
.int2-video-btn{display:inline-flex;align-items:center;gap:9px;padding:11px 22px;border-radius:12px;border:1.5px solid #F0289F;color:#D61E89;background:transparent;font-family:var(--font);font-weight:700;font-size:.88rem;cursor:pointer;transition:background .15s,color .15s}
.int2-video-btn:hover{background:#F0289F;color:#fff}
:root[data-theme="dark"] .int2-video-btn{border-color:#FF7CC8;color:#FF7CC8}
:root[data-theme="dark"] .int2-video-btn:hover{background:#F0289F;color:#fff}
.int2-video-btn svg{width:17px;height:17px}
.int2-tip{margin-top:16px;border:1.5px solid rgba(123,0,255,.35);border-radius:16px;padding:16px 18px}
.int2-tip b{display:flex;align-items:center;gap:8px;font-size:.9rem;margin-bottom:9px}
.int2-tip b svg{width:16px;height:16px;color:var(--warn)}
.int2-tip ul{margin:0;padding-left:20px}
.int2-tip li{font-size:.85rem;color:var(--ink-2);margin:5px 0}
/* banner + credenciales de la vista de conexion */
.int2-banner{display:flex;gap:12px;align-items:flex-start;background:var(--negro);color:rgba(255,255,255,.88);border-radius:14px;padding:15px 18px}
:root[data-theme="dark"] .int2-banner{background:#1A1B26}
.int2-banner svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;color:var(--lima)}
.int2-banner p{margin:0;font-size:.85rem;line-height:1.6}
.int2-blink{color:var(--lima);font-weight:700;text-decoration:none}
.int2-blink:hover{text-decoration:underline}
.int2-sec{font-weight:700;font-size:.92rem;margin:0 0 12px}
.int2-cred{display:flex;align-items:stretch;gap:0;border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-bottom:10px}
.int2-cred-in{flex:1;min-width:0;padding:10px 14px;background:var(--chip)}
.int2-cred-in span:first-child{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:3px}
.int2-cred-in .mono{font-size:.78rem;word-break:break-all}
.int2-cred-copy{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 18px;border:none;border-left:1px solid var(--line);background:var(--panel);color:var(--ink-2);font-family:var(--font);font-weight:700;font-size:.8rem;cursor:pointer;transition:color .14s,background .14s}
.int2-cred-copy:hover{color:var(--accent);background:var(--chip)}
.int2-cred-copy svg{width:15px;height:15px}
@media(max-width:700px){
  .int2-cred{flex-direction:column}
  .int2-cred-copy{padding:10px;border-left:none;border-top:1px solid var(--line);justify-content:center}
}

/* ===== Webhooks v2 ===== */
.wh-method{flex-shrink:0;order:-1;font-family:var(--mono);font-size:.66rem;font-weight:800;letter-spacing:.1em;background:var(--accent-soft);color:var(--accent);padding:8px 12px;border-radius:10px;margin-right:10px}
.wh-events{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0 4px}
.wh-ev-k{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-right:4px}
.wh-ev{font-family:var(--mono);font-size:.7rem;font-weight:600;color:var(--ink-2);background:var(--chip);border:1px solid var(--line);padding:5px 11px;border-radius:16px}
.wh-lic{display:none!important}

/* ===== Perfiles bancarios v2 ===== */
.bk-eyebrow{display:flex;align-items:center;gap:9px;font-weight:800;font-size:.95rem;margin:20px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.bk-eyebrow svg{width:17px;height:17px;color:var(--accent)}
.bk-eyebrow.mt20{margin-top:26px}
.bk-net-mini{font-family:var(--mono);font-size:.56rem;letter-spacing:.08em;font-weight:800;background:var(--accent-soft);color:var(--accent);padding:3px 8px;border-radius:12px;margin-left:6px}
.bk-tt.on .bk-net-mini{background:var(--accent);color:#fff}
:root[data-theme="dark"] .bk-tt.on .bk-net-mini{color:#0A0A0E;background:rgba(10,10,14,.18)}
.bk-netband{display:flex;gap:13px;align-items:flex-start;background:var(--accent-soft);border:1.5px solid var(--accent);border-radius:14px;padding:14px 17px}
.bk-netband svg{width:20px;height:20px;color:var(--accent);flex-shrink:0;margin-top:2px}
.bk-netband b{display:block;font-size:.9rem;color:var(--accent);margin-bottom:3px}
.bk-netband p{margin:0;font-size:.82rem;color:var(--ink-2);line-height:1.5}
.upl{display:flex;align-items:center;gap:10px;border:1.5px dashed var(--line);border-radius:12px;padding:11px 14px;cursor:pointer;transition:border-color .15s,background .15s}
.upl:hover{border-color:var(--accent)}
.upl svg{width:16px;height:16px;color:var(--accent);flex-shrink:0}
.upl span{font-weight:700;font-size:.84rem;color:var(--accent);white-space:nowrap}
.upl i{font-style:normal;font-size:.78rem;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.upl.ok{border-style:solid;border-color:var(--pos);background:rgba(15,160,95,.05)}
.upl.ok svg,.upl.ok span{color:var(--pos)}
.fdrop.inp-bad .fdrop-btn{border-color:var(--neg)!important}
.notifrow.nav{cursor:pointer;transition:background .14s}
.notifrow.nav:hover{background:var(--chip)}

/* ===== Tarjeta Shopify del perfil ===== */
.shopcard{position:relative;overflow:hidden;display:flex;align-items:center;gap:20px;border-radius:16px;padding:20px 24px;background:linear-gradient(120deg,rgba(149,191,71,.14),rgba(94,142,62,.05) 60%);border:1.5px solid rgba(149,191,71,.4)}
:root[data-theme="dark"] .shopcard{background:linear-gradient(120deg,rgba(149,191,71,.16),rgba(94,142,62,.04) 60%);border-color:rgba(149,191,71,.32)}
.shopcard-bag{width:46px;height:auto;flex-shrink:0;filter:drop-shadow(0 6px 14px rgba(94,142,62,.4))}
.shopcard-tx{flex:1;min-width:0}
.shopcard-word{height:20px;width:auto;display:none;margin-bottom:7px}
:root[data-theme="dark"] .shopcard-word-dark{display:block}
:root:not([data-theme="dark"]) .shopcard-word-light{display:block}
.shopcard-tx b{display:block;font-size:.95rem}
.shopcard-tx p{margin:3px 0 0;font-size:.83rem;color:var(--ink-2)}
.shopcard-hl{color:#5E8E3E;font-weight:800}
:root[data-theme="dark"] .shopcard-hl{color:#95BF47}
:root[data-theme="dark"] .btn-shopify2{box-shadow:0 12px 26px -16px rgba(0,0,0,.75)}
.btn-shopify2{flex-shrink:0;display:inline-flex;align-items:center;gap:9px;background:#5E8E3E;color:#fff;border:none;border-radius:12px;padding:12px 20px;font-family:var(--font);font-weight:700;font-size:.86rem;cursor:pointer;transition:transform .15s,filter .15s;box-shadow:0 10px 24px -10px rgba(94,142,62,.6)}
.btn-shopify2:hover{transform:translateY(-1px);filter:brightness(1.08)}
.btn-shopify2 img{width:16px;height:auto;filter:brightness(0) invert(1)}
@media(max-width:700px){.shopcard{flex-wrap:wrap}.btn-shopify2{width:100%;justify-content:center}}
.tkt-wa{width:auto!important;padding:12px 24px;display:inline-flex;align-items:center;gap:9px}
.tkt-wa svg{width:17px;height:17px}
/* ===== Editar pedido v2 ===== */
.epd-lab{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.epd-telrow{display:flex;gap:8px}.epd-telrow .inp{flex:1;min-width:0}
.epd-glink{display:inline-flex;align-items:center;gap:6px;margin-top:7px;font-size:.78rem;font-weight:700;color:var(--accent);cursor:pointer}
.epd-glink svg{width:13px;height:13px}
.epd-glink:hover{text-decoration:underline}
.epd-hint{display:block;margin-top:6px;font-size:.7rem;color:var(--ink-3)}
.epd-hint b{color:var(--ink-2)}
.epd-div{height:1px;background:var(--line);margin:2px 0}
.epd-chk{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:12px;background:var(--chip);cursor:pointer;font-size:.85rem}
.epd-chk input{width:17px;height:17px;accent-color:var(--accent);flex-shrink:0}
.epd-addrow{padding:14px 18px;border-bottom:1px dashed var(--line)}
.epd-uprice{font-size:.74rem;color:var(--ink-3)}
.btn-negro{width:auto;padding:11px 20px;background:var(--negro);color:#fff}
:root[data-theme="dark"] .btn-negro{background:#EDEEF3;color:#14151A}
.epd-save{display:none}
.epd-save.show{display:inline-flex;animation:rv .25s cubic-bezier(.19,1,.22,1)}
.epd-menu{min-width:262px;max-height:340px;overflow-y:auto}
.epd-menu .notif-i .mono{font-size:.72rem}
.epd-newtpl{display:flex;gap:8px;padding:10px 8px 6px;border-top:1px solid var(--line);margin-top:6px}
.epd-newtpl .inp{padding:9px 12px;font-size:.82rem}
.epd-newtpl .btn-out{white-space:nowrap;padding:8px 12px}
/* submodal (actualizaciones de estado, por encima del editor) */
.subov{position:fixed;inset:0;z-index:420;background:rgba(10,11,16,.5);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:70px 18px;overflow-y:auto}
.submodal{background:var(--panel);border:1px solid var(--line);border-radius:20px;width:100%;max-width:980px;box-shadow:0 40px 110px -22px rgba(0,0,0,.6);animation:rv .28s cubic-bezier(.19,1,.22,1)}
.epd-est-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start}
.epd-est-btns{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.epd-est-row{grid-template-columns:1fr}}
/* ===== Dashboard v2: filtro de rango + 8 KPIs + embudo con insights ===== */
.drange{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.drseg{display:inline-flex;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px}
.drs{border:none;background:none;font-family:var(--mono);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:8px 14px;border-radius:9px;cursor:pointer;transition:background .15s,color .15s}
.drs:hover{color:var(--ink)}
.drs.on{background:var(--accent);color:#fff}
:root[data-theme="dark"] .drs.on{background:var(--lima);color:#14151A}
.dr-sep{width:1px;height:22px;background:var(--line)}
.dr-a{color:var(--ink-3);font-size:.8rem}
.dr-go{padding:9px 16px}
.dash-k8{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}
@media(max-width:1100px){.dash-k8{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.dash-k8{grid-template-columns:1fr}}
.dk{padding:18px 20px;transition:transform .16s,border-color .16s,box-shadow .16s}
.dk:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 14px 30px -18px rgba(72,0,255,.25)}
:root[data-theme="dark"] .dk:hover{box-shadow:0 14px 30px -16px rgba(0,0,0,.55)}
.drange + .dash-k8 .dk{background:linear-gradient(180deg,var(--accent-soft) 0%,var(--panel) 34%)}
:root[data-theme="dark"] .drange + .dash-k8 .dk{background:linear-gradient(180deg,rgba(159,162,255,.08) 0%,var(--panel) 34%)}
.dk-h{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.dk-ic{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--chip);color:var(--ink-2)}
.dk-ic svg{width:14px;height:14px}
.dk-ic.ic-violet{background:var(--accent-soft);color:var(--accent)}
.dk-ic.ic-blue{background:rgba(59,130,246,.11);color:#2563EB}
:root[data-theme="dark"] .dk-ic.ic-blue{color:#7CB4FF}
.dk-ic.ic-green{background:rgba(15,160,95,.12);color:var(--pos)}
.dk-ic.ic-lima{background:rgba(190,214,0,.18);color:#5F6B00}
:root[data-theme="dark"] .dk-ic.ic-lima{background:rgba(224,252,9,.1);color:var(--lima)}
.dk-ic.ic-warn{background:rgba(222,120,30,.13);color:var(--warn)}
.dk-ic.ic-neg{background:rgba(224,87,83,.12);color:var(--neg)}
.dk-t{font-size:.78rem;font-weight:700;color:var(--ink-2);flex:1;min-width:0}
.dk-v{font-family:var(--mono);font-size:1.7rem;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.dk-s{font-size:.72rem;color:var(--ink-3);margin-top:4px}
.dk-cap{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin:8px 2px 12px}
.dk-cap::after{content:"";flex:1;height:1px;background:var(--line)}
.fx-body{display:grid;grid-template-columns:1fr 250px;gap:26px;padding-top:4px}
@media(max-width:900px){.fx-body{grid-template-columns:1fr}}
.fx-steps{min-width:0}
.fx-side{display:flex;flex-direction:column;gap:12px}
.fx-ins{background:var(--chip);border-radius:14px;padding:14px 16px}
.fx-ins-k{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.fx-ins-v{display:block;font-family:var(--mono);font-size:1.3rem;font-weight:800;margin:4px 0 2px}
.fx-ins-v.neg{color:var(--neg)}
.fx-ins-s{font-size:.72rem;color:var(--ink-3)}

/* =============================================================
   Tanda de agosto 2026 — pantallas nuevas del prototipo:
   catalogo privado, comunidad (hero/ranking/listado), KYC, FAQ,
   ofertas de proveedores e importador de TiendaNube.
   ============================================================= */
/* Catálogo privado — tarjeta con etiquetas + stock próximo + oferta */
.pv-badges{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:5px;align-items:flex-start;z-index:2;max-width:72%}
.pv-tag{font-family:var(--mono);font-size:.6rem;font-weight:700;letter-spacing:.02em;padding:3px 9px;border-radius:20px;color:#fff;line-height:1.55;box-shadow:0 2px 6px rgba(20,21,26,.16)}
.pv-tipo{background:#F26522}
.pv-acts{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:8px;z-index:2}
.pv-ic{width:34px;height:34px;border-radius:50%;background:var(--panel);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-3);transition:color .14s,border-color .14s,transform .2s}
.pv-ic svg{width:16px;height:16px}
.pv-ic:hover{color:var(--accent);border-color:var(--accent)}
.pv-ic.on{color:var(--magenta);border-color:var(--magenta)}.pv-ic.on svg{fill:var(--magenta)}
.pv-body{padding:15px 18px 4px;display:flex;flex-direction:column;flex:1;text-align:center}
.pv-name{font-size:.92rem;font-weight:700;line-height:1.3;letter-spacing:-.01em;margin:0 0 10px;min-height:2.4em;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--accent);transition:opacity .14s}
.pv-name:hover{opacity:.72}
.pv-price{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:11px}
.pv-old{font-family:var(--mono);font-size:.82rem;color:var(--ink-3);text-decoration:line-through}
.pv-now{font-family:var(--mono);font-size:1.08rem;font-weight:800;color:var(--ink)}
.pv-now.off{color:var(--neg)}
.pv-stock{font-size:.82rem;color:var(--ink-2);margin-bottom:6px}
.pv-stock b{font-weight:700;color:var(--ink)}
.pv-stock.prox{color:var(--ink-3)}.pv-stock.prox b{color:var(--ink-2)}
@media(max-width:560px){[data-route="catalogo-privado"] .prod-grid{grid-template-columns:1fr}}
/* Mi comunidad — hero de invitación minimalista y theme-aware */
.comm-hero{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:var(--card-sh);padding:34px 36px;display:grid;grid-template-columns:1.6fr 1fr;gap:36px;align-items:center}
.ch-orb{position:absolute;top:-140px;right:-90px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,var(--accent),transparent 70%);opacity:.06;pointer-events:none;filter:blur(20px)}
.ch-main{position:relative;z-index:2;min-width:0}
.ch-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.64rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600;color:var(--ink-3)}
.ch-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.ch-title{font-size:1.74rem;font-weight:800;letter-spacing:-.03em;margin:16px 0 10px;color:var(--ink);line-height:1.14}
.ch-title span{color:var(--accent)}
.ch-sub{font-size:.92rem;color:var(--ink-2);max-width:48ch;line-height:1.6}
.ch-linkfield{display:flex;align-items:center;gap:10px;margin-top:24px;max-width:470px;background:var(--chip);border:1px solid var(--line);border-radius:12px;padding:6px 6px 6px 15px}
.ch-link-ic{display:flex;color:var(--ink-3)}.ch-link-ic svg{width:17px;height:17px}
.ch-link-tx{flex:1;font-size:.88rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch-copy{display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:#fff;border:none;border-radius:9px;padding:10px 17px;font-weight:700;font-size:.83rem;cursor:pointer;white-space:nowrap;transition:opacity .15s,transform .15s}
.ch-copy svg{width:15px;height:15px}
.ch-copy:hover{transform:translateY(-1px);opacity:.9}
:root[data-theme="dark"] .ch-copy{color:#0A0A0E}
.ch-row2{display:flex;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap}
.ch-share{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--line);color:var(--ink-2);border-radius:10px;padding:9px 15px;font-weight:600;font-size:.85rem;cursor:pointer;transition:border-color .15s,color .15s}
.ch-share:hover{border-color:var(--accent);color:var(--accent)}
.ch-share svg{width:16px;height:16px;color:#25D366}
.ch-code{font-size:.85rem;color:var(--ink-3)}.ch-code b{color:var(--ink);font-size:.9rem;margin-left:5px}
.ch-social{display:flex;align-items:center;gap:11px;margin-top:24px;font-size:.83rem;color:var(--ink-3)}
.ch-social b{color:var(--ink-2)}
.ch-avs{display:flex}
.ch-av{width:30px;height:30px;border-radius:50%;background:var(--accent-soft);border:2px solid var(--panel);display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:800;color:var(--accent);margin-left:-9px}
.ch-av:first-child{margin-left:0}
.ch-stat{position:relative;z-index:2;padding-left:36px;border-left:1px solid var(--line)}
.ch-stat-l{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.ch-stat-vrow{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:10px}
.ch-stat-v{font-family:var(--mono);font-size:2.6rem;font-weight:800;color:var(--ink);line-height:1;letter-spacing:-.03em}
.ch-stat-d{display:inline-flex;align-items:center;gap:5px;font-size:.82rem;font-weight:700;color:var(--pos)}
.ch-stat-d svg{width:14px;height:14px}
.ch-stat-sep{height:1px;background:var(--line);margin:20px 0}
.ch-stat-mini{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--ink-2)}
.ch-stat-mini b{font-family:var(--mono);color:var(--ink);font-size:.95rem}
@media(max-width:900px){.comm-hero{grid-template-columns:1fr;gap:24px;padding:28px 24px}.ch-stat{padding-left:0;border-left:none;border-top:1px solid var(--line);padding-top:24px}}
@media(max-width:560px){.ch-title{font-size:1.46rem}.ch-linkfield{flex-wrap:wrap}.ch-copy{flex:1 1 100%;justify-content:center;margin-top:4px}}
.ch-empty-note{font-size:.85rem;color:var(--ink-2);line-height:1.55;margin:0}.ch-empty-note b{color:var(--ink)}
/* Comunidad · ranking (celdas con % de color) + listado (balances) */
.cr-c{font-weight:600;white-space:nowrap}
.cr-c em{font-style:normal;font-size:.86em;opacity:.85}
.cr-pos{color:var(--pos)}.cr-neg{color:var(--neg)}.cr-info{color:var(--info)}.cr-cyan{color:#22B8CF}.cr-warn{color:var(--warn)}
.cr-gain{color:var(--pos);font-weight:800}
.cls-bal{display:flex;flex-direction:column;gap:3px;font-size:.79rem;font-family:var(--mono);white-space:nowrap}
.cls-bal .b-d{color:var(--pos)}.cls-bal .b-p{color:var(--warn)}.cls-bal .b-r{color:var(--info)}
.cl-user{display:flex;align-items:center;gap:10px;text-align:left}
.cl-av{width:34px;height:34px;border-radius:50%;background:var(--chip);color:var(--ink-2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.72rem;flex-shrink:0}
.ref-rank{font-family:var(--mono);font-weight:800;font-size:.9rem;color:var(--ink-3)}
.ref-rank.rk1{color:var(--accent)}
.tbl tbody tr.ref-top td{background:var(--accent-soft)}
.tbl tbody tr.ref-top td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
/* KYC · tarjeta en Mi perfil + back link */
.kyc-pcard{display:flex;align-items:center;gap:15px;padding:18px 22px;margin-bottom:16px;background:linear-gradient(120deg,rgba(222,120,30,.11),rgba(222,120,30,.03));border:1px solid rgba(222,120,30,.30)}
.kyc-pcard.ok{background:linear-gradient(120deg,rgba(15,160,95,.11),rgba(15,160,95,.03));border-color:rgba(15,160,95,.30)}
.kyc-pic{width:44px;height:44px;border-radius:11px;background:rgba(222,120,30,.15);color:var(--warn);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.kyc-pic svg{width:23px;height:23px;stroke-width:1.8}
.kyc-pcard.ok .kyc-pic{background:rgba(15,160,95,.14);color:var(--pos)}
.kyc-pcard.rev{background:linear-gradient(120deg,rgba(62,155,255,.10),rgba(62,155,255,.03));border-color:rgba(62,155,255,.28)}
.kyc-pcard.rev .kyc-pic{background:rgba(62,155,255,.14);color:var(--info)}
.kyc-pst.rev{color:var(--info);background:rgba(62,155,255,.12)}.kyc-pst.rev i{background:var(--info)}
.kyc-ptx{flex:1;min-width:0}
.kyc-ptop{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.kyc-ptop b{font-size:.98rem;font-weight:700}
.kyc-pst{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:20px;padding:3px 10px}
.kyc-pst i{width:6px;height:6px;border-radius:50%}
.kyc-pst.pend{color:var(--warn);background:rgba(222,120,30,.12)}.kyc-pst.pend i{background:var(--warn)}
.kyc-pst.ok{color:var(--pos);background:rgba(15,160,95,.12)}.kyc-pst.ok i{background:var(--pos)}
.kyc-psub{display:block;font-size:.86rem;color:var(--ink-2);margin-top:5px}
.kyc-pbtn{width:auto;padding:11px 20px;text-decoration:none;flex-shrink:0}
.kyc-back{margin-bottom:16px}
@media(max-width:560px){.kyc-pcard{flex-wrap:wrap}.kyc-ptx{flex:1 1 100%}.kyc-pbtn{width:100%;justify-content:center}}
/* KYC · modal de bienvenida (saltable) */
.kyc-wel{padding:32px 30px 26px;text-align:center;position:relative}
.kyc-wel-x{position:absolute;top:14px;right:14px}
.kyc-wel-ic{width:62px;height:62px;border-radius:16px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.kyc-wel-ic svg{width:30px;height:30px}
.kyc-wel-h{font-size:1.32rem;font-weight:800;letter-spacing:-.02em;margin-bottom:8px}
.kyc-wel-p{font-size:.9rem;color:var(--ink-2);line-height:1.55;max-width:40ch;margin:0 auto 20px}
.kyc-wel-list{list-style:none;text-align:left;max-width:300px;margin:0 auto 24px;display:flex;flex-direction:column;gap:11px}
.kyc-wel-list li{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--ink)}
.kyc-wel-list li svg{width:18px;height:18px;color:var(--pos);flex-shrink:0}
.kyc-wel-ft{display:flex;gap:10px;justify-content:center}
.kyc-wel-go{width:auto;padding:12px 22px;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.kyc-wel-ft .btn-ghost2{padding:12px 22px}
@media(max-width:480px){.kyc-wel-ft{flex-direction:column-reverse}.kyc-wel-ft .btn-ghost2,.kyc-wel-go{width:100%;justify-content:center}}
/* FAQ / Preguntas frecuentes */
.faq-hero{position:relative;overflow:hidden;border-radius:20px;padding:38px 34px 30px;margin-bottom:22px;text-align:center;color:#fff;background:linear-gradient(135deg,#4b06ff,#3402b1 55%,#26016e)}
.faq-hero-orb{position:absolute;top:-120px;right:-60px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(224,252,9,.4),transparent 70%);opacity:.5;filter:blur(50px);pointer-events:none}
.faq-hero-h{font-size:1.7rem;font-weight:800;letter-spacing:-.03em;position:relative;z-index:2;color:#fff}
.faq-hero-p{font-size:.94rem;color:rgba(255,255,255,.82);margin:8px 0 20px;position:relative;z-index:2}
.faq-search{position:relative;z-index:2;max-width:560px;margin:0 auto;display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:4px 6px 4px 16px;box-shadow:0 12px 30px -12px rgba(0,0,0,.4)}
.faq-search span{display:flex;color:#9B9CA8}.faq-search span svg{width:19px;height:19px}
.faq-search input{flex:1;border:none;outline:none;background:transparent;font-size:.95rem;padding:12px 0;color:#14151A}
.faq-cat{margin-bottom:20px}
.faq-cat-h{display:flex;align-items:center;gap:11px;margin-bottom:11px}
.faq-cat-ic{width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.faq-cat-ic svg{width:19px;height:19px}
.faq-cat-h b{font-size:1.02rem;font-weight:700}
.faq-items{display:flex;flex-direction:column;gap:10px}
.faq-item{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.faq-item.open{border-color:var(--accent);box-shadow:var(--card-sh)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:none;border:none;cursor:pointer;font-size:.92rem;font-weight:600;color:var(--ink);text-align:left;font-family:inherit}
.faq-chev{display:flex;color:var(--ink-3);transition:transform .25s;flex-shrink:0}.faq-chev svg{width:18px;height:18px}
.faq-item.open .faq-chev{transform:rotate(180deg);color:var(--accent)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-item.open .faq-a{max-height:340px}
.faq-a p{padding:0 18px 16px;font-size:.9rem;color:var(--ink-2);line-height:1.6;margin:0}
.faq-hero-count{display:inline-block;margin-top:16px;position:relative;z-index:2;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.faq-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;margin-top:8px}
.faq-cta-tx b{display:block;font-size:1rem}.faq-cta-tx span{font-size:.86rem;color:var(--ink-2)}
.faq-cta-btn{width:auto;padding:11px 20px;display:inline-flex;align-items:center;gap:8px;flex-shrink:0}
.faq-cta-btn svg{width:18px;height:18px}
@media(max-width:560px){.faq-hero{padding:30px 20px 24px}.faq-hero-h{font-size:1.42rem}.faq-cta{flex-direction:column;align-items:flex-start}.faq-cta-btn{width:100%;justify-content:center}}
/* ===== KYC verificación (rediseño dentro del prototipo) ===== */
.kycx{min-height:100vh;background:var(--bg);display:flex;align-items:flex-start;justify-content:center;padding:44px 20px}
.kyc-card{width:100%;max-width:820px;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:34px 38px;box-shadow:var(--card-sh)}
.kyc-head{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:6px}
.kyc-brand{display:flex;justify-content:center}
.kyc-logo{height:40px;width:auto;display:none}
:root:not([data-theme="dark"]) .kyc-logo-light{display:block}
:root[data-theme="dark"] .kyc-logo-dark{display:block}
.kyc-eyebrow{display:inline-block;font-family:var(--mono);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);font-weight:700;background:var(--accent-soft);padding:6px 13px;border-radius:20px;margin-top:18px}
.kyc-h{font-size:1.85rem;letter-spacing:-.025em;margin-top:14px}
.kyc-sub{font-size:.92rem;color:var(--ink-2);margin:6px auto 0;max-width:520px;line-height:1.5}
.kyc-steps{display:flex;align-items:center;justify-content:center;gap:10px;margin:22px 0 4px}
.kyc-step{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:var(--ink-3)}
.kyc-step i{width:24px;height:24px;border-radius:50%;background:var(--chip);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.72rem;font-style:normal;color:var(--ink-3)}
.kyc-step.on{color:var(--ink)}
.kyc-step.on i{background:var(--accent);color:#fff}
:root[data-theme="dark"] .kyc-step.on i{color:#0A0A0E}
.kyc-stepbar{flex:1;height:2px;background:var(--line);border-radius:2px;max-width:130px}
.kyc-stepbar.full{background:var(--pos)}
.kyc-step.done{color:var(--ink)}
.kyc-step.done i{background:var(--pos);color:#fff}
.kyc-step.done i svg{width:13px;height:13px;stroke:#fff;stroke-width:3.2;fill:none}
.kyc-status{text-align:center;padding:18px 0 2px}
.kyc-status-ic{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;background:var(--accent-soft);color:var(--accent)}
.kyc-status-ic svg{width:20px;height:20px;stroke-width:2}
/* KYC · línea de tiempo del estado (monocromo: acento + grises) */
.kyc-tl{display:flex;flex-direction:column;max-width:300px;margin:22px auto;text-align:left}
.kyc-tl-item{display:flex;gap:13px;position:relative;padding-bottom:18px}
.kyc-tl-item:last-child{padding-bottom:0}
.kyc-tl-item::before{content:"";position:absolute;left:11px;top:24px;bottom:0;width:2px;background:var(--line);border-radius:2px;z-index:0}
.kyc-tl-item:last-child::before{display:none}
.kyc-tl-item.done::before{background:var(--accent)}
.kyc-tl-dot{width:24px;height:24px;box-sizing:border-box;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;transition:.2s}
.kyc-tl-dot svg{width:13px;height:13px;stroke:currentColor;stroke-width:3.2;fill:none}
.kyc-tl-item.done .kyc-tl-dot{background:var(--accent);color:#fff}
@media(prefers-color-scheme:dark){.kyc-tl-item.done .kyc-tl-dot{color:#0A0A0E}}
:root[data-theme="light"] .kyc-tl-item.done .kyc-tl-dot{color:#fff}
:root[data-theme="dark"] .kyc-tl-item.done .kyc-tl-dot{color:#0A0A0E}
.kyc-tl-item.active .kyc-tl-dot{background:var(--panel);border:2px solid var(--accent)}
.kyc-tl-item.active .kyc-tl-dot::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent)}
.kyc-tl-item.pending .kyc-tl-dot{background:var(--chip);border:2px solid var(--line)}
.kyc-tl-tx{padding-top:1px;min-width:0}
.kyc-tl-tx b{display:block;font-size:.9rem;font-weight:650;color:var(--ink)}
.kyc-tl-item.pending .kyc-tl-tx b{color:var(--ink-3);font-weight:600}
.kyc-tl-tx span{font-size:.8rem;color:var(--ink-3)}
/* KYC · estado VERIFICADO → verde (aprobado) */
.kyc-ok .kyc-eyebrow{background:rgba(15,160,95,.10);color:var(--pos)}
.kyc-ok .kyc-status-ic{background:rgba(15,160,95,.12);color:var(--pos);box-shadow:0 0 0 8px rgba(15,160,95,.06)}
.kyc-ok .kyc-tl-item.done::before{background:var(--pos)}
.kyc-ok .kyc-tl-item.done .kyc-tl-dot{background:var(--pos);color:#fff}
:root[data-theme="dark"] .kyc-ok .kyc-tl-item.done .kyc-tl-dot{color:#fff}
.kyc-sec{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin:22px 0 14px;display:flex;align-items:center;gap:10px}
.kyc-sec::after{content:"";flex:1;height:1px;background:var(--line)}
.kyc-ups{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kyc-up{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;border:1.5px dashed var(--line);border-radius:18px;padding:14px 14px 18px;cursor:pointer;background:var(--bg);transition:border-color .15s,background .15s}
.kyc-up:hover{border-color:var(--accent);background:var(--accent-soft)}
.kyc-up.ok{border-style:solid;border-color:var(--pos);background:rgba(15,160,95,.06)}
.kyc-up-illus{position:relative;width:100%;height:158px;border-radius:13px;overflow:hidden;margin-bottom:10px;background:#EBE1F7}
.kyc-up-illus img{width:100%;height:100%;object-fit:cover;display:block}
.kyc-up-check{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:rgba(15,160,95,.82)}
.kyc-up-check svg{width:40px;height:40px;stroke:#fff;stroke-width:2.6}
.kyc-up.ok .kyc-up-check{display:flex}
.kyc-up.ok .kyc-up-illus img{filter:saturate(.6)}
.kyc-up b{font-size:.9rem}
.kyc-up-file{font-style:normal;font-size:.8rem;font-weight:700;color:var(--accent);display:flex;align-items:center;gap:6px}
.kyc-up-pick{display:inline-flex;align-items:center;gap:6px}
.kyc-up-pick svg{width:15px;height:15px}
.kyc-up.ok .kyc-up-file{color:var(--pos)}
.kyc-up.ok .kyc-up-pick svg{display:none}
.kyc-up-hint{font-size:.73rem;color:var(--ink-3);line-height:1.4}
.kyc-note{margin-top:16px;display:flex;gap:11px;align-items:flex-start;background:var(--accent-soft);border:1px solid var(--line);border-radius:13px;padding:12px 15px}
.kyc-note svg{width:18px;height:18px;stroke:var(--accent);flex-shrink:0;margin-top:1px}
.kyc-note p{font-size:.82rem;color:var(--ink-2);line-height:1.45}
.kyc-foot{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:20px;border-top:1px solid var(--line)}
.kyc-enc{font-size:.76rem;color:var(--ink-3);display:flex;align-items:center;gap:7px}
.kyc-enc svg{width:14px;height:14px;stroke:var(--ink-3)}
@media(max-width:640px){.kyc-card{padding:24px 20px}.kyc-ups{grid-template-columns:1fr}.kyc-top{flex-wrap:wrap}.kyc-foot{flex-direction:column-reverse;align-items:stretch}.kyc-foot .btn{width:100%!important;justify-content:center}}
/* ===== KYC validación (checks + errores + botón) ===== */
.kyc-lok{display:none;color:var(--pos)}
.kyc-lok svg{width:13px;height:13px;vertical-align:-2px;stroke-width:3}
.kyc-field.valid .kyc-lok{display:inline-block}
.kyc-field.valid>.inp,.kyc-field.valid .fdrop-btn{border-color:var(--pos)}
.kyc-field.invalid>.inp,.kyc-field.invalid .fdrop-btn{border-color:var(--neg)}
.kyc-err{display:none;align-items:center;gap:6px;color:var(--neg);font-size:.74rem;margin-top:6px}
.kyc-err svg{width:14px;height:14px;flex-shrink:0}
.kyc-field.invalid .kyc-err{display:flex}
.kyc-hint2{display:block;font-size:.72rem;color:var(--ink-3);margin-top:6px}
.kyc-field.invalid .kyc-hint2{display:none}
.kyc-up.kyc-field.valid{border-style:solid;border-color:var(--pos)}
.kyc-btn:disabled{background:var(--chip)!important;color:var(--ink-3)!important;cursor:not-allowed;box-shadow:none}
.kyc-btn:disabled svg{stroke:var(--ink-3)}
.kyc-enc b{color:var(--ink-2);font-weight:700}
input.inp[type="date"]{color:var(--ink);font-family:var(--font)}
/* ===== Ofertas de proveedores (solicitud) — premium ===== */
.sof-req{display:flex;align-items:center;gap:13px;background:var(--chip);border-radius:14px;padding:13px 16px;margin-bottom:14px}
.sof-req-th{width:42px;height:42px;border-radius:11px;background:var(--panel);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sof-req-th svg{width:20px;height:20px;stroke:var(--accent)}
.sof-req-tx{flex:1;min-width:0}
.sof-req-tx b{display:block;font-size:.92rem}
.sof-req-tx span{font-size:.78rem;color:var(--ink-3)}
.sof-req-badge{font-family:var(--mono);font-size:.68rem;font-weight:700;background:var(--accent-soft);color:var(--accent);padding:6px 12px;border-radius:16px}
.sof-intro{font-size:.85rem;color:var(--ink-2);margin-bottom:18px;line-height:1.55}
.sof-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media(max-width:820px){.sof-grid{grid-template-columns:1fr}}
.sof-card{position:relative;border:1.5px solid var(--line);border-radius:18px;padding:18px 16px;background:var(--bg);display:flex;flex-direction:column;gap:13px;transition:transform .15s,box-shadow .15s}
.sof-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(20,20,26,.3)}
.sof-card.best{border-color:var(--pos);box-shadow:0 14px 30px -16px rgba(15,160,95,.4)}
.sof-tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:5px;background:var(--pos);color:#fff;font-family:var(--mono);font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:14px;white-space:nowrap}
.sof-tag svg{width:12px;height:12px;stroke:#fff;stroke-width:3}
.sof-top{display:flex;gap:11px;align-items:center}
.sof-logo{width:44px;height:44px;border-radius:12px;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.82rem}
.sof-prov{flex:1;min-width:0}
.sof-prov b{display:block;font-size:.92rem;line-height:1.2}
.sof-rating{font-size:.74rem;color:var(--ink-3)}
.sof-rating i{font-style:normal;color:var(--ink-3)}
.sof-ver{width:24px;height:24px;border-radius:50%;background:rgba(15,160,95,.14);color:var(--pos);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sof-ver svg{width:14px;height:14px;stroke-width:3}
.sof-price{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:12px 0;border-top:1px solid var(--line)}
.sof-plabel{font-size:.68rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-family:var(--mono)}
.sof-pnum{font-family:var(--mono);font-size:1.55rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.sof-save{font-size:.66rem;font-weight:700;color:var(--pos);background:rgba(15,160,95,.1);padding:4px 8px;border-radius:9px;white-space:nowrap}
.sof-margin{background:rgba(224,252,9,.14);border:1px solid rgba(190,214,0,.35);border-radius:12px;padding:10px 12px}
:root[data-theme="dark"] .sof-margin{background:rgba(224,252,9,.08);border-color:rgba(224,252,9,.2)}
.sof-margin.neg{background:rgba(224,87,83,.1);border-color:rgba(224,87,83,.3)}
.sof-mlabel{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-family:var(--mono);font-weight:600}
.sof-margin b{display:block;font-family:var(--mono);font-size:1.05rem;font-weight:800;color:#5F6B00;margin-top:2px}
:root[data-theme="dark"] .sof-margin b{color:var(--lima)}
.sof-margin.neg b{color:var(--neg)}
.sof-margin b em{font-style:normal;font-size:.76rem;color:var(--ink-3);font-weight:600}
.sof-msub{font-size:.68rem;color:var(--ink-3)}
.sof-meta{display:flex;flex-direction:column;gap:7px;font-size:.8rem;color:var(--ink-2)}
.sof-meta span{display:flex;align-items:center;gap:7px}
.sof-meta svg{width:15px;height:15px;stroke:var(--ink-3);flex-shrink:0}
.sof-meta b{color:var(--ink);font-family:var(--mono)}
.sof-accept{width:100%;justify-content:center;margin-top:2px}
.imp-brand-tn2{height:26px;width:auto}
:root[data-theme="dark"] .imp-brand-tn2{filter:brightness(0) invert(1)}
:root:not([data-theme="dark"]) .imp-rk{filter:brightness(0)}
