/* CRM-ACOSTA GO · ACOSTA IPS · v2.0 NUEVA PLATAFORMA · 2026-10-05 */
:root{
  --bg-card:#0d1430; --bg-pop:#0e1531; --bg-panel:#0a1024; --bg-modal:#0b1229; --bg-input:rgba(6,10,24,.7); --bg-side:rgba(8,12,30,.82); --bg-bar:rgba(6,10,24,.72); --tx-fuerte:#fff; --grid:rgba(148,163,255,.045);
  --bg:#060a18; --bg2:var(--bg-panel); --sup:rgba(255,255,255,.035); --sup2:rgba(255,255,255,.06); --sup3:rgba(255,255,255,.09);
  --borde:rgba(148,163,255,.13); --borde2:rgba(148,163,255,.24);
  --tx:#e8ecff; --tx2:#aab3d6; --mu:#7781a8;
  --mor:#7c3aed; --mor2:#a78bfa; --navy:#1e1b4b; --oro:#f5b84a; --cian:#22d3ee;
  --frio:#3b82f6; --frio2:#06b6d4; --tibio:#eab308; --cal:#f97316; --cal2:#ef4444; --ok:#22c55e; --gris:#64748b;
  --r-s:10px; --r:16px; --r-l:22px;
  --sombra:0 10px 40px rgba(0,0,0,.35); --glow:0 0 0 1px rgba(124,58,237,.35),0 8px 30px rgba(124,58,237,.25);
  --f1:'Montserrat',system-ui,sans-serif; --f2:'Inter','Open Sans',system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--tx);font:14px/1.5 var(--f2);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.bg-grid{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
   radial-gradient(900px 500px at 85% -10%,rgba(124,58,237,.22),transparent 60%),
   radial-gradient(700px 500px at -10% 110%,rgba(34,211,238,.12),transparent 60%),
   linear-gradient(var(--grid) 1px,transparent 1px) 0 0/44px 44px,
   linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/44px 44px,var(--bg)}
h1,h2,h3,h4{font-family:var(--f1);margin:0;letter-spacing:-.01em}
a{color:var(--cian)}
.mu{color:var(--mu)} .tx2{color:var(--tx2)}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}
::-webkit-scrollbar{width:9px;height:9px} ::-webkit-scrollbar-thumb{background:rgba(148,163,255,.18);border-radius:9px} ::-webkit-scrollbar-track{background:transparent}

/* ---------- Botones y campos ---------- */
.btn{display:inline-flex;align-items:center;gap:6px;justify-content:center;border:1px solid var(--borde2);background:var(--sup2);color:var(--tx);padding:9px 15px;border-radius:12px;cursor:pointer;font-weight:600;font-size:13px;transition:.18s;white-space:nowrap}
.btn:hover{background:var(--sup3);border-color:rgba(167,139,250,.5)}
.btn.pri{background:linear-gradient(135deg,#7c3aed,#4f46e5);border-color:transparent;box-shadow:0 6px 22px rgba(124,58,237,.35)}
.btn.pri:hover{filter:brightness(1.12)}
.btn.ok{background:linear-gradient(135deg,#16a34a,#22c55e);border-color:transparent}
.btn.ko{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.45);color:#fca5a5}
.btn.fant{background:transparent}
.btn.peq{padding:6px 11px;font-size:12px;border-radius:10px}
.btn.ico{width:38px;height:38px;padding:0}
.btn.ancho{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed}
.campo{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--tx2);font-weight:600}
.campo>span{letter-spacing:.02em}
input,select,textarea{background:var(--bg-input);border:1px solid var(--borde2);border-radius:11px;padding:9px 11px;outline:none;width:100%;transition:.15s;font-weight:400;font-size:13.5px}
input:focus,select:focus,textarea:focus{border-color:var(--mor2);box-shadow:0 0 0 3px rgba(124,58,237,.25)}
select option{background:var(--bg-card)}
textarea{min-height:80px;resize:vertical}
.rejilla{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.rejilla .full{grid-column:1/-1}
.err{color:#fca5a5;min-height:18px;font-size:13px;margin:6px 0}

/* ---------- Acceso ---------- */
.acceso{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}
.acc-glow{position:absolute;width:620px;height:620px;border-radius:50%;background:conic-gradient(from 0deg,#3b82f6,#06b6d4,#eab308,#f97316,#ef4444,#22c55e,#3b82f6);filter:blur(120px);opacity:.25;animation:gira 18s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.acc-card{position:relative;width:min(440px,100%);background:var(--bg-modal);backdrop-filter:blur(18px);border:1px solid var(--borde2);border-radius:26px;padding:30px;box-shadow:var(--sombra)}
.acc-marca{background:#fff;border-radius:18px;padding:14px 18px;margin-bottom:20px}
.acc-logo{width:100%;height:auto;display:block}
.acc-card h1{font-size:22px}
.perfiles{display:grid;gap:8px;margin:16px 0}
.perfil{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--borde);border-radius:14px;cursor:pointer;background:var(--sup);transition:.15s}
.perfil input{display:none}
.perfil.sel{border-color:var(--mor2);background:rgba(124,58,237,.14);box-shadow:var(--glow)}
.perfil.bloq{opacity:.4;cursor:not-allowed}
.av{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-family:var(--f1);background:linear-gradient(135deg,#7c3aed,#22d3ee);font-size:13px;flex:none}
.acc-pie{text-align:center;color:var(--mu);font-size:12px;margin:18px 0 0}

/* ---------- Layout ---------- */
.app{display:flex;min-height:100vh}
.lado{width:268px;flex:none;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--bg-side);backdrop-filter:blur(16px);border-right:1px solid var(--borde);z-index:30}
.lado-marca{margin:16px 14px 6px;background:#fff;border-radius:16px;padding:10px 12px}
.lado-marca img{width:100%;height:auto;display:block}
.nav{flex:1;overflow:auto;padding:8px 10px}
.nav-g{font-size:10.5px;font-weight:800;letter-spacing:.14em;color:var(--mu);margin:16px 10px 6px;font-family:var(--f1)}
.nav a{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:12px;color:var(--tx2);text-decoration:none;font-weight:600;font-size:13.5px;transition:.15s;position:relative}
.nav a .i{width:22px;text-align:center;font-size:15px;opacity:.9}
.nav a:hover{background:var(--sup2);color:var(--tx)}
.nav a.act{background:linear-gradient(90deg,rgba(124,58,237,.3),rgba(124,58,237,.05));color:var(--tx-fuerte)}
.nav a.act::before{content:'';position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--mor2);box-shadow:0 0 12px var(--mor2)}
.nav a .cnt{margin-left:auto;font-size:11px;background:var(--sup3);padding:1px 8px;border-radius:20px;color:var(--tx2)}
.nav a .cnt.rojo{background:rgba(239,68,68,.2);color:#fca5a5}
.nav a.prox{opacity:.55}
.nav a .tag{margin-left:auto;font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:20px;background:rgba(245,184,74,.15);color:var(--oro);letter-spacing:.05em}
.lado-pie{padding:12px 14px;border-top:1px solid var(--borde);display:flex;flex-direction:column;align-items:stretch;gap:10px}
.yo{display:flex;align-items:center;gap:10px;min-width:0}
.yo b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.yo small{color:var(--mu);font-size:11px}
.cuerpo{flex:1;min-width:0;display:flex;flex-direction:column}
.barra{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;padding:14px 26px;background:var(--bg-bar);backdrop-filter:blur(14px);border-bottom:1px solid var(--borde)}
.barra-tit{flex:1;min-width:0}
.barra-tit h1{font-size:20px}
.barra-tit p{margin:0;font-size:12.5px}
#btnMenu{display:none}
.buscar{display:flex;align-items:center;gap:8px;min-width:280px;padding:9px 12px;border-radius:12px;border:1px solid var(--borde2);background:var(--sup);color:var(--mu);cursor:pointer;font-size:13px}
.buscar kbd{margin-left:auto;font-size:10.5px;background:var(--sup3);padding:2px 6px;border-radius:6px;color:var(--tx2);font-family:var(--f2)}
.nuevo{position:relative}
.menu{position:absolute;right:0;top:calc(100% + 8px);min-width:230px;background:var(--bg-pop);border:1px solid var(--borde2);border-radius:14px;padding:6px;box-shadow:var(--sombra);z-index:50}
.menu button{display:flex;width:100%;gap:10px;align-items:center;background:none;border:0;padding:9px 11px;border-radius:10px;cursor:pointer;text-align:left;font-size:13px}
.menu button:hover{background:var(--sup3)}
.vista{padding:22px 26px 60px;outline:none;animation:entra .25s ease}
@keyframes entra{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---------- Tarjetas ---------- */
.card{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));border:1px solid var(--borde);border-radius:var(--r-l);padding:18px;position:relative}
.card h3{font-size:14.5px;display:flex;align-items:center;gap:8px}
.card .cab{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.card .cab small{color:var(--mu);font-size:11.5px}
.g{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))} .g3{grid-template-columns:repeat(3,minmax(0,1fr))} .g4{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.g-12{grid-template-columns:1.25fr 1fr}
.mt{margin-top:16px}
.kpi{padding:16px 18px;overflow:hidden}
.kpi::after{content:'';position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:var(--kc,var(--mor));opacity:.13;filter:blur(8px)}
.kpi .k{font-size:10.5px;letter-spacing:.12em;font-weight:800;color:var(--mu);font-family:var(--f1);text-transform:uppercase}
.kpi .v{font-size:27px;font-weight:800;font-family:var(--f1);margin:6px 0 2px;letter-spacing:-.02em}
.kpi .s{font-size:12px;color:var(--tx2)}
.kpi .bar{height:4px;border-radius:4px;background:var(--sup3);margin-top:10px;overflow:hidden}
.kpi .bar i{display:block;height:100%;background:var(--kc,var(--mor));border-radius:4px;box-shadow:0 0 10px var(--kc)}
.vacio{padding:26px;text-align:center;color:var(--mu);font-size:13px}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;background:var(--sup3);color:var(--tx2);white-space:nowrap}
.chip.dot::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
.t-frio{color:#7dd3fc;background:rgba(59,130,246,.15)} .t-tibio{color:#fde047;background:rgba(234,179,8,.15)} .t-cal{color:#fdba74;background:rgba(249,115,22,.16)} .t-mcal{color:#fca5a5;background:rgba(239,68,68,.17)} .t-ok{color:#86efac;background:rgba(34,197,94,.16)} .t-gris{color:#cbd5e1;background:rgba(100,116,139,.2)}

/* ---------- Embudo SVG ---------- */
.embudo-svg{width:100%;height:auto;display:block}
.embudo-svg .capa{cursor:pointer;transition:.2s}
.embudo-svg .capa:hover{filter:brightness(1.25) drop-shadow(0 0 14px var(--c))}
.embudo-svg text{font-family:var(--f1);fill:#fff;pointer-events:none}
.leyenda-term{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--mu);margin-top:10px}
.leyenda-term .esc{flex:1;height:8px;border-radius:8px;background:linear-gradient(90deg,var(--frio),var(--frio2),var(--tibio),var(--cal),var(--cal2),var(--ok))}

/* ---------- Pipeline (stepper chevrons) ---------- */
.pasos{display:flex;gap:4px;margin:0 0 16px;overflow-x:auto;padding-bottom:4px}
.paso{flex:1;min-width:120px;position:relative;padding:11px 14px 11px 24px;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--tx-fuerte);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%,14px 50%);cursor:pointer;transition:.2s;border:0;text-align:left}
.paso:first-child{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);border-radius:12px 0 0 12px;padding-left:16px}
.paso:hover,.paso.act{background:var(--c);box-shadow:0 0 22px var(--c)}
.paso b{display:block;font-size:12px;font-family:var(--f1)}
.paso small{font-size:11px;opacity:.85}
.paso.hecho{background:color-mix(in srgb,var(--c) 55%,transparent)}
.herr{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.herr .seg{display:inline-flex;background:var(--sup);border:1px solid var(--borde);border-radius:12px;padding:3px}
.herr .seg button{border:0;background:none;padding:7px 13px;border-radius:9px;cursor:pointer;font-weight:600;font-size:12.5px;color:var(--tx2)}
.herr .seg button.act{background:var(--sup3);color:var(--tx-fuerte);box-shadow:inset 0 0 0 1px var(--borde2)}
.herr input,.herr select{width:auto;min-width:160px;padding:8px 10px}
.herr .sep{flex:1}
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(215px,1fr);gap:12px;overflow-x:auto;padding-bottom:10px;align-items:start}
.col{background:rgba(255,255,255,.025);border:1px solid var(--borde);border-radius:18px;min-height:300px;display:flex;flex-direction:column;transition:.15s}
.col.sobre{border-color:var(--c);box-shadow:0 0 0 2px var(--c),0 0 30px color-mix(in srgb,var(--c) 40%,transparent)}
.col-cab{padding:12px 14px 10px;border-bottom:1px solid var(--borde);position:relative}
.col-cab::before{content:'';position:absolute;left:12px;right:12px;top:0;height:3px;border-radius:0 0 4px 4px;background:var(--c);box-shadow:0 0 14px var(--c)}
.col-cab h4{font-size:13px;display:flex;justify-content:space-between;gap:6px}
.col-cab small{color:var(--tx2);font-size:11.5px}
.col-cuerpo{padding:10px;display:flex;flex-direction:column;gap:9px;flex:1}
.deal{background:var(--bg-card);border:1px solid var(--borde);border-left:3px solid var(--c);border-radius:14px;padding:11px 12px;cursor:grab;transition:.15s}
.deal:hover{border-color:var(--borde2);transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.35)}
.deal.arr{opacity:.4}
.deal .d1{display:flex;gap:9px;align-items:center}
.deal b{font-size:13px;line-height:1.3;display:block}
.deal .org{font-size:11.5px;color:var(--mu)}
.deal .d2{display:flex;justify-content:space-between;align-items:center;margin-top:9px;font-size:12px}
.deal .val{font-weight:800;font-family:var(--f1)}
.deal .act-ind{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:10px}
.act-ind.venc{background:rgba(239,68,68,.25);color:#fca5a5} .act-ind.hoy{background:rgba(34,197,94,.22);color:#86efac} .act-ind.fut{background:var(--sup3);color:var(--tx2)} .act-ind.nada{background:rgba(234,179,8,.2);color:#fde047}
.deal .pud{font-size:10.5px;color:#fca5a5}
.col-pie{padding:8px 10px 12px}
.col-pie button{width:100%;border:1px dashed var(--borde2);background:none;padding:8px;border-radius:11px;cursor:pointer;color:var(--mu);font-size:12px}
.col-pie button:hover{color:var(--tx-fuerte);border-color:var(--mor2)}

/* ---------- Logos ---------- */
.logo{width:34px;height:34px;border-radius:10px;background:#fff;display:grid;place-items:center;overflow:hidden;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.logo img{width:88%;height:88%;object-fit:contain}
.logo.ini{background:linear-gradient(135deg,var(--lc1,#4f46e5),var(--lc2,#22d3ee));color:var(--tx-fuerte);font-weight:800;font-family:var(--f1);font-size:12px}
.logo.g{width:54px;height:54px;border-radius:14px} .logo.g.ini{font-size:17px}
.logo.xg{width:76px;height:76px;border-radius:18px}
.logo.p{width:24px;height:24px;border-radius:7px;font-size:9px}

/* ---------- Tablas ---------- */
.tabla-w{overflow:auto;border:1px solid var(--borde);border-radius:16px}
table.t{width:100%;border-collapse:collapse;font-size:13px}
.t th{text-align:left;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mu);font-weight:800;padding:11px 12px;background:rgba(255,255,255,.03);position:sticky;top:0;font-family:var(--f1);white-space:nowrap}
.t td{padding:10px 12px;border-top:1px solid var(--borde);vertical-align:middle}
.t tr.cl{cursor:pointer} .t tr.cl:hover td{background:rgba(124,58,237,.07)}
.t .num{text-align:right;font-variant-numeric:tabular-nums}
.ent{display:flex;align-items:center;gap:10px;min-width:0} .ent b{font-weight:600}

/* ---------- Cuentas grid ---------- */
.cuentas{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.cta{cursor:pointer;transition:.18s;padding:16px}
.cta:hover{transform:translateY(-3px);border-color:var(--borde2);box-shadow:var(--glow)}
.cta .c1{display:flex;gap:12px;align-items:center}
.cta h4{font-size:14px;line-height:1.3}
.cta .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.cta .nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;border-top:1px solid var(--borde);padding-top:10px}
.cta .nums div{font-size:11px;color:var(--mu)} .cta .nums b{display:block;color:var(--tx);font-size:14px;font-family:var(--f1)}

/* ---------- Panel lateral ---------- */
.velo{position:fixed;inset:0;background:rgba(2,4,12,.55);backdrop-filter:blur(3px);z-index:60}
.panel{position:fixed;top:0;right:0;bottom:0;width:min(720px,100%);background:var(--bg-panel);border-left:1px solid var(--borde2);z-index:70;overflow:auto;box-shadow:-30px 0 60px rgba(0,0,0,.5);animation:desliza .25s ease}
@keyframes desliza{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.p-cab{padding:22px 24px 16px;border-bottom:1px solid var(--borde);background:linear-gradient(180deg,rgba(124,58,237,.14),transparent);position:sticky;top:0;z-index:2;backdrop-filter:blur(10px)}
.p-cab .fila{display:flex;gap:14px;align-items:center}
.p-cab h2{font-size:19px;line-height:1.25}
.p-cab .acc{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.p-cerrar{position:absolute;right:16px;top:16px}
.p-cuerpo{padding:18px 24px 40px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--borde);margin:0 -24px 16px;padding:0 24px;overflow-x:auto}
.tabs button{background:none;border:0;padding:11px 13px;cursor:pointer;color:var(--mu);font-weight:700;font-size:13px;border-bottom:2px solid transparent;white-space:nowrap}
.tabs button.act{color:var(--tx-fuerte);border-color:var(--mor2)}
.dl{display:grid;grid-template-columns:150px 1fr;gap:8px 14px;font-size:13px}
.dl dt{color:var(--mu)} .dl dd{margin:0;word-break:break-word}
.linea{position:relative;padding-left:22px}
.linea::before{content:'';position:absolute;left:7px;top:4px;bottom:4px;width:2px;background:var(--borde2)}
.ev{position:relative;padding:0 0 14px}
.ev::before{content:'';position:absolute;left:-19px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--ec,var(--mor2));box-shadow:0 0 10px var(--ec,var(--mor2))}
.ev small{color:var(--mu);font-size:11.5px;display:block}
.ev p{margin:2px 0 0;font-size:13px;white-space:pre-wrap}
.lista{display:flex;flex-direction:column;gap:8px}
.it{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:13px;background:var(--sup);border:1px solid var(--borde);font-size:13px}
.it.cl{cursor:pointer} .it.cl:hover{border-color:var(--borde2)}
.it .f{flex:1;min-width:0} .it .f small{display:block;color:var(--mu);font-size:11.5px}
.chk{width:20px;height:20px;border-radius:7px;border:2px solid var(--borde2);background:none;cursor:pointer;flex:none;display:grid;place-items:center;font-size:12px}
.chk.on{background:var(--ok);border-color:var(--ok);color:#04130a}

/* ---------- Termómetro / gauge ---------- */
.termo{display:flex;flex-direction:column;gap:10px}
.termo .f{display:flex;align-items:center;gap:10px;font-size:12.5px}
.termo .f span{width:110px;color:var(--tx2)}
.termo .f .b{flex:1;height:10px;background:var(--sup3);border-radius:10px;overflow:hidden}
.termo .f .b i{display:block;height:100%;border-radius:10px;box-shadow:0 0 12px currentColor}
.termo .f b{width:90px;text-align:right;font-family:var(--f1);font-size:12.5px}

/* ---------- Modal ---------- */
.modal{position:fixed;inset:0;z-index:90;background:rgba(2,4,12,.65);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}
.m-caja{width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--bg-modal);border:1px solid var(--borde2);border-radius:22px;box-shadow:var(--sombra);animation:entra .2s}
.m-caja.xl{width:min(1360px,100%);height:calc(100vh - 40px)}
.m-cab{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--borde)}
.m-cab h2{font-size:17px}
.m-cuerpo{padding:20px 22px}
.m-pie{display:flex;gap:10px;justify-content:flex-end;padding:14px 22px;border-top:1px solid var(--borde);position:sticky;bottom:0;background:var(--bg-modal)}

/* ---------- Paleta ---------- */
.paleta{position:fixed;inset:0;z-index:95;background:rgba(2,4,12,.6);backdrop-filter:blur(4px);display:flex;justify-content:center;padding-top:12vh}
.pal-caja{width:min(640px,94%);background:var(--bg-modal);border:1px solid var(--borde2);border-radius:20px;overflow:hidden;box-shadow:var(--sombra);height:fit-content}
.pal-caja input{border:0;border-bottom:1px solid var(--borde);border-radius:0;padding:18px 20px;font-size:16px;background:transparent;box-shadow:none!important}
.pal-res{max-height:55vh;overflow:auto;padding:8px}
.pal-res .it{background:none;border-color:transparent}
.pal-res .it.sel,.pal-res .it:hover{background:rgba(124,58,237,.15);border-color:rgba(124,58,237,.4)}

/* ---------- Aviso ---------- */
.aviso{position:fixed;bottom:22px;left:50%;transform:translate(-50%,30px);opacity:0;background:var(--bg-pop);border:1px solid var(--borde2);padding:11px 18px;border-radius:14px;z-index:120;transition:.25s;pointer-events:none;font-weight:600;box-shadow:var(--sombra)}
.aviso.ver{opacity:1;transform:translate(-50%,0)} .aviso.ko{border-color:rgba(239,68,68,.6);color:#fecaca}

/* ---------- Propuestas: generador ---------- */
.gen{display:grid;grid-template-columns:minmax(380px,460px) 1fr;height:calc(100% - 66px)}
.gen-form{overflow:auto;padding:18px 20px 30px;border-right:1px solid var(--borde)}
.gen-prev{overflow:auto;background:#1a1f35;padding:26px;display:flex;justify-content:center}
.gen-pasos{display:flex;gap:6px;margin-bottom:16px}
.gen-pasos button{flex:1;border:1px solid var(--borde);background:var(--sup);padding:8px 6px;border-radius:11px;font-size:11.5px;font-weight:700;cursor:pointer;color:var(--tx2)}
.gen-pasos button.act{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:var(--tx-fuerte);border-color:transparent}
.gen-sec{display:none} .gen-sec.act{display:block}
.gen-sec h4{font-size:13px;margin:14px 0 8px;color:var(--tx2);letter-spacing:.06em;text-transform:uppercase}
.tipo-prop{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tipo-prop label{border:1px solid var(--borde2);border-radius:16px;padding:14px;cursor:pointer;background:var(--sup)}
.tipo-prop label.sel{border-color:var(--mor2);box-shadow:var(--glow);background:rgba(124,58,237,.12)}
.tipo-prop input{display:none}
.tipo-prop b{display:block;font-family:var(--f1);margin-bottom:4px}
.tipo-prop small{color:var(--mu);font-size:12px}
.secs{display:flex;flex-direction:column;gap:8px}
.secs details{border:1px solid var(--borde);border-radius:13px;background:var(--sup)}
.secs summary{padding:10px 12px;cursor:pointer;display:flex;align-items:center;gap:9px;font-weight:600;font-size:13px;list-style:none}
.secs summary input{width:auto}
.secs textarea{margin:0 12px 12px;width:calc(100% - 24px);min-height:110px;font-size:12.5px}
.items .itm{display:grid;grid-template-columns:70px 1fr 70px 28px;gap:6px;align-items:center;margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed var(--borde)}
.items .itm>[data-k=nombre]{grid-column:1/-1}
.items .itm input{padding:7px 8px;font-size:12.5px}
.items .itm .x{background:none;border:0;color:#fca5a5;cursor:pointer;font-size:16px}
.busq-serv{position:relative}
.busq-serv .res{position:absolute;left:0;right:0;top:100%;background:var(--bg-pop);border:1px solid var(--borde2);border-radius:12px;max-height:240px;overflow:auto;z-index:5;box-shadow:var(--sombra)}
.busq-serv .res button{display:block;width:100%;text-align:left;background:none;border:0;padding:8px 11px;cursor:pointer;font-size:12.5px;color:var(--tx)}
.busq-serv .res button:hover{background:var(--sup3)}
.tot{display:flex;justify-content:space-between;padding:10px 12px;border-radius:12px;background:rgba(124,58,237,.12);margin-top:8px;font-weight:700}

/* Hoja A4 de la propuesta (vista previa) */
.hoja{width:794px;flex:none;background:#fff;color:#1f2340;box-shadow:0 20px 60px rgba(0,0,0,.5);font:13px/1.55 var(--f2);transform-origin:top center}
.hoja *{color:inherit}

/* ---------- Varios ---------- */
.estado-prop{font-weight:700}
.barra-av{height:7px;background:var(--sup3);border-radius:7px;overflow:hidden;min-width:80px}
.barra-av i{display:block;height:100%;background:linear-gradient(90deg,var(--mor),var(--cian))}
.prox-card{display:grid;place-items:center;text-align:center;min-height:320px;gap:10px}
.prox-card .big{font-size:46px}
.leyenda{display:flex;flex-wrap:wrap;gap:12px;font-size:11.5px;color:var(--tx2)}
.leyenda i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
canvas{max-width:100%}

@media (max-width:1180px){.g-12,.g3{grid-template-columns:1fr}.gen{grid-template-columns:minmax(330px,400px) 1fr}.gen-prev{padding:14px}}
@media (max-width:820px){.gen{grid-template-columns:1fr}.gen-prev{display:none}}
@media (max-width:860px){
  .lado{position:fixed;left:0;transform:translateX(-100%);transition:.25s}
  .lado.abierto{transform:none}
  #btnMenu{display:inline-flex}
  .buscar{min-width:0;flex:none}.buscar kbd,.buscar{font-size:0}.buscar span{font-size:16px}
  .vista{padding:16px}
  .barra{padding:12px 16px}
  .g2,.g4{grid-template-columns:1fr}
  .rejilla{grid-template-columns:1fr}
  .dl{grid-template-columns:1fr}
}
.m-caja.xl{overflow:hidden;display:flex;flex-direction:column}.m-caja.xl>#mCont{flex:1;min-height:0;display:flex;flex-direction:column}.m-caja.xl .gen{flex:1;min-height:0;height:auto}

/* ================= v2.1 · Tema claro ================= */
html[data-tema="claro"]{
  --bg:#f4f3fb; --bg2:#ffffff; --sup:rgba(76,29,149,.035); --sup2:rgba(76,29,149,.06); --sup3:rgba(76,29,149,.1);
  --borde:rgba(76,29,149,.13); --borde2:rgba(76,29,149,.24); --tx:#1f1b3a; --tx2:#4b4870; --mu:#7a7899;
  --bg-card:#ffffff; --bg-pop:#ffffff; --bg-panel:#fbfaff; --bg-modal:#ffffff; --bg-input:#ffffff; --bg-side:rgba(255,255,255,.92); --bg-bar:rgba(244,243,251,.85); --tx-fuerte:#1f1b3a; --grid:rgba(76,29,149,.05);
  --sombra:0 10px 34px rgba(46,16,101,.12); --glow:0 0 0 1px rgba(124,58,237,.3),0 8px 24px rgba(124,58,237,.15);
}
html[data-tema="claro"] .bg-grid{background:radial-gradient(900px 500px at 85% -10%,rgba(124,58,237,.12),transparent 60%),radial-gradient(700px 500px at -10% 110%,rgba(34,211,238,.1),transparent 60%),linear-gradient(var(--grid) 1px,transparent 1px) 0 0/44px 44px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/44px 44px,var(--bg)}
html[data-tema="claro"] .card{background:#fff;box-shadow:0 4px 18px rgba(46,16,101,.06)}
html[data-tema="claro"] .t-frio{color:#1d4ed8;background:rgba(59,130,246,.12)} html[data-tema="claro"] .t-tibio{color:#a16207;background:rgba(234,179,8,.16)} html[data-tema="claro"] .t-cal{color:#c2410c;background:rgba(249,115,22,.13)} html[data-tema="claro"] .t-mcal{color:#b91c1c;background:rgba(239,68,68,.12)} html[data-tema="claro"] .t-ok{color:#15803d;background:rgba(34,197,94,.14)} html[data-tema="claro"] .t-gris{color:#475569;background:rgba(100,116,139,.14)}
html[data-tema="claro"] .paso{color:#1f1b3a} html[data-tema="claro"] .paso.act,html[data-tema="claro"] .paso:hover,html[data-tema="claro"] .paso.hecho{color:#fff}
html[data-tema="claro"] .btn.pri,html[data-tema="claro"] .btn.ok,html[data-tema="claro"] .gen-pasos button.act,html[data-tema="claro"] .av,html[data-tema="claro"] .logo.ini{color:#fff}
html[data-tema="claro"] .nav a.act{background:linear-gradient(90deg,rgba(124,58,237,.16),rgba(124,58,237,.03));color:#4c1d95}
html[data-tema="claro"] .embudo-svg text{fill:#fff}
html[data-tema="claro"] .velo,html[data-tema="claro"] .modal,html[data-tema="claro"] .paleta{background:rgba(30,20,60,.35)}
html[data-tema="claro"] .gen-prev{background:#e9e7f3}
html[data-tema="claro"] .btn.ko{color:#b91c1c}
.tema{width:38px;height:38px;border-radius:12px;border:1px solid var(--borde2);background:var(--sup);cursor:pointer;font-size:17px;display:grid;place-items:center;color:var(--tx)}
.tema:hover{border-color:var(--mor2)}

/* ================= v2.1 · Armar la propuesta (bolsa) ================= */
.gen.armar{grid-template-columns:1fr}
.gen.armar .gen-prev{display:none}
.gen.armar .gen-form{padding:12px 16px;border-right:0;overflow:hidden;display:flex}
.armar-g{display:grid;grid-template-columns:1fr 380px;gap:14px;flex:1;min-height:0}
.port{display:flex;flex-direction:column;min-height:0}
.port-cab{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:8px}
.port-cab input{max-width:260px}
.port-tabs{display:flex;flex-wrap:wrap;margin-bottom:10px}
.seg{display:inline-flex;background:var(--sup);border:1px solid var(--borde);border-radius:12px;padding:3px;gap:2px}
.seg button{border:0;background:none;padding:7px 12px;border-radius:9px;cursor:pointer;font-weight:600;font-size:12.5px;color:var(--tx2)}
.seg button.act{background:var(--sup3);color:var(--tx-fuerte);box-shadow:inset 0 0 0 1px var(--borde2)}
.port-lista{overflow:auto;flex:1;padding-right:4px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.pgrupo h5{font-size:13px;margin:6px 0 8px;display:flex;align-items:center;gap:8px;justify-content:space-between;font-family:var(--f1)}
.pgrupo{margin-bottom:14px}
.pcard{background:var(--bg-card);border:1px solid var(--borde);border-top:3px solid var(--c);border-radius:14px;padding:10px 11px;cursor:grab;display:flex;flex-direction:column;gap:5px;transition:.15s;user-select:none}
.pcard:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.18);border-color:var(--c)}
.pcard:active{cursor:grabbing}
.pc-t{display:flex;gap:8px;align-items:flex-start}
.pc-t b{font-size:12.5px;line-height:1.3}
.pc-i{width:24px;height:24px;border-radius:8px;flex:none;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 22%,transparent);color:var(--c);font-size:12px}
.pcard small{font-size:11px;color:var(--mu);line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pc-f{display:flex;align-items:center;gap:6px;margin-top:auto}
.pc-p{margin-left:auto;font-family:var(--f1);font-size:12.5px}
.pc-add{margin-left:auto;width:26px;height:26px;border-radius:8px;border:1px solid var(--c);background:transparent;color:var(--c);cursor:pointer;font-weight:800}
.pc-p+.pc-add{margin-left:0}
.pc-add:hover{background:var(--c);color:#fff}
.bolsa{display:flex;flex-direction:column;min-height:0;border-radius:22px;border:2px dashed var(--borde2);background:linear-gradient(180deg,rgba(124,58,237,.10),rgba(124,58,237,.02));transition:.2s}
.bolsa.espera{border-color:var(--mor2);box-shadow:0 0 0 4px rgba(124,58,237,.12)}
.bolsa.sobre{border-style:solid;border-color:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.18),0 0 40px rgba(34,197,94,.25);transform:scale(1.01)}
.bolsa.pulso{animation:pulso .45s ease}
@keyframes pulso{50%{transform:scale(1.025);box-shadow:0 0 0 8px rgba(124,58,237,.18)}}
.bolsa-cab{display:flex;gap:12px;align-items:center;padding:14px 14px 10px;border-bottom:1px solid var(--borde)}
.bolsa-ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:24px;background:linear-gradient(135deg,#7c3aed,#4f46e5);box-shadow:0 8px 20px rgba(124,58,237,.35)}
.bolsa-cab b{font-family:var(--f1);font-size:16px;display:block}
.bolsa-cab small{color:var(--mu);font-size:11.5px}
.bolsa-items{flex:1;overflow:auto;padding:10px 12px;display:flex;flex-direction:column;gap:7px}
.bolsa-vacia{margin:auto;text-align:center;color:var(--mu);font-size:13px;padding:30px 10px}
.bolsa-vacia span{font-size:11.5px}
.bg-t{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-top:6px;font-family:var(--f1)}
.bitem{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;background:var(--bg-card);border:1px solid var(--borde);border-left:3px solid var(--c);border-radius:12px;padding:8px 9px;animation:entra .2s}
.bi-n{flex:1 1 0;min-width:0}
.bi-c{margin-left:auto}
.bi-n b{font-size:12px;display:block;line-height:1.3}
.bi-n small{font-size:10.5px;color:var(--mu)}
.bi-c{display:grid;grid-template-columns:56px 110px 56px;gap:5px;order:3;width:100%}
.bi-c input{padding:5px 6px;font-size:11.5px;border-radius:8px}
.bitem .x{background:none;border:0;color:#f87171;cursor:pointer;font-size:14px}
.bolsa-tot{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-top:1px solid var(--borde);font-size:13px}
.bolsa-tot b{font-family:var(--f1);font-size:17px}
@media (max-width:980px){.armar-g{grid-template-columns:1fr}.gen.armar .gen-form{overflow:auto}}

/* v2.2 · cursor de mano morada para arrastrar a la bolsa */
.pcard,.pcard *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='-1 -1 26 26'%3E%3Cpath d='M23 5.5V20c0 2.2-1.8 4-4 4h-7.3c-1.08 0-2.1-.43-2.85-1.19L1 14.83s1.26-1.23 1.3-1.25c.22-.19.49-.29.79-.29.22 0 .42.06.6.16.04.01 4.31 2.46 4.31 2.46V4c0-.83.67-1.5 1.5-1.5S11 3.17 11 4v7h1V1.5c0-.83.67-1.5 1.5-1.5S15 .67 15 1.5V11h1V2.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V11h1V5.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5z' fill='%237c3aed' stroke='white' stroke-width='1.3'/%3E%3C/svg%3E") 14 8,grab!important}
.pcard:active,.pcard:active *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='-1 -1 26 26'%3E%3Cpath d='M23 5.5V20c0 2.2-1.8 4-4 4h-7.3c-1.08 0-2.1-.43-2.85-1.19L1 14.83s1.26-1.23 1.3-1.25c.22-.19.49-.29.79-.29.22 0 .42.06.6.16.04.01 4.31 2.46 4.31 2.46V4c0-.83.67-1.5 1.5-1.5S11 3.17 11 4v7h1V1.5c0-.83.67-1.5 1.5-1.5S15 .67 15 1.5V11h1V2.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V11h1V5.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5z' fill='%235b21b6' stroke='white' stroke-width='1.3'/%3E%3C/svg%3E") 14 8,grabbing!important}
.pcard .pc-add{cursor:pointer!important}
.nuevo-cli{border:1px solid var(--borde2);border-radius:16px;padding:14px;background:var(--sup);margin-top:-4px}

/* ================= v2.3 · Inteligencia ================= */
.eeff-g{display:grid;grid-template-columns:320px 1fr;gap:16px;margin-top:4px}
.eeff-lista{display:flex;flex-direction:column;gap:7px;max-height:calc(100vh - 260px);overflow:auto;position:sticky;top:90px;padding-right:4px}
.eeff-it{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:14px;border:1px solid var(--borde);border-left:3px solid var(--c);background:var(--bg-card);cursor:pointer;transition:.15s}
.eeff-it:hover{border-color:var(--c)}.eeff-it.act{box-shadow:0 0 0 2px var(--c),0 8px 22px rgba(0,0,0,.2)}
.eeff-it .f{flex:1;min-width:0}.eeff-it b{font-size:12.5px;display:block;line-height:1.25}.eeff-it small{font-size:11px;color:var(--mu)}
.eeff-it svg text{font-size:13px}
.recs{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:7px;font-size:13px}
.pestel-dims{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.pdim{position:relative;text-align:left;border:1px solid var(--borde);border-top:4px solid var(--c);border-radius:18px;background:var(--bg-card);padding:14px 12px;cursor:pointer;color:var(--tx);transition:.15s;overflow:hidden}
.pdim:hover,.pdim.act{box-shadow:0 0 0 2px var(--c),0 10px 26px color-mix(in srgb,var(--c) 30%,transparent);transform:translateY(-2px)}
.pdim .pl,.pf .pl{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--c);color:#fff;font-weight:800;font-family:var(--f1);font-size:17px;margin-bottom:8px}
.pdim b{display:block;font-family:var(--f1);font-size:14px}.pdim small{font-size:11px;color:var(--mu)}
.pdim .pn{position:absolute;right:12px;top:14px;font-weight:800;font-family:var(--f1);font-size:13px}
.pfact{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.pf{cursor:pointer;border-left:4px solid var(--c);transition:.15s;padding:14px 16px}
.pf:hover{transform:translateY(-2px);box-shadow:var(--glow)}
.pf-cab{display:flex;gap:6px;align-items:center}.pf .pl{width:26px;height:26px;font-size:13px;margin:0;border-radius:8px}
.pf-p{margin-left:auto;font-family:var(--f1);font-size:15px;color:var(--c)}
.pf h4{font-size:13.5px;margin:9px 0 5px}.pf p{font-size:12px;color:var(--tx2);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pf-imp{font-size:11.5px;margin-top:8px;color:var(--c);font-weight:600}
.estr-hero{background:linear-gradient(135deg,rgba(124,58,237,.22),rgba(34,211,238,.08));border-color:var(--borde2)}
.estr-hero h2{font-size:19px;margin:6px 0 8px}.estr-hero p{margin:0;font-size:13px;color:var(--tx2);max-width:1100px}
.horiz{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.hcol{border:1px solid var(--borde);border-top:4px solid var(--c);border-radius:16px;padding:10px;background:var(--sup);display:flex;flex-direction:column;gap:8px}
.hcab{display:flex;gap:8px;align-items:baseline}.hcab b{font-family:var(--f1);font-size:20px;color:var(--c)}.hcab span{font-size:12px;color:var(--mu);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.hcard{background:var(--bg-card);border:1px solid var(--borde);border-radius:12px;padding:10px}.hcard b{font-size:12.5px;display:block}.hcard small{font-size:11.5px;color:var(--mu);display:block;margin-top:3px}
select.mini{width:auto;padding:3px 8px;font-size:11px;border-radius:8px}
@media (max-width:1180px){.pestel-dims{grid-template-columns:repeat(3,1fr)}.eeff-g{grid-template-columns:1fr}.eeff-lista{position:static;max-height:300px}.horiz{grid-template-columns:1fr}}
