 /* ── Módulo Estadísticas clásico (fiel a OF) con arte Chispa ── */
 .oftabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:12px;overflow-x:auto;flex:none}
 .oftab{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font:inherit;font-family:var(--font-display);font-size:11px;letter-spacing:.5px;text-transform:uppercase;font-weight:700;padding:10px 14px;cursor:pointer;white-space:nowrap;transition:.15s;display:flex;align-items:center;gap:7px} .oftab .bti{width:15px;height:15px}
 .oftab:hover{color:var(--ink)} .oftab.on{color:var(--accent2);border-bottom-color:var(--accent2)}
 .ofpills{display:flex;gap:7px;margin-bottom:12px;flex-wrap:wrap} .ofpill{background:var(--panel2);border:1px solid var(--line);color:var(--muted);border-radius:20px;padding:6px 14px;font:inherit;font-size:12px;cursor:pointer;transition:.15s} .ofpill:hover{color:var(--ink);border-color:var(--accent2)} .ofpill.on{background:linear-gradient(135deg,rgba(255,46,136,.20),rgba(123,92,255,.16) 45%,rgba(22,224,232,.20)),linear-gradient(110deg,transparent 30%,rgba(191,247,255,.16) 50%,transparent 70%);background-size:100% 100%,220% 100%;background-repeat:no-repeat;background-position:0 0,150% 0;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(22,224,232,.42),0 0 15px rgba(123,92,255,.24);animation:chGlowSheen 4s ease-in-out infinite;border-color:transparent;font-weight:700}
 .ofrange{position:relative;margin-bottom:13px} .ofrangebtn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:11px 15px;font:inherit;cursor:pointer;color:var(--ink);text-align:left} .ofrangebtn:hover{border-color:var(--accent2)} .ofrangebtn b{font-size:13px} .ofrangebtn span{font-size:10.5px;color:var(--muted);display:block;margin-top:2px} .ofrangebtn .chev{color:var(--accent2);font-size:12px;flex:none}
 .ofrangepop{position:absolute;top:calc(100% + 5px);left:0;z-index:40;background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:6px;min-width:230px;max-height:340px;overflow-y:auto;box-shadow:0 12px 34px rgba(0,0,0,.5)}
 .ofropt{display:block;width:100%;text-align:left;background:none;border:0;color:var(--ink);font:inherit;font-size:12.5px;padding:8px 11px;border-radius:8px;cursor:pointer} .ofropt:hover{background:rgba(22,224,232,.1)} .ofropt.on{color:var(--accent2);font-weight:700} .ofrsep{height:1px;background:var(--line);margin:5px 4px}
 .oflayout{display:grid;grid-template-columns:1fr 300px;gap:14px;align-items:start} @media(max-width:1000px){.oflayout{grid-template-columns:1fr}}
 .ofmain{min-width:0}
 .ofside{display:flex;flex-direction:column;gap:13px;position:sticky;top:0}
 .ofcard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
 .ofbaltop{display:flex;gap:12px;margin-bottom:12px} .ofbalb{flex:1} .ofbalk{font-size:10.5px;color:var(--muted)} .ofbalv{font-family:var(--font-display);font-size:22px;font-weight:900;background:linear-gradient(135deg,#5ff0ff,#ff6bb0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent} .ofbalv.mut{font-size:18px;background:none;-webkit-text-fill-color:var(--muted)}
 .ofsel{width:100%;margin-bottom:9px} .ofminw{font-size:10px;color:var(--muted);margin-bottom:10px}
 .ofwd{width:100%;background:linear-gradient(135deg,rgba(255,46,136,.20),rgba(123,92,255,.16) 45%,rgba(22,224,232,.20)),linear-gradient(110deg,transparent 30%,rgba(191,247,255,.16) 50%,transparent 70%);background-size:100% 100%,220% 100%;background-repeat:no-repeat;background-position:0 0,150% 0;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(22,224,232,.42),0 0 15px rgba(123,92,255,.24);animation:chGlowSheen 4s ease-in-out infinite;border:0;border-radius:10px;padding:9px;font:inherit;font-weight:800;font-size:12.5px;cursor:pointer} .ofwd:hover{box-shadow:0 0 15px rgba(255,46,136,.4)} .ofwd:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.3)}
 .ofcardt{font-family:var(--font-display);font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--accent2);margin-bottom:12px}
 .ofkpi{display:flex;flex-direction:column;gap:13px} .ofkr{display:flex;justify-content:space-between;align-items:flex-start;gap:10px} .ofkl{font-size:11.5px;color:var(--muted);line-height:1.3;max-width:130px} .ofkrv{text-align:right} .ofkv{font-family:var(--font-display);font-size:16px;font-weight:800;color:var(--ink)} .ofkd{font-size:10.5px;font-weight:700} .ofkd.up{color:var(--ok)} .ofkd.down{color:var(--danger)} .ofkspark{height:22px;margin-top:4px}
 .ofbig{font-family:var(--font-display);font-size:22px;font-weight:900;color:var(--ink)} .ofmutbox{font-size:11.5px;color:var(--muted);padding:8px 0;line-height:1.5}
 .ofrow{display:flex;justify-content:space-between;align-items:center;padding:11px 4px;border-bottom:1px solid var(--line);font-size:13px} .ofrow:last-child{border-bottom:0} .ofrow b{font-family:var(--font-display);font-weight:800}
 .ofmh{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap} .ofmt{font-family:var(--font-display);font-size:13px;font-weight:800;color:var(--ink)} .ofmt .ofmg{color:var(--muted);font-size:11px;font-weight:400} .ofdelta{font-size:12px;font-weight:700} .ofdelta.up{color:var(--ok)} .ofdelta.down{color:var(--danger)}
 /* calendario de racha */
 .ofstreaks{display:flex;gap:12px;margin-bottom:14px} .ofsc{flex:1;background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:12px 14px;text-align:center} .ofsc.on{border-color:var(--accent2);box-shadow:0 0 0 1px rgba(22,224,232,.3)} .ofscv{font-family:var(--font-display);font-size:28px;font-weight:900;background:linear-gradient(135deg,#5ff0ff,#ff6bb0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent} .ofsck{font-size:11px;color:var(--muted);margin-top:2px}
 .ofcal{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px} .ofcalh{text-align:center;font-family:var(--font-display);font-weight:800;margin-bottom:11px;text-transform:capitalize} .ofcalgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px} .ofcaldow{text-align:center;font-size:10px;color:var(--muted);padding-bottom:3px} .ofcell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:11.5px;color:var(--muted);border-radius:8px;background:rgba(8,12,22,.5)} .ofcell.active{color:#06121f;font-weight:800;background:linear-gradient(135deg,var(--accent2),var(--accent));box-shadow:0 0 10px rgba(255,46,136,.4)} .ofcell.blank{background:none}
 /* fans / suscriptores */
 .ofav{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;color:#06121f;font-weight:800;font-size:13px}
 .offann{display:flex;align-items:center;gap:10px} .offani b{font-size:13px;display:block} .offani span{font-size:11px;color:var(--accent2)}
 .ofpill.mini{padding:5px 12px;font-size:11.5px}
 .ofchart{display:flex;align-items:flex-end;gap:4px;height:90px;padding:6px 2px;border-bottom:1px solid var(--line);margin-bottom:6px} .ofbarw{flex:1;display:flex;align-items:flex-end;justify-content:center;height:100%} .ofbar{width:70%;max-width:26px;background:linear-gradient(180deg,var(--accent2),var(--accent));border-radius:4px 4px 0 0;box-shadow:0 0 8px rgba(22,224,232,.35);transition:filter .15s} .ofbar:hover{filter:brightness(1.3)}
 .ofradio{display:inline-block;width:13px;height:13px;border-radius:50%;border:2px solid var(--line);margin-right:9px;vertical-align:-2px} .ofradio.on{border-color:var(--accent2);box-shadow:inset 0 0 0 3px var(--accent2)}
 .sttbl tbody tr[data-ov]{cursor:pointer} .sttbl tbody tr.ofrsel{background:rgba(22,224,232,.06)}
 .ofpostcard{background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:13px 15px} .ofpc-h{font-size:11px;margin-bottom:7px} .ofpc-cap{font-size:14px;color:var(--ink);margin-bottom:9px} .ofpc-st{font-size:11.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:9px}
 .ofscard{padding:9px 0;border-bottom:1px solid var(--line)} .ofscard:last-child{border-bottom:0} .ofscl{font-size:11.5px;color:var(--muted)} .ofsctop{display:flex;align-items:baseline;gap:8px} .ofscv{font-family:var(--font-display);font-size:17px;font-weight:800;color:var(--ink)} .ofkspark{display:block;width:100%;height:22px;margin-top:5px}
 .ofrefurl{display:flex;gap:8px;align-items:center} .ofrefurl input{flex:1;font-size:12px}
 .ofheat{overflow-x:auto} .ofhrow{display:flex;align-items:center;gap:8px;margin-bottom:4px} .ofhd{width:34px;font-size:10.5px;color:var(--muted);flex:none;text-align:right} .ofhcs{display:flex;gap:3px;flex:1;min-width:480px} .ofhc{flex:1;height:16px;border-radius:3px;background:linear-gradient(135deg,var(--accent2),var(--accent))} .ofhh{font-size:9.5px;color:var(--muted);text-align:left}
 /* gráfica de área (libro mayor) */
 .ofchartwrap{position:relative;margin-bottom:6px} .ofareachart{width:100%;height:210px;display:block;overflow:visible}
 .ofarea{fill:url(#ofag)} .ofline{fill:none;stroke:var(--accent2);stroke-width:2.4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(22,224,232,.5))}
 .ofgl{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.55} .ofgt{fill:var(--muted);font-size:11px;text-anchor:end;font-family:var(--font-ui)}
 .ofxax{position:relative;height:16px;margin-top:2px} .ofxax span{position:absolute;transform:translateX(-50%);font-size:10px;color:var(--muted);white-space:nowrap} .ofxax span:first-child{transform:none} .ofxax span:last-child{transform:translateX(-100%)}
 .ofmonths{display:flex;flex-direction:column} .ofmonthrow{width:100%;background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);font:inherit;display:flex;justify-content:space-between;align-items:center;padding:13px 6px;cursor:pointer;transition:background .12s} .ofmonthrow:hover{background:rgba(22,224,232,.06)} .ofmonthrow b{font-family:var(--font-display);font-weight:800}
 .ofabove{margin-bottom:10px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel2)} .ofabove .ofmonthrow{padding:10px 12px} .ofabove .ofmonthrow:last-child{border-bottom:0} .ofall span,.ofall b{color:var(--accent2)}
 /* tarjetas Top Fan / Top Message del sidebar */
 .oftags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px} .oftag{font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px;background:rgba(41,240,168,.14);color:var(--ok)} .oftag.warn{background:rgba(255,59,92,.14);color:#ff8497}
 .ofactions{display:flex;gap:6px;margin-bottom:12px} .ofactbtn{flex:1;background:var(--panel2);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:7px 4px;font:inherit;font-size:11px;cursor:pointer} .ofactbtn:hover{border-color:var(--accent2);color:var(--accent2)}
 .ofsubdet{border-top:1px solid var(--line);padding-top:6px} .ofsubdet .ofrow{padding:8px 0;font-size:12px}
 .oftm-thumb{position:relative;height:150px;border-radius:11px;background:linear-gradient(135deg,#2a1840,#3a1230 55%,#0d1b3a);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:9px} .oftm-thumb::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 8px,transparent 8px 16px)}
 .oftm-play{width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:1} .oftm-play .chico{width:22px;height:22px}
 .oftm-lock{position:absolute;top:9px;left:9px;width:22px;height:22px;z-index:1;opacity:.85} .oftm-lock .chico{width:22px;height:22px}
 .oftm-price{position:absolute;top:9px;right:9px;z-index:1;background:rgba(0,0,0,.55);color:#fff;font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px}
 .oftm-cap{font-size:12px;color:var(--ink);line-height:1.4;margin-bottom:7px} .oftm-st{font-size:11px;color:var(--ok);font-weight:700}
 .offlag{width:20px;height:14px;border-radius:2px;vertical-align:-2px;margin-right:7px;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
 /* Statements auditable: buscador + granularidad + rango personalizado */
 .ofaudit{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:11px} .ofsearch{flex:1;min-width:180px} .ofgran{display:flex;gap:4px;border:1px solid var(--line);border-radius:9px;overflow:hidden;flex:none} .ofgb{background:transparent;border:0;color:var(--muted);font:inherit;font-size:11.5px;font-weight:700;padding:7px 12px;cursor:pointer;white-space:nowrap} .ofgb.on{background:linear-gradient(135deg,rgba(255,46,136,.20),rgba(123,92,255,.16) 45%,rgba(22,224,232,.20)),linear-gradient(110deg,transparent 30%,rgba(191,247,255,.16) 50%,transparent 70%);background-size:100% 100%,220% 100%;background-repeat:no-repeat;background-position:0 0,150% 0;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(22,224,232,.42),0 0 15px rgba(123,92,255,.24);animation:chGlowSheen 4s ease-in-out infinite;font-weight:800} .ofgb:not(.on):hover{color:var(--ink)}
 .ofcustom{display:flex;gap:10px;align-items:flex-end;padding:11px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;margin:6px 0} .ofcustom label{font-size:11px;color:var(--muted);display:block;margin-bottom:4px} .ofcustom .modal-in{padding:8px 10px}
 .anattr{box-shadow:0 0 26px rgba(255,46,136,.1)}
 @media (prefers-reduced-motion:reduce){ #anbody>*,.anfill,.anseg,.antbar,.anherobig{animation:none!important} }
 .anfun{display:flex;align-items:center;gap:9px;flex-wrap:wrap} .anfx{display:flex;flex-direction:column;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:8px 14px;text-align:center;min-width:74px} .anfx b{font-family:var(--font-display);font-size:17px;color:var(--ink)} .anfx span{font-size:9px;color:var(--muted);text-transform:uppercase} .anfx.money b{color:var(--ok)} .anar{color:var(--muted);font-size:13px}
 .anmsg{border-style:dashed;border-color:rgba(22,224,232,.4);cursor:pointer;transition:border-color .15s,transform .15s} .anmsg:hover{border-color:var(--accent2);transform:translateY(-1px)} .anmsgp{font-size:12px;color:var(--muted);line-height:1.5}
 /* Message dashboard */
 .msgwrap{height:100%;display:flex;flex-direction:column;padding:14px 18px;overflow:hidden}
 .msghead{flex:none;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px}
 .msgtz{font-family:var(--font-display);font-size:11px;color:var(--accent2);border:1px solid rgba(22,224,232,.4);border-radius:6px;padding:2px 8px;margin-left:8px;vertical-align:middle}
 .msghz{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex:none}
 .msgtzl{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px} .msgtzl select{width:auto;padding:5px 8px;font-size:12px}
 .msgupd{font-size:10px;color:var(--muted)}
 .msgnote{flex:none;display:flex;align-items:center;gap:9px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:8px 13px;font-size:12px;color:var(--muted);margin-bottom:10px} .msgnote b{color:var(--ink)} .msgnote span{font-size:14px}
 .msgfilt{flex:none;display:flex;flex-direction:column;gap:11px;margin-bottom:12px;padding:13px 15px;background:linear-gradient(160deg,rgba(22,224,232,.045),rgba(255,46,136,.02)),var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 0 22px rgba(22,224,232,.05)}
 .mfrow1{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
 .msgfilt .modal-in{width:auto;padding:7px 10px;font-size:12px} .msgfilt .msgq{flex:1;min-width:220px}
 .mfdate{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);white-space:nowrap} .mfarrow{color:var(--accent2)}
 .msgwrap input[type=date]{color-scheme:dark}
 .mfgrid{display:flex;flex-wrap:wrap;gap:9px;align-items:flex-end}
 .mff{display:flex;flex-direction:column;gap:4px;font-size:9.5px;color:rgba(22,224,232,.72);text-transform:uppercase;letter-spacing:.5px;font-weight:600} .mff select.modal-in{min-width:118px}
 .mfbtns{display:flex;gap:7px;margin-left:auto;align-self:flex-end} .mfbtns .modal-btn{padding:8px 18px}
 .msgpr{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px} .msgpr .modal-in{width:64px}
 .msgtblwrap{flex:1;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
 .msgtbl{width:100%;border-collapse:collapse;font-size:12px;min-width:980px}
 .msgtbl thead th{position:sticky;top:0;background:var(--panel2);color:var(--accent2);font-family:var(--font-display);font-size:9.5px;letter-spacing:.4px;text-transform:uppercase;text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap;z-index:2}
 .msgtbl tbody td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink)}
 .msgtbl tbody tr{animation:msgRowIn .4s cubic-bezier(.2,.8,.25,1) both;transition:background .15s,box-shadow .15s}
 .msgtbl tbody tr:hover{background:linear-gradient(90deg,rgba(255,46,136,.08),rgba(22,224,232,.06));box-shadow:inset 3px 0 0 var(--accent2),0 0 18px rgba(22,224,232,.09)}
 .msgtbl tr.isun{opacity:.5}
 @keyframes msgRowIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
 .msgtbl tbody tr:nth-child(2){animation-delay:.03s} .msgtbl tbody tr:nth-child(3){animation-delay:.06s} .msgtbl tbody tr:nth-child(4){animation-delay:.09s} .msgtbl tbody tr:nth-child(5){animation-delay:.12s} .msgtbl tbody tr:nth-child(6){animation-delay:.15s} .msgtbl tbody tr:nth-child(7){animation-delay:.18s} .msgtbl tbody tr:nth-child(8){animation-delay:.21s}
 @media (prefers-reduced-motion:reduce){.msgtbl tbody tr{animation:none}}
 .mcell-sn{font-weight:700;white-space:nowrap}
 .mcrea{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:var(--ink)} .mav{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#0a0a12;font-weight:800;font-size:11px;display:inline-flex;align-items:center;justify-content:center;flex:none}
 .mmsg{min-width:230px;max-width:340px} .mprev{color:var(--muted);font-size:11px;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .mtext{color:var(--ink);font-weight:600;line-height:1.35}
 .mtime{white-space:nowrap;color:var(--ink)} .mdate{display:block;color:var(--muted);font-size:10px}
 .mreply{color:var(--muted);white-space:nowrap} .mprice{color:var(--ok);font-weight:700;white-space:nowrap}
 .mpv{font-size:11px;white-space:nowrap} .mpv.ok{color:var(--ok)} .mpv.no{color:var(--muted)} .mpv.dash{color:var(--muted)}
 .msrc{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap;transition:box-shadow .15s} .msrc.ia{color:var(--accent2);background:rgba(22,224,232,.12);border:1px solid rgba(22,224,232,.4);box-shadow:0 0 9px rgba(22,224,232,.22)} .msrc.hum{color:var(--accent);background:rgba(255,46,136,.12);border:1px solid rgba(255,46,136,.4);box-shadow:0 0 9px rgba(255,46,136,.2)}
 .mpv.ok{text-shadow:0 0 8px rgba(41,240,168,.45)} .mst.ok{text-shadow:0 0 8px rgba(41,240,168,.4)} .mst.un{text-shadow:0 0 8px rgba(255,46,136,.4)}
 .mst{font-size:11px} .mst.ok{color:var(--ok)} .mst.un{color:var(--accent)}
 .mlink{background:none;border:none;color:var(--accent2);cursor:pointer;font:inherit;padding:0;text-align:left;white-space:nowrap} .mlink:hover{text-decoration:underline} .mhd{color:var(--muted);font-size:10px}
 .macts{white-space:nowrap}
 .micon{background:var(--panel2);border:1px solid var(--line);border-radius:7px;color:var(--ink);cursor:pointer;font-size:13px;padding:4px 8px;margin-right:5px} .micon:hover{border-color:var(--accent2)} .micon.und{color:var(--accent)} .micon.und.off{opacity:.3;cursor:not-allowed;color:var(--muted)} .micon.und.off:hover{border-color:var(--line)}
 .msgfoot{flex:none;display:flex;flex-direction:column;align-items:center;gap:9px;padding:14px 10px 6px;color:var(--muted)}
 #msg-foot{order:2;font-size:11.5px;text-align:center}
 .msgrule{order:3;font-size:10px;text-align:center;max-width:620px;line-height:1.4;opacity:.8}
 .msgpager{order:1;display:flex;gap:5px;align-items:center;justify-content:center;flex-wrap:wrap;background:var(--panel2);border:1px solid var(--line);border-radius:13px;padding:7px 9px}
 .pgnavs,.pgnums{display:inline-flex;gap:4px;align-items:center}
 .pgnums{margin:0 3px}
 .pgb{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:8px;min-width:32px;height:32px;padding:0 8px;cursor:pointer;font-size:12.5px;font-weight:600;transition:border-color .15s,box-shadow .15s,color .15s,background .15s} .pgb:hover:not(:disabled){border-color:var(--accent2);color:var(--accent2);box-shadow:0 0 10px rgba(22,224,232,.3)}
 .pgb.on{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06121f;border-color:transparent;font-weight:800;box-shadow:0 0 14px rgba(123,92,255,.4)}
 .pgb.pgnav{font-weight:800;color:var(--muted)} .pgb.pgnav:hover:not(:disabled){color:var(--accent2)}
 .pgb:disabled{opacity:.3;cursor:not-allowed}
 .pgell{display:inline-flex;align-items:flex-end;padding:0 2px 4px;color:var(--muted);font-weight:800;letter-spacing:1px}
 .pgjump{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding-left:10px;border-left:1px solid var(--line);font-size:11.5px;color:var(--muted)}
 .pgjin{width:56px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--ink);text-align:center;font:inherit;font-size:12.5px;font-weight:700} .pgjin:focus{outline:none;border-color:var(--accent2);box-shadow:0 0 10px rgba(22,224,232,.25)}
 .pgjof{color:var(--muted)}
 @media (max-width:680px){.msgpager{gap:3px;padding:6px} .pgb{min-width:28px;height:28px;font-size:11.5px} .pgjump{margin-left:4px;padding-left:6px}}
 .msgexp{font-size:11px;padding:5px 10px;white-space:nowrap;margin-top:2px}
 /* Facturación / Billing */
 .bcwrap{height:100%;display:flex;flex-direction:column;padding:14px 18px;overflow:hidden}
 .bchead{flex:none;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
 .bctitle{display:flex;gap:11px;align-items:flex-start} .bcicon{font-size:22px;background:linear-gradient(135deg,var(--accent),var(--accent2));width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 0 16px rgba(255,46,136,.4)}
 .bcstatus{font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px;border:1px solid var(--line);white-space:nowrap} .bcstatus.on{color:var(--ok);border-color:rgba(41,240,168,.4);background:rgba(41,240,168,.1)} .bcstatus.off{color:#ffd166;border-color:rgba(255,209,102,.4);background:rgba(255,209,102,.1)}
 .bcbody{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:13px;padding-right:4px}
 .bcwarn{background:rgba(255,209,102,.1);border:1px solid rgba(255,209,102,.4);color:#ffd166;border-radius:11px;padding:10px 14px;font-size:12.5px} .bcwarn.stop{background:rgba(255,59,92,.12);border-color:rgba(255,59,92,.5);color:#ff8497}
 .bccols{display:grid;grid-template-columns:1fr 1fr;gap:13px}
 .bccard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
 .bcct{font-family:var(--font-display);font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--accent2);margin-bottom:11px} .bcsubt{font-family:var(--font-ui);font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted);font-size:10px}
 .bccredits{font-family:var(--font-display);font-size:32px;font-weight:900;color:var(--ink);line-height:1;margin-bottom:12px}
 .bcadd{background:linear-gradient(135deg,rgba(255,46,136,.20),rgba(123,92,255,.16) 45%,rgba(22,224,232,.20)),linear-gradient(110deg,transparent 30%,rgba(191,247,255,.16) 50%,transparent 70%);background-size:100% 100%,220% 100%;background-repeat:no-repeat;background-position:0 0,150% 0;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(22,224,232,.42),0 0 15px rgba(123,92,255,.24);animation:chGlowSheen 4s ease-in-out infinite;border:0;border-radius:10px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer;font-size:13px} .bcadd:hover{box-shadow:0 0 14px rgba(255,46,136,.4)}
 .bcsub2{font-size:10.5px;color:var(--muted);margin-top:11px} .bcsub2 b{color:var(--ink)}
 .bcpay{display:flex;align-items:center;gap:11px} .bcpi{font-size:22px} .bcpay b{font-size:13px} .bcmut{color:var(--muted)}
 .bctblw{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
 .bctbl{width:100%;border-collapse:collapse;font-size:12px;min-width:680px}
 .bctbl thead th{position:sticky;top:0;background:var(--panel2);color:var(--accent2);font-family:var(--font-display);font-size:9px;letter-spacing:.4px;text-transform:uppercase;text-align:left;padding:8px 11px;border-bottom:1px solid var(--line);white-space:nowrap}
 .bctbl td{padding:8px 11px;border-bottom:1px solid var(--line);color:var(--ink);white-space:nowrap} .bctbl tbody tr:hover{background:rgba(22,224,232,.04)}
 .bcrow.excluded{opacity:.6} .bcrow.reversed{opacity:.72}
 .bctype{font-size:10px;background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:1px 7px;color:var(--ink)} .bcok{color:var(--ok)}
 .bcst{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px} .bcst.charged{color:var(--ok);background:rgba(41,240,168,.12)} .bcst.exc{color:var(--muted);background:var(--panel2)} .bcst.rev{color:#ffd166;background:rgba(255,209,102,.12)}
 .bcwhy{cursor:help;color:var(--accent2);font-size:11px}
 .bclink{background:none;border:0;color:var(--accent2);cursor:pointer;font:inherit;font-size:11px;padding:0} .bclink:hover{text-decoration:underline}
 .bctag.dep{font-size:10px;background:rgba(41,240,168,.12);color:var(--ok);border-radius:6px;padding:1px 7px} .bcpos{color:var(--ok);font-weight:700} .bcconf{color:var(--ok);font-size:11px} .bcfee{color:var(--muted);font-size:10px}
 .bcassets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px} .bcasset{display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:#0c1120;border:1px solid var(--line);border-radius:9px;padding:9px 11px;cursor:pointer;color:var(--ink);font:inherit} .bcasset b{font-size:13px} .bcasset span{font-size:10px;color:var(--muted)} .bcasset.on{border-color:var(--accent2);box-shadow:0 0 0 1px var(--accent2)}
 .bcnote{font-size:10.5px;color:var(--muted);margin-top:10px;line-height:1.45;background:var(--panel2);border-radius:8px;padding:8px 10px}
 .bcrcpt{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;font-size:12px} .bcrk{color:var(--muted)} .bcrv{color:var(--ink);word-break:break-all}
 .bcrfoot{font-size:10px;color:var(--muted);margin-top:12px;border-top:1px solid var(--line);padding-top:9px;line-height:1.45}
 .bcctrow{display:flex;align-items:center;gap:8px} .bcsim{margin-left:auto;background:var(--panel2);border:1px solid var(--accent2);color:var(--accent2);border-radius:8px;padding:5px 11px;font:inherit;font-size:11px;cursor:pointer} .bcsim:hover{background:rgba(22,224,232,.1)}
 .bvchk{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-top:12px;cursor:pointer}
 .banner.paused{background:rgba(255,59,92,.12);border:1px solid rgba(255,59,92,.5);color:#ff8497;border-radius:10px;padding:10px 13px;font-size:12.5px;margin-bottom:8px}
 /* ── Facturación: MEDIDOR DE TRAMOS (escala Chispa) ── */
 .bctier{flex:none;position:relative;border-radius:16px;padding:16px 18px 15px;border:1px solid var(--line);background:radial-gradient(120% 140% at 0% 0%,rgba(22,224,232,.06),transparent 55%),var(--panel);overflow:hidden;transition:box-shadow .4s,border-color .4s}
 .bctier::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);transform:translateX(-120%);pointer-events:none}
 .bctier.awake.tlvl-1::before,.bctier.awake.tlvl-2::before,.bctier.awake.tlvl-3::before{animation:bctSheen 4.5s ease-in-out infinite}
 @keyframes bctSheen{0%{transform:translateX(-120%)}55%,100%{transform:translateX(120%)}}
 .bctier.asleep{opacity:.82;filter:saturate(.6)}
 .bctier.asleep .bctiernet,.bctier.asleep .bctierfill{opacity:.4}
 .bctier.awake.tlvl-0{border-color:rgba(22,224,232,.28);box-shadow:0 0 22px rgba(22,224,232,.1)}
 .bctier.awake.tlvl-1{border-color:rgba(22,224,232,.45);box-shadow:0 0 30px rgba(22,224,232,.16)}
 .bctier.awake.tlvl-2{border-color:rgba(255,46,136,.5);box-shadow:0 0 40px rgba(255,46,136,.2)}
 .bctier.awake.tlvl-3{border-color:rgba(255,207,77,.65);box-shadow:0 0 54px rgba(255,207,77,.28),inset 0 0 30px rgba(255,207,77,.05);animation:bctEpic 3.2s ease-in-out infinite}
 @keyframes bctEpic{0%,100%{box-shadow:0 0 44px rgba(255,207,77,.24),inset 0 0 24px rgba(255,207,77,.05)}50%{box-shadow:0 0 66px rgba(255,207,77,.4),inset 0 0 34px rgba(255,46,136,.08)}}
 .bctierhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
 .bctierlbl{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--accent2)} .bctierlbl .uii{color:var(--accent2)}
 .bctiermo{font-family:var(--font-ui);text-transform:none;letter-spacing:0;color:var(--muted);font-size:11px}
 .bctierrate{font-size:11px;font-weight:800;padding:4px 12px;border-radius:20px;border:1px solid var(--line);background:var(--panel2);color:var(--accent2);white-space:nowrap}
 .bctier.tlvl-3 .bctierrate{color:#ffcf4d;border-color:rgba(255,207,77,.5);background:rgba(255,207,77,.1)}
 .bctiernet{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}
 .bctierdollar{font-family:var(--font-display);font-size:20px;font-weight:900;color:var(--muted)}
 .bctierbig{font-family:var(--font-display);font-size:38px;font-weight:900;line-height:.9;background:linear-gradient(135deg,#5ff0ff,#ff6bb0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px rgba(22,224,232,.28))}
 .bctier.tlvl-3 .bctierbig{filter:drop-shadow(0 0 14px rgba(255,207,77,.4))}
 .bctiernetlbl{font-size:11.5px;color:var(--muted)}
 .bctiertrack{position:relative;height:14px;background:rgba(8,12,22,.75);border:1px solid var(--line);border-radius:20px;margin:26px 0 8px}
 .bctierfill{position:absolute;left:0;top:0;bottom:0;border-radius:20px;background:linear-gradient(90deg,var(--accent2),var(--accent));box-shadow:0 0 14px rgba(255,46,136,.5);transition:width 1.1s cubic-bezier(.2,.8,.25,1);overflow:hidden}
 .bctierfill::after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:translateX(-160%);animation:bctFlow 2s linear infinite}
 @keyframes bctFlow{to{transform:translateX(360%)}}
 .bctier.asleep .bctierfill::after{animation:none;opacity:0}
 .bctier.tlvl-2 .bctierfill{background:linear-gradient(90deg,#16e0e8,#ff2e88,#ff6bb0)}
 .bctier.tlvl-3 .bctierfill{background:linear-gradient(90deg,#16e0e8,#ff2e88,#ffcf4d);box-shadow:0 0 22px rgba(255,207,77,.6)}
 .bctierms{position:absolute;top:50%;transform:translate(-50%,-50%);width:2px;height:20px;background:var(--line)}
 .bctierms i{position:absolute;top:-24px;left:50%;transform:translateX(-50%);font-size:9.5px;font-weight:800;color:var(--muted);white-space:nowrap;font-style:normal;letter-spacing:.3px}
 .bctierms b{position:absolute;bottom:-3px;left:50%;transform:translate(-50%,100%);width:9px;height:9px;border-radius:50%;background:var(--panel2);border:1.5px solid var(--line)}
 .bctierms.passed{background:var(--accent)} .bctierms.passed i{color:var(--ink)} .bctierms.passed b{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px rgba(255,46,136,.7)}
 .bctierms.gold.passed{background:#ffcf4d} .bctierms.gold.passed i{color:#ffcf4d} .bctierms.gold.passed b{background:#ffcf4d;border-color:#ffcf4d;box-shadow:0 0 14px rgba(255,207,77,.9)}
 .bctierms.next b{border-color:var(--accent2);animation:bctPulse 1.6s ease-in-out infinite} @keyframes bctPulse{0%,100%{box-shadow:0 0 0 rgba(22,224,232,.5)}50%{box-shadow:0 0 12px rgba(22,224,232,.8)}}
 .bctierscale{display:flex;gap:6px;margin-top:16px}
 .bctierz{flex:1;text-align:center;font-size:10px;padding:5px 4px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);color:var(--muted);transition:.2s}
 .bctierz b{display:block;font-family:var(--font-display);font-size:13px;font-weight:900;color:var(--ink)}
 .bctierz.on{border-color:var(--accent);background:rgba(255,46,136,.1);color:var(--ink)} .bctierz.on b{color:var(--accent)}
 .bctierz.goldz.on{border-color:#ffcf4d;background:rgba(255,207,77,.12)} .bctierz.goldz.on b{color:#ffcf4d}
 .bctierfoot{display:flex;align-items:center;gap:10px;margin-top:15px;flex-wrap:wrap}
 .bctierbtn{background:linear-gradient(90deg,#ffcf4d,#ff8ac4);color:#241a02;border:0;border-radius:10px;padding:9px 16px;font:inherit;font-weight:800;font-size:12.5px;cursor:pointer;box-shadow:0 0 20px rgba(255,207,77,.45);animation:bctBtn 2.4s ease-in-out infinite} @keyframes bctBtn{0%,100%{box-shadow:0 0 18px rgba(255,207,77,.4)}50%{box-shadow:0 0 30px rgba(255,138,196,.6)}} .bctierbtn:hover{transform:translateY(-1px)}
 .bctierhint{font-size:11px;color:var(--muted);flex:1;min-width:160px} .bctierhint b{color:var(--accent2)}
 .bctiersim{margin-left:auto;background:var(--panel2);border:1px solid var(--accent2);color:var(--accent2);border-radius:8px;padding:6px 12px;font:inherit;font-size:11px;cursor:pointer} .bctiersim:hover{background:rgba(22,224,232,.1)}
 .bctierplan{font-size:11px;color:var(--muted)} .bctierplan b{color:var(--ok)}
 /* Popup de elección de plan (3% vs asiento) */
 .bcplanopts{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:6px 0 4px}
 .bcplanopt{text-align:left;background:#0c1120;border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;cursor:pointer;color:var(--ink);font:inherit;transition:.15s}
 .bcplanopt:hover{border-color:var(--accent2)} .bcplanopt.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 18px rgba(255,46,136,.2)}
 .bcplanopt .pot{font-family:var(--font-display);font-size:15px;font-weight:900;margin-bottom:3px} .bcplanopt .pod{font-size:11px;color:var(--muted);line-height:1.4;margin-bottom:9px;min-height:44px}
 .bcplanopt .pocalc{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:8px} .bcplanopt .pocalc b{font-size:17px;font-family:var(--font-display);color:var(--accent2);display:block}
 .bcplanopt.cheap .pocalc b{color:var(--ok)} .bcplanopt .pocheap{font-size:9.5px;font-weight:800;color:var(--ok);text-transform:uppercase;letter-spacing:.4px}
 .bcplanfoot{font-size:11px;color:var(--muted);background:var(--panel2);border-radius:9px;padding:9px 11px;margin-top:10px;line-height:1.45} .bcplanfoot b{color:var(--ink)}
 .bcquick{display:flex;gap:6px;margin:8px 0 2px} .bcqk{flex:1;background:var(--panel2);border:1px solid var(--line);color:var(--accent2);border-radius:8px;padding:6px 4px;font:inherit;font-size:11px;cursor:pointer} .bcqk:hover{border-color:var(--accent2);background:rgba(22,224,232,.1)}
 .bcmslist{margin:8px auto;max-width:360px;padding-left:20px;font-size:12.5px;color:var(--ink);line-height:1.9;text-align:left} .bcmslist b{color:var(--accent2)}
 /* Popups ÉPICOS de hito con Chispita levitante + glow */
 .bcepic{text-align:center;padding:2px 4px 4px;--eg:rgba(22,224,232,.55)}
 .bcepic.pink{--eg:rgba(255,46,136,.55)} .bcepic.gold{--eg:rgba(255,207,77,.62)} .bcepic.calm{--eg:rgba(124,92,255,.45)}
 .bcepic-hero{position:relative;width:132px;margin:0 auto;animation:bcLevit 3.2s ease-in-out infinite}
 .bcepic-hero .chispita{width:132px;filter:drop-shadow(0 0 24px var(--eg))}
 .bcepic-hero::before{content:"";position:absolute;inset:-16px;background:radial-gradient(circle,var(--eg),transparent 62%);opacity:.6;z-index:-1;animation:bcAura 3.2s ease-in-out infinite}
 .bcepic-hero::after{content:"";position:absolute;left:50%;bottom:-12px;width:66px;height:12px;transform:translateX(-50%);background:radial-gradient(ellipse,var(--eg),transparent 70%);opacity:.5;animation:bcShadow 3.2s ease-in-out infinite}
 @keyframes bcLevit{0%,100%{transform:translateY(-7px)}50%{transform:translateY(7px)}}
 @keyframes bcAura{0%,100%{opacity:.45;transform:scale(.92)}50%{opacity:.85;transform:scale(1.08)}}
 @keyframes bcShadow{0%,100%{transform:translateX(-50%) scale(1);opacity:.5}50%{transform:translateX(-50%) scale(.68);opacity:.3}}
 .bcepic.gold .bcepic-hero{animation:bcLevit 2.5s ease-in-out infinite}
 .bcepic.gold .bcepic-hero .chispita{filter:drop-shadow(0 0 30px var(--eg)) drop-shadow(0 0 12px rgba(255,138,196,.5))}
 .bcepic.gold .bcepic-hero::before{inset:-24px;animation:bcAura 2.5s ease-in-out infinite}
 .bcepic-title{font-family:var(--font-display);font-size:23px;font-weight:900;line-height:1.08;margin:8px 0 6px;background:linear-gradient(135deg,#5ff0ff,#ff6bb0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
 .bcepic.gold .bcepic-title{background-image:linear-gradient(135deg,#ffe58a,#ff8ac4 55%,#5ff0ff);filter:drop-shadow(0 0 12px rgba(255,207,77,.4))}
 .bcepic.calm .bcepic-title{background-image:linear-gradient(135deg,#9d8cff,#5ff0ff)}
 .bcepic-sub{font-size:12.5px;color:var(--muted);line-height:1.5;max-width:410px;margin:0 auto} .bcepic-sub b{color:var(--ink)}
 @media (prefers-reduced-motion:reduce){.bcepic-hero,.bcepic-hero::before,.bcepic-hero::after,.bctierfill::after{animation:none!important}}
 /* Métodos de pago, gestor real y persistente */
 .pmlist{display:flex;flex-direction:column;gap:8px;margin-top:2px}
 .pmrow{display:flex;align-items:center;gap:11px;background:#0c1120;border:1px solid var(--line);border-radius:11px;padding:10px 12px;transition:.15s} .pmrow.def{border-color:var(--accent2);box-shadow:0 0 0 1px rgba(22,224,232,.28)}
 .pmbrand{width:38px;height:25px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:8.5px;font-weight:900;color:#06121f;flex:none;letter-spacing:.3px}
 .pmbrand.visa{background:linear-gradient(135deg,#1a5cff,#4aa8ff)} .pmbrand.mc{background:linear-gradient(135deg,#ff5f00,#ffb648)} .pmbrand.amex{background:linear-gradient(135deg,#1aa0ff,#7fd8ff)} .pmbrand.gen{background:linear-gradient(135deg,#7b5cff,#16e0e8)} .pmbrand.crypto{background:linear-gradient(135deg,#ffcf4d,#ff8ac4);color:#241a02}
 .pminfo{flex:1;min-width:0} .pminfo b{font-size:12.5px} .pminfo span{display:block;font-size:10.5px;color:var(--muted)}
 .pmtag{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--accent2);background:rgba(22,224,232,.12);padding:2px 8px;border-radius:20px;flex:none}
 .pmact{background:none;border:0;color:var(--muted);cursor:pointer;font:inherit;font-size:11px;padding:2px 5px} .pmact:hover{color:var(--accent2)} .pmact.del:hover{color:var(--danger)}
 .pmadd{margin-top:10px;background:var(--panel2);border:1px dashed var(--accent2);color:var(--accent2);border-radius:10px;padding:9px 14px;font:inherit;font-size:12px;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:center;gap:7px} .pmadd:hover{background:rgba(22,224,232,.08)} .pmadd .bti{width:15px;height:15px}
 .pmnote{font-size:10px;color:var(--muted);margin-top:9px;line-height:1.45}
 .pmcardrow{display:flex;gap:8px} .pmcardrow>*{flex:1}
 .modal-btn:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.3)}
 /* Banner de plan asiento activo + aviso de descubierto */
 .bcseat{flex:none;border:1px solid rgba(255,207,77,.4);background:radial-gradient(120% 140% at 0% 0%,rgba(255,207,77,.08),transparent 55%),var(--panel);border-radius:14px;padding:12px 16px;box-shadow:0 0 20px rgba(255,207,77,.1)}
 .bcseat-h{font-family:var(--font-display);font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:#ffcf4d;display:flex;align-items:center;gap:8px;margin-bottom:6px} .bcseat-h .bti{width:16px;height:16px}
 .bcseat-b{font-size:12px;color:var(--muted);line-height:1.55} .bcseat-b b{color:var(--ink)}
 .bcseat-rev{color:var(--ok);font-weight:700}
 .bcseat-an{color:var(--accent2);cursor:pointer;font-weight:700;white-space:nowrap} .bcseat-an:hover{text-decoration:underline}
 .bcseatwarn{background:rgba(255,59,92,.1);border:1px solid rgba(255,59,92,.45);color:#ff9db0;border-radius:11px;padding:11px 13px;font-size:12px;line-height:1.55;margin-top:2px} .bcseatwarn b{color:#ffd0d8}
 .bcseat-rech{display:block;margin-top:9px;background:linear-gradient(135deg,rgba(255,46,136,.20),rgba(123,92,255,.16) 45%,rgba(22,224,232,.20)),linear-gradient(110deg,transparent 30%,rgba(191,247,255,.16) 50%,transparent 70%);background-size:100% 100%,220% 100%;background-repeat:no-repeat;background-position:0 0,150% 0;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(22,224,232,.42),0 0 15px rgba(123,92,255,.24);animation:chGlowSheen 4s ease-in-out infinite;border:0;border-radius:9px;padding:7px 14px;font:inherit;font-weight:700;font-size:12px;cursor:pointer} .bcseat-rech:hover{box-shadow:0 0 14px rgba(22,224,232,.4)}
 /* ── Facturación: brillo + animaciones ── */
 @keyframes bcIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
 .bcbody>*{animation:bcIn .5s cubic-bezier(.2,.7,.3,1) both}
 .bcbody>*:nth-child(2){animation-delay:.07s} .bcbody>*:nth-child(3){animation-delay:.14s} .bcbody>*:nth-child(4){animation-delay:.21s}
 .bccard{transition:border-color .18s,box-shadow .18s} .bccard:hover{border-color:rgba(22,224,232,.3);box-shadow:0 0 20px rgba(22,224,232,.08)}
 .bccredits{background:linear-gradient(135deg,#5ff0ff,#ff6bb0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 22px rgba(22,224,232,.35);animation:bcGlow 3.6s ease-in-out infinite}
 @keyframes bcGlow{0%,100%{filter:drop-shadow(0 0 5px rgba(22,224,232,.3))}50%{filter:drop-shadow(0 0 15px rgba(255,46,136,.45))}}
 .bcadd{box-shadow:0 0 16px rgba(255,46,136,.4)!important;transition:box-shadow .15s,transform .12s} .bcadd:hover{box-shadow:0 0 26px rgba(22,224,232,.6)!important;transform:translateY(-1px)} .bcadd:active{transform:translateY(1px)}
 .bctbl tbody tr{transition:background .15s,box-shadow .15s} .bctbl tbody tr:hover{background:linear-gradient(90deg,rgba(255,46,136,.06),rgba(22,224,232,.05));box-shadow:inset 2px 0 0 var(--accent2)}
 .bcwarn{box-shadow:0 0 18px rgba(255,209,102,.12)} .bcwarn.stop{box-shadow:0 0 20px rgba(255,59,92,.18)}
 .bcstatus.on{box-shadow:0 0 12px rgba(41,240,168,.25)}
 @media (prefers-reduced-motion:reduce){.bcbody>*{animation:none} .bccredits{animation:none}}
 /* ── Facturación: resumen inferior (proyección, consumo, fee por modelo) ── */
 .bccols3{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:13px}
 .bcsumtop{display:flex;align-items:center;gap:11px;margin-bottom:12px}
 .bcsumdays{font-family:var(--font-display);font-size:36px;font-weight:900;background:linear-gradient(135deg,#5ff0ff,#ff6bb0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:.95;flex:none}
 .bcsumdl{font-size:11.5px;color:var(--muted);line-height:1.3}
 .bcbar{height:9px;background:rgba(8,12,22,.7);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-bottom:9px}
 .bcbarfill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:20px;box-shadow:0 0 12px rgba(255,46,136,.5)}
 .bcsumnote{font-size:11px;color:var(--muted);line-height:1.5;margin-top:11px;border-top:1px solid var(--line);padding-top:10px} .bcsumnote b{color:var(--accent2)}
 .bcmini{padding-top:6px}
 .bcplot{position:relative;height:118px;margin-left:32px;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
 .bcgl{position:absolute;left:0;right:0;border-top:1px dashed rgba(40,52,82,.5)} .bcgl span{position:absolute;left:-32px;top:-7px;font-size:8.5px;color:var(--muted);width:28px;text-align:right}
 .bcbars{position:absolute;inset:0;display:flex;align-items:flex-end;gap:6px;padding:0 5px}
 .bcbw{flex:1;display:flex;align-items:flex-end;justify-content:center;height:100%}
 .bcb{width:72%;max-width:24px;background:linear-gradient(180deg,var(--accent2),var(--accent));border-radius:4px 4px 0 0;box-shadow:0 0 8px rgba(22,224,232,.4);transition:filter .15s} .bcb:hover{filter:brightness(1.3)}
 .bcx{display:flex;gap:6px;margin-left:32px;padding:5px 5px 0} .bcx span{flex:1;text-align:center;font-size:9px;color:var(--muted)}
 .bcfm{display:flex;align-items:center;gap:9px;margin-bottom:9px} .bcfm:last-of-type{margin-bottom:0}
 .bcfmn{width:74px;font-size:11.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none}
 .bcfmt{flex:1;height:8px;background:rgba(8,12,22,.7);border-radius:20px;overflow:hidden}
 .bcfmf{height:100%;background:linear-gradient(90deg,var(--accent),#b06cff);border-radius:20px;box-shadow:0 0 10px rgba(176,108,255,.45)}
 .bcfmv{font-size:11.5px;font-weight:700;color:var(--ok);width:46px;text-align:right;flex:none}
 /* ── Facturación: auditoría (transacciones + actividad lado a lado, filtro + paginación) ── */
 .bcaudit{display:grid;grid-template-columns:1fr 1fr;gap:13px}
 .bcaud{display:flex;flex-direction:column;min-width:0}
 .bcfilt{display:flex;gap:8px;margin-bottom:10px}
 .bcaud .bcq{flex:1;min-width:0}
 .bcstsel{flex:none;width:auto;min-width:140px}
 .bcft{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
 .bcftn{font-size:10.5px;color:var(--muted)}
 .bcexp{background:var(--panel2);border:1px solid rgba(22,224,232,.4);color:var(--accent2);border-radius:8px;padding:5px 14px;font:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s} .bcexp:hover{background:rgba(22,224,232,.1);box-shadow:0 0 12px rgba(22,224,232,.25)}
 @media(max-width:1080px){.bcaudit{grid-template-columns:1fr}}
 /* Persona */
 .pwrap{height:100%;display:flex;flex-direction:column;padding:14px 18px;overflow:hidden}
 .phead{flex:none}
 .pcols{flex:1;display:grid;grid-template-columns:1.25fr 1fr;gap:14px;min-height:0;margin-top:10px}
 .pleft{overflow-y:auto;padding-right:6px;display:flex;flex-direction:column;gap:11px;min-height:0}
 .pform{display:flex;flex-direction:column;gap:12px}
 .pside{overflow-y:auto;display:flex;flex-direction:column;gap:12px}
 .pdump{border:1px solid rgba(255,46,136,.5)!important;background:linear-gradient(160deg,rgba(255,46,136,.09),var(--panel))!important;box-shadow:0 0 24px rgba(255,46,136,.16)!important}
 .pdump .pct{font-size:14px;color:#ff5fa0}
 .pdumpbtn{width:100%;margin-top:9px;background:linear-gradient(135deg,rgba(255,46,136,.20),rgba(123,92,255,.16) 45%,rgba(22,224,232,.20)),linear-gradient(110deg,transparent 30%,rgba(191,247,255,.16) 50%,transparent 70%);background-size:100% 100%,220% 100%;background-repeat:no-repeat;background-position:0 0,150% 0;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(22,224,232,.42),0 0 15px rgba(123,92,255,.24);animation:chGlowSheen 4s ease-in-out infinite;border:0;border-radius:10px;padding:10px 16px;font:inherit;font-weight:800;font-size:13px;cursor:pointer;box-shadow:0 0 18px rgba(255,46,136,.4);transition:box-shadow .15s,transform .12s} .pdumpbtn:hover{box-shadow:0 0 26px rgba(22,224,232,.55);transform:translateY(-1px)} .pdumpbtn:active{transform:translateY(1px)}
 .pformhint{text-align:center;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:1px 0 -2px}
 .psec{background:linear-gradient(180deg,var(--panel),#0b0f1d);border:1px solid var(--line);border-left:3px solid var(--sc,var(--line));border-radius:11px;padding:13px 15px;display:none}
 .psec.show{display:block;animation:psecIn .3s cubic-bezier(.2,.7,.3,1);border-color:color-mix(in srgb,var(--sc,var(--accent2)) 38%,var(--line));box-shadow:0 0 22px color-mix(in srgb,var(--sc,var(--accent2)) 13%,transparent)}
 @keyframes psecIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
 @media (prefers-reduced-motion:reduce){.psec.show{animation:none}}
 .sc0{--sc:var(--accent)} .sc1{--sc:var(--accent2)} .sc2{--sc:#b06cff} .sc3{--sc:#ffd166} .sc4{--sc:#29f0a8} .sc5{--sc:#ff79c6}
 .psteps{position:sticky;top:0;z-index:3;display:flex;gap:5px;flex-wrap:wrap;background:var(--bg);padding:1px 0 10px;margin-bottom:1px}
 .pstep{display:flex;align-items:center;gap:6px;background:var(--panel2);border:1px solid var(--line);border-bottom:2px solid color-mix(in srgb,var(--sc,var(--line)) 60%,transparent);border-radius:9px;padding:6px 11px;cursor:pointer;color:var(--muted);font:inherit;font-size:11.5px;transition:.15s} .pstep:hover{color:var(--ink);border-color:color-mix(in srgb,var(--sc,var(--accent2)) 45%,transparent)} .pstep-i{font-size:14px;line-height:1}
 .pstep:hover{color:var(--ink);border-color:var(--sc,var(--accent2))}
 .pstep.on{color:#06121f;background:var(--sc,var(--accent));border-color:transparent;font-weight:700;box-shadow:0 0 14px color-mix(in srgb,var(--sc,var(--accent)) 50%,transparent)}
 .psn{font-family:var(--font-display);font-size:14px;letter-spacing:.5px;text-transform:uppercase;color:var(--sc,var(--accent));margin-bottom:11px;text-shadow:0 0 11px color-mix(in srgb,var(--sc,var(--accent)) 45%,transparent);display:flex;align-items:center;gap:8px}
 .pchip.on{box-shadow:0 0 11px rgba(22,224,232,.4)} .parq.on{box-shadow:0 0 12px rgba(255,46,136,.45)} .ptono.on{box-shadow:0 0 11px rgba(22,224,232,.4)}
 .pcard{transition:border-color .15s,box-shadow .15s} .pcard:hover{border-color:rgba(22,224,232,.25);box-shadow:0 0 18px rgba(22,224,232,.07)}
 .pl{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:9px 0 4px}
 .pin{width:100%;background:#0c1120;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font:inherit;font-size:12px;resize:vertical;box-sizing:border-box}
 .pin:focus{outline:none;border-color:var(--accent2)}
 .ptonos{display:flex;flex-wrap:wrap;gap:6px}
 .ptono{font-size:11px;color:var(--muted);background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:5px 11px;cursor:pointer}
 .ptono.on{color:#06121f;background:linear-gradient(90deg,var(--accent2),#57e7ee);border-color:transparent}
 .pcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px 15px}
 .pct{font-family:var(--font-display);font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--accent2);margin-bottom:10px}
 .pmini{font-family:var(--font-ui);font-size:9px;text-transform:none;letter-spacing:0;color:var(--ok)}
 .pbrain{display:flex;flex-direction:column;gap:9px}
 .brow{display:flex;flex-direction:column;gap:3px}
 .bk{font-family:monospace;font-size:10px;color:var(--accent)}
 .bv{font-size:11px;color:var(--ink);background:#0c1120;border:1px solid var(--line);border-radius:7px;padding:6px 9px;line-height:1.45}
 .pdeck{margin-top:11px;display:flex;flex-direction:column;gap:7px}
 .popt{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:7px 10px}
 .ptn{font-family:var(--font-display);font-size:10px;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:3px}
 .ptt{font-size:12px;color:var(--ink);line-height:1.4}
 .pms{font-size:10px;color:var(--muted);text-align:right;margin-top:3px}
 /* Persona, subida multimodal efímera */
 .ptup{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}
 .ptupb{font-size:11px;color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:6px 10px;cursor:pointer;transition:.15s;white-space:nowrap}
 .ptupb:hover{border-color:var(--accent2);color:var(--accent2);box-shadow:0 0 9px rgba(22,224,232,.25);transform:translateY(-1px)}
 .ptuphint{font-size:9.5px;color:var(--muted);margin-left:auto;letter-spacing:.2px}
 .ptmedia{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
 .ptmedia:empty{display:none}
 .ptchip{display:inline-flex;align-items:center;gap:7px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:4px 7px 4px 4px;max-width:200px}
 .ptth{width:30px;height:30px;border-radius:6px;object-fit:cover;flex:none}
 .ptthi{width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--bg);font-size:15px;flex:none}
 .ptcn{font-size:10.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .ptcx{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:11px;padding:0 2px;flex:none}.ptcx:hover{color:var(--accent)}
 .ptund{margin-top:10px}.ptund:empty{display:none}
 .undbox{background:color-mix(in srgb,var(--accent2) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent2) 32%,transparent);border-radius:10px;padding:9px 11px}
 .undh{font-family:var(--font-display);font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--accent2);margin-bottom:6px}
 .undr{font-size:11.5px;color:var(--ink);line-height:1.5;margin-top:4px;word-break:break-word}.undr b{color:#fff}
 .undr.err{color:#ff9b6b}.undp{color:var(--muted);font-size:10.5px}
 .undm{margin-top:3px;font-size:10px;color:var(--accent2);letter-spacing:.2px;opacity:.92}
 .pcsub{font-size:11px;color:var(--muted);margin:-4px 0 11px;line-height:1.45}
 .pauto{margin:8px 0 12px;padding:11px 12px;border:1px solid rgba(22,224,232,.3);border-radius:12px;background:linear-gradient(135deg,rgba(22,224,232,.07),rgba(123,92,255,.06))}
 .pautot{font-size:12.5px;font-weight:800;color:var(--ink);display:flex;align-items:center;gap:6px}
 .pautos{font-size:10.5px;color:var(--muted);margin:3px 0 9px;line-height:1.4}
 .pcard.glow{border-color:rgba(255,46,136,.32);box-shadow:0 0 16px rgba(255,46,136,.08)}
 .parqs{display:flex;flex-wrap:wrap;gap:6px}
 .parq{font-size:11px;color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:6px 10px;cursor:pointer;transition:.15s}
 .parq:hover{border-color:var(--accent2)}
 .parq.on{color:#06121f;background:linear-gradient(90deg,var(--accent),#ff5fa0);border-color:transparent;font-weight:700}
 .parq.dim{opacity:.4} .parq.custom{border-style:dashed;color:var(--accent2)}
 .parq.custom.on{background:linear-gradient(90deg,var(--accent2),#57e7ee);color:#06121f;opacity:1;border-style:solid}
 .pchips{display:flex;flex-wrap:wrap;gap:6px}
 .pchip{font-size:11px;color:var(--muted);background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:5px 10px;cursor:pointer}
 .pchip:hover{color:var(--ink)} .pchip.on{color:#06121f;background:linear-gradient(90deg,var(--accent2),#57e7ee);border-color:transparent;font-weight:600}
 .psegs{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;flex-wrap:wrap}
 .pseg{font-size:11px;color:var(--muted);background:var(--panel2);border:0;border-right:1px solid var(--line);padding:6px 13px;cursor:pointer}
 .pseg:last-child{border-right:0} .pseg.on{color:#06121f;background:linear-gradient(90deg,var(--accent2),#57e7ee);font-weight:600}
 .phelp{font-size:10px;color:var(--muted);font-style:italic;margin-top:6px;line-height:1.45}
 .pcheck{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink);cursor:pointer;margin:11px 0 0}
 /* pickers de emojis/kaomojis/emoticonos, tarjetas estratificadas por color (mismo lenguaje que el editor de tags) */
 .epks{display:flex;flex-direction:column;gap:9px;margin-top:4px}
 .epk{--ax:#16e0e8;border:1px solid color-mix(in srgb,var(--ax) 26%,transparent);border-left:3px solid var(--ax);border-radius:11px;padding:9px 11px 11px;background:linear-gradient(180deg,color-mix(in srgb,var(--ax) 8%,transparent),transparent 70px)}
 .epk-tog{margin:0;font-size:12px} .epk-tog b{color:var(--ax);letter-spacing:.2px} .epk-tog input{accent-color:var(--ax)}
 .epk-chips{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 8px;min-height:4px} .epk-empty{font-size:11px;color:var(--muted);font-style:italic}
 .epk-chip{display:inline-flex;align-items:center;gap:5px;font-size:14px;line-height:1;color:var(--ink);background:color-mix(in srgb,var(--ax) 13%,transparent);border:1px solid color-mix(in srgb,var(--ax) 40%,transparent);border-radius:8px;padding:5px 7px 5px 9px}
 .epk-x{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:11px;line-height:1;padding:0 1px} .epk-x:hover{color:var(--danger)}
 .epk-sel{width:100%;max-width:280px;cursor:pointer}
 .pcity-tz{display:inline-flex;align-items:center;gap:5px} .pcity-tz .tzic{width:15px;height:15px;display:inline-flex} .pcity-tz .chico{width:15px;height:15px}
 .pdobrow{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
 .pdate{max-width:175px;color-scheme:dark}
 .pdob{font-size:11px;color:var(--accent2)} .pdob i{color:var(--muted);font-style:italic}
 .prow{display:flex;gap:8px} .psel{flex:1;cursor:pointer}
 .bnote{display:block;font-size:9px;color:var(--accent2);margin-top:4px;font-family:var(--font-ui)}
 .bv.pre{line-height:1.55}
 /* Persona roster + plantillas + contenido */
 .proster{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
 .pmodel{display:flex;align-items:center;gap:8px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:5px 12px 5px 5px;cursor:pointer;transition:.15s}
 .pmodel:hover{border-color:var(--accent2)} .pmodel.on{border-color:var(--accent);box-shadow:0 0 10px rgba(255,46,136,.25)}
 .pav{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:13px;flex:none;background:linear-gradient(135deg,#1c2740,#0e1322);color:var(--accent2);border:1px solid var(--line)}
 .pav.sm{width:26px;height:26px;font-size:12px}
 .pmi{display:flex;flex-direction:column;line-height:1.15;text-align:left} .pmi b{font-size:12px;color:var(--ink)} .pmh{font-size:10px;color:var(--muted)}
 .pmsel{position:relative}
 .pmtrig{display:flex;align-items:center;gap:9px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:5px 12px 5px 5px;cursor:pointer;min-width:215px;transition:.15s}
 .pmtrig:hover{border-color:var(--accent2)}
 .pmcar{margin-left:auto;color:var(--muted);font-size:11px}
 .pmpop{position:absolute;top:calc(100% + 6px);left:0;z-index:30;background:#0c1120;border:1px solid var(--line);border-radius:11px;width:286px;box-shadow:0 10px 28px rgba(0,0,0,.55);padding:9px}
 .pmsearch{margin-bottom:8px;width:100%;box-sizing:border-box}
 .pmlist{max-height:248px;overflow-y:auto;display:flex;flex-direction:column;gap:3px}
 .pmopt{display:flex;align-items:center;gap:9px;background:transparent;border:1px solid transparent;border-radius:8px;padding:5px 8px;cursor:pointer;text-align:left;width:100%}
 .pmopt:hover{background:var(--panel2)} .pmopt.on{border-color:var(--accent)}
 .pmok{margin-left:auto;color:var(--ok);font-weight:700}
 .pmempty{font-size:11px;color:var(--muted);padding:10px;text-align:center}
 .prtools{display:flex;align-items:center;gap:9px;margin-left:auto;flex-wrap:wrap}
 .psaved{font-size:10px;color:var(--ok);opacity:.7}
 .psaved.flash{animation:psf .7s ease-out}
 @keyframes psf{0%{opacity:1;color:var(--accent2);text-shadow:0 0 8px var(--accent2)}100%{opacity:.7;color:var(--ok);text-shadow:none}}
 .prbtn{font-size:12.5px;font-weight:700;color:#06121f;background:linear-gradient(90deg,var(--accent),var(--accent2));border:0;border-radius:9px;padding:9px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;box-shadow:0 0 14px rgba(255,46,136,.32);transition:box-shadow .15s,transform .12s} .prbtn:hover{box-shadow:0 0 22px rgba(22,224,232,.55);transform:translateY(-1px)} .prbtn .bti{width:15px;height:15px}
 .prbtn:hover{background:rgba(22,224,232,.1)}
 .nogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:6px}
 .nogrid .pchip{text-align:left;display:flex;align-items:center;gap:5px}
 .nogrid .pchip.on{background:linear-gradient(90deg,#ff2e55,#ff6a86);color:#fff;border-color:transparent;font-weight:600}
 .nogrid .pchip.on::before{content:"⊘ "}
 .sbty{font-size:11px;color:var(--muted);background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:4px 10px;cursor:pointer}
 .sbty.on{color:#06121f;background:linear-gradient(90deg,var(--accent2),#57e7ee)} .sbty:hover{color:var(--ink)}
 .sbcat i{font-style:normal;opacity:.55;font-size:9px}
 .sbcatn{position:absolute;top:3px;left:3px;font-size:8px;color:var(--muted);background:rgba(8,11,20,.72);border:1px solid var(--line);border-radius:4px;padding:1px 4px}
 .sbcatn.multi{color:var(--accent2);border-color:rgba(22,224,232,.45)} .sbcatn.warn{color:var(--danger);border-color:rgba(255,59,92,.45)}
 .composer{padding:12px 14px;border-top:1px solid var(--line);display:flex;gap:9px;align-items:center}
 .composer input{flex:1;background:var(--panel2);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px}
 .composer input:focus{outline:none;border-color:var(--accent2);box-shadow:var(--glow-cyan)}
 /* Composer v2, traducción + barra de herramientas */
 .composer2{border-top:1px solid var(--line);padding:9px 12px 11px;display:flex;flex-direction:column;gap:8px}
 .cf-tr{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:rgba(22,224,232,.05);border:1px solid rgba(22,224,232,.22);border-radius:9px;padding:7px 10px} .cf-tr[hidden]{display:none} .cf-attach[hidden]{display:none} .cf-trl{font-size:11px;color:var(--muted)} .cf-lang{max-width:130px} .cf-tb{background:var(--panel2);border:1px solid var(--line);color:var(--ink);border-radius:7px;padding:4px 10px;font:inherit;font-size:11.5px;cursor:pointer} .cf-tb:hover:not(:disabled){border-color:var(--accent2)} .cf-tb:disabled{opacity:.4;cursor:default} .cf-tb.send{background:linear-gradient(135deg,rgba(255,46,136,.20),rgba(123,92,255,.16) 45%,rgba(22,224,232,.20)),linear-gradient(110deg,transparent 30%,rgba(191,247,255,.16) 50%,transparent 70%);background-size:100% 100%,220% 100%;background-repeat:no-repeat;background-position:0 0,150% 0;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(22,224,232,.42),0 0 15px rgba(123,92,255,.24);animation:chGlowSheen 4s ease-in-out infinite;border:0;font-weight:800} .cf-prev{flex:1;min-width:120px;font-size:12px;color:#bfe6ea;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .cf-attach{display:flex;flex-direction:column;align-items:stretch;gap:6px} .cf-chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink);background:color-mix(in srgb,#3dff8f 12%,transparent);border:1px solid color-mix(in srgb,#3dff8f 40%,transparent);border-radius:8px;padding:3px 7px} .cf-chip b{color:var(--ok)} .cf-chip button{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:11px} .cf-chip button:hover{color:var(--danger)}
 .cf-chip.hasimg{padding:3px 7px 3px 3px} .cf-chth{position:relative;width:26px;height:26px;border-radius:6px;overflow:hidden;flex:none;background:#0a0f1d;display:inline-grid;place-items:center} .cf-chth img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover} .cf-chplay{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:10px;text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none} .cf-chlb{white-space:nowrap}
 /* Herramientas ABAJO de la textarea, en la misma fila que Enviar (send empujado a la derecha). */
 .cf-tools{display:flex;align-items:center;gap:5px;flex-wrap:wrap} .cf-tool{width:32px;height:32px;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:8px;cursor:pointer;font-size:15px;color:var(--muted)} .cf-tool:hover{color:var(--ink);border-color:var(--accent2)} .cf-tool.on{border-color:var(--accent2);background:rgba(22,224,232,.12)} .cf-tool .bti{width:16px;height:16px} .cf-tool .chico{width:16px;height:16px}
 .composer2>.cf-tawrap{flex:0 0 auto} .cf-tawrap .cf-in{width:100%;display:block} .cf-in{background:var(--panel2);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;resize:none;line-height:1.4;min-height:40px;max-height:140px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;cursor:text} .cf-in:focus{outline:none;border-color:var(--accent2);box-shadow:var(--glow-cyan)}
 .cf-in.cf-empty:before{content:attr(data-ph);color:var(--muted);pointer-events:none} .cf-in br:only-child{content:''}
 /* Barra de formato del chat (misma estética que el editor de posts) */
 .cf-fmtbar{display:flex;align-items:center;gap:4px;padding:5px 6px;margin-bottom:6px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;flex-wrap:wrap} .cf-fmtbar[hidden]{display:none}
 .cf-fmtb{min-width:30px;height:28px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;gap:2px;background:transparent;border:1px solid transparent;border-radius:7px;color:var(--muted);cursor:pointer;font-size:14px;line-height:1} .cf-fmtb:hover{color:var(--ink);background:rgba(22,224,232,.10);border-color:var(--line)} .cf-fmtb.on{color:var(--ink);border-color:var(--accent2)}
 .cf-fmtcaret{font-size:9px;opacity:.7} .cf-fmtsep{width:1px;height:18px;background:var(--line);margin:0 3px} .cf-fmtcircle{width:15px;height:15px;border-radius:50%;background:conic-gradient(#4bc0ff,#1b9be0,#7b5cff,#ff2e88,#4bc0ff);display:inline-block;box-shadow:0 0 0 1px rgba(255,255,255,.15) inset}
 .cf-tools .cf-send{margin-left:auto;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.6px;text-transform:uppercase;cursor:pointer;border:0;color:#06121f;background:linear-gradient(90deg,var(--accent),var(--accent2));padding:9px 18px;border-radius:9px;height:32px;box-shadow:0 0 10px rgba(22,224,232,.4);white-space:nowrap;display:inline-flex;align-items:center;gap:6px} .cf-tools .cf-send:hover{box-shadow:0 0 16px rgba(22,224,232,.6)} .cf-send .bti{width:14px;height:14px}
 .cf-pop{position:fixed;z-index:120;background:#0c1120;border:1px solid var(--accent2);border-radius:11px;padding:9px;box-shadow:0 12px 40px rgba(0,0,0,.6);max-width:320px;max-height:260px;overflow-y:auto}
 /* TIMER (programados/recordatorios) */
 .cf-pop:has(.cf-tmr){max-width:340px;max-height:420px} .cf-tmr{width:318px;display:flex;flex-direction:column;gap:8px}
 .cf-tmr-tabs{display:flex;gap:5px} .cf-tmr-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:7px 6px;font:inherit;font-size:11.5px;font-weight:700;color:var(--muted);cursor:pointer} .cf-tmr-tab .bti{width:13px;height:13px} .cf-tmr-tab.on{color:var(--ink);border-color:var(--accent2);background:rgba(22,224,232,.1)}
 .cf-tmr-hint{font-size:10.5px;color:var(--muted);line-height:1.35}
 .cf-tmr-sc{display:flex;flex-wrap:wrap;gap:5px} .cf-tmr-scb{background:var(--panel2);border:1px solid var(--line);border-radius:20px;padding:4px 10px;font:inherit;font-size:11px;color:var(--ink);cursor:pointer} .cf-tmr-scb:hover{border-color:var(--accent2)} .cf-tmr-scb.on{background:rgba(123,92,255,.18);border-color:rgba(123,92,255,.55);color:#c9baff}
 .cf-tmr-notein{width:100%;background:var(--panel2);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:7px 9px;font:inherit;font-size:12.5px} .cf-tmr-notein:focus{outline:none;border-color:var(--accent2)}
 /* Selector de tiempo propio (sin calendario): relativo + día + HH:MM editables minuto a minuto */
 .cf-tmr-when2{display:flex;flex-direction:column;gap:7px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:9px 10px} .cf-tmr-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap} .cf-tmr-lb{font-size:11.5px;color:var(--muted)} .cf-tmr-u{font-size:11.5px;color:var(--muted);margin-left:-1px}
 .cf-tmr-nin{width:52px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:5px 6px;font:inherit;font-size:13px;text-align:center;font-variant-numeric:tabular-nums} .cf-tmr-nin:focus{outline:none;border-color:var(--accent2)}
 .cf-tmr-day{flex:1;min-width:120px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:5px 8px;font:inherit;font-size:12.5px;cursor:pointer} .cf-tmr-day:focus{outline:none;border-color:var(--accent2)}
 .cf-tmr-prev{font-size:11.5px;color:#bfe6ea;font-weight:600;padding-top:2px;border-top:1px dashed var(--line);margin-top:1px;padding-top:6px} .cf-tmr-prev b{color:var(--accent2)}
 .cf-tmr-go{width:100%;background:linear-gradient(135deg,rgba(255,46,136,.2),rgba(123,92,255,.18) 45%,rgba(22,224,232,.2));color:var(--ink);border:1px solid rgba(22,224,232,.4);border-radius:9px;padding:8px;font:inherit;font-size:12.5px;font-weight:800;cursor:pointer} .cf-tmr-go:hover{box-shadow:0 0 14px rgba(123,92,255,.3)}
 .cf-tmr-list{border-top:1px solid var(--line);padding-top:7px;display:flex;flex-direction:column;gap:5px} .cf-tmr-ll{font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);font-weight:700}
 .cf-tmr-it{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:5px 8px} .cf-tmr-itl{min-width:0;display:flex;flex-direction:column;gap:1px} .cf-tmr-itk{font-size:9.5px;font-weight:800;color:var(--accent2);display:inline-flex;align-items:center;gap:4px}.cf-tmr-itk .chico{width:11px;height:11px} .cf-tmr-itw{font-size:11px;color:#cfe;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px} .cf-tmr-itr{display:flex;align-items:center;gap:6px;flex:none} .cf-tmr-itt{font-size:10.5px;color:#bfe6ea;font-weight:700} .cf-tmr-x{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:11px}.cf-tmr-x:hover{color:var(--danger)}
 .cv-sched{display:inline-flex;align-items:center;gap:2px;background:rgba(123,92,255,.16);border:1px solid rgba(123,92,255,.45);color:#c9baff;font-size:8.5px;font-weight:800;border-radius:6px;padding:1px 5px;margin-left:2px;white-space:nowrap} .cv-sched .chico{width:9px;height:9px}
 /* Línea compacta de programados encima del compositor */
 .cf-schedbar{display:flex;align-items:center;gap:8px;background:linear-gradient(90deg,rgba(123,92,255,.14),rgba(22,224,232,.08));border:1px solid rgba(123,92,255,.4);border-radius:9px;padding:5px 10px;margin-bottom:7px;cursor:pointer;font-size:12px} .cf-schedbar:hover{border-color:var(--accent2)} .cf-sb-i{display:inline-flex;color:#c9baff}.cf-sb-i .chico{width:14px;height:14px} .cf-sb-l{color:var(--ink);font-weight:700} .cf-sb-c{color:#bfe6ea;font-weight:700;font-variant-numeric:tabular-nums;margin-left:auto} .cf-sb-go{display:inline-flex;color:var(--accent2)}.cf-sb-go .chico{width:14px;height:14px}
 /* Panel de gestión de programados (reusa .arc-*) */
 .sch-it{background:var(--panel2);border:1px solid var(--line);border-left:3px solid #7b5cff;border-radius:9px;padding:8px 11px} .sch-cd{font-size:11px;color:#c9baff;font-weight:800;font-variant-numeric:tabular-nums} .sch-when{font-size:10px;color:var(--muted);margin-left:auto}
 .sch-acts{display:flex;gap:7px;margin-top:8px} .sch-cancel,.sch-firenow{display:inline-flex;align-items:center;gap:5px;border-radius:7px;padding:5px 11px;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;border:1px solid var(--line);background:var(--panel)} .sch-cancel{color:#ff8ea1;border-color:rgba(255,90,116,.4)} .sch-cancel:hover{background:rgba(255,90,116,.12)} .sch-firenow{color:#3ddc97;border-color:rgba(61,220,151,.4)} .sch-firenow:hover{background:rgba(61,220,151,.12)} .sch-firenow:disabled{opacity:.5;cursor:default} .sch-cancel .chico,.sch-firenow .chico{width:13px;height:13px}
 /* REGISTRO INMORTAL (panel de revisión) */
 .arc-wrap{display:flex;flex-direction:column;gap:10px;min-width:min(560px,86vw);max-width:640px} .arc-note{font-size:11.5px;color:#bcdfe6;line-height:1.4;background:rgba(22,224,232,.06);border:1px solid rgba(22,224,232,.2);border-radius:9px;padding:8px 11px;display:flex;align-items:flex-start;gap:7px}.arc-note .bti{width:15px;height:15px;color:var(--accent2);flex:none;margin-top:1px}
 .arc-tabs{display:flex;gap:6px;flex-wrap:wrap} .arc-tab{background:var(--panel2);border:1px solid var(--line);border-radius:20px;padding:5px 12px;font:inherit;font-size:11.5px;color:var(--muted);cursor:pointer} .arc-tab:hover{border-color:var(--accent2)} .arc-tab.on{color:var(--ink);border-color:var(--accent2);background:rgba(22,224,232,.1)}
 .arc-list{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow-y:auto;padding-right:3px} .arc-empty{font-size:12px;color:var(--muted);font-style:italic;padding:20px;text-align:center}
 .arc-it{background:var(--panel2);border:1px solid var(--line);border-left-width:3px;border-radius:9px;padding:8px 11px} .arc-it.arc-del{border-left-color:#ff5a74} .arc-it.arc-err{border-left-color:#ffb23e} .arc-it.arc-ok{border-left-color:#3ddc97}
 .arc-ithd{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px} .arc-badge{font-size:9.5px;font-weight:800;letter-spacing:.3px;border-radius:6px;padding:2px 7px} .arc-badge.arc-del{background:rgba(255,90,116,.15);color:#ff8ea1;border:1px solid rgba(255,90,116,.4)} .arc-badge.arc-err{background:rgba(255,178,62,.14);color:#ffc879;border:1px solid rgba(255,178,62,.4)} .arc-badge.arc-ok{background:rgba(61,220,151,.13);color:#5fe0b0;border:1px solid rgba(61,220,151,.4)}
 .arc-when{font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums} .arc-ittx{font-size:12.5px;color:var(--ink);line-height:1.4;word-break:break-word} .arc-nomsg{color:var(--muted)}
 .arc-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px} .arc-tag{font-size:10px;color:#c9baff;background:rgba(123,92,255,.12);border:1px solid rgba(123,92,255,.35);border-radius:12px;padding:1px 7px}
 .arc-itmeta{display:flex;align-items:center;gap:9px;margin-top:6px;flex-wrap:wrap} .arc-m{font-size:10.5px;color:#bcdfe6;display:inline-flex;align-items:center;gap:3px}.arc-m .chico{width:12px;height:12px} .arc-m.arc-price{color:#3ddc97;font-weight:800} .arc-mid{font-size:9.5px;color:var(--muted);font-family:ui-monospace,monospace;margin-left:auto} .cfp-g{margin-bottom:7px} .cfp-gl{font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:5px} .cfp-em{display:grid;grid-template-columns:repeat(7,1fr);gap:3px} .cfp-e{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:4px 0;font-size:15px;cursor:pointer;line-height:1} .cfp-e:hover{border-color:var(--accent2)} .cfp-row{display:block;width:100%;text-align:left;background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:6px 9px;font:inherit;font-size:12px;color:var(--ink);cursor:pointer;margin-bottom:4px} .cfp-row:hover{border-color:var(--accent2)} .cfp-row b{color:var(--ok)} .cfp-empty{font-size:11px;color:var(--muted);font-style:italic;padding:4px}
 .mtr-line{margin:3px 0 0 44px;font-size:12.5px;color:#bfe6ea;background:rgba(22,224,232,.06);border-left:2px solid var(--accent2);border-radius:0 7px 7px 0;padding:5px 10px;max-width:min(78%,560px)} .mtr-tag{font-size:9px;font-weight:700;color:var(--accent2);margin-right:5px}
 .btn{font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:1px solid var(--accent2);color:#06121f;background:linear-gradient(90deg,var(--accent2),#57e7ee);padding:10px 16px;border-radius:10px;box-shadow:0 0 10px rgba(22,224,232,.45);transition:transform .1s,box-shadow .15s;white-space:nowrap}
 .btn:hover{box-shadow:0 0 18px rgba(22,224,232,.8)} .btn:active{transform:scale(.97)} .btn[disabled]{opacity:.5;cursor:default;box-shadow:none}
 /* auto switch */
 .sw{display:inline-flex;align-items:center;gap:8px;margin-left:auto;font-size:12px;color:var(--muted);cursor:pointer;user-select:none}
 .sw .tr{width:42px;height:22px;border-radius:999px;background:#161d31;border:1px solid var(--line);position:relative;transition:.18s}
 .sw .kb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#6c7a9c;transition:.18s}
 .sw.on .tr{background:linear-gradient(90deg,rgba(255,46,136,.4),rgba(255,46,136,.22));border-color:var(--accent);box-shadow:0 0 10px rgba(255,46,136,.5)}
 .sw.on .kb{left:22px;background:radial-gradient(circle at 35% 30%,#fff,var(--accent))} .sw.on b{color:var(--accent)}
 .pad{padding:14px 16px;overflow-y:auto}
 .kv{display:flex;justify-content:space-between;font-size:13px;padding:5px 0;border-bottom:1px dashed rgba(32,42,68,.6)}
 .kv span{color:var(--muted)} .kv b{color:var(--ink)}
 .notes{font-size:12.5px;color:var(--muted);margin-top:10px;line-height:1.5}
 .banner{margin:10px 0;padding:9px 11px;border-radius:9px;font-size:12.5px}
 .banner.caso{background:rgba(255,209,102,.08);border:1px solid rgba(255,209,102,.35);color:#ffd166}
 .banner.alert{background:rgba(255,59,92,.08);border:1px solid rgba(255,59,92,.4);color:#ff8fa3}
 .banner.auto{background:rgba(255,46,136,.08);border:1px solid rgba(255,46,136,.35);color:#ff8fc0}
 .banner.handoff{background:linear-gradient(120deg,rgba(123,92,255,.12),rgba(22,224,232,.08));border:1px solid rgba(123,92,255,.42);color:#cbd8ff;line-height:1.45;margin-bottom:10px} .banner.handoff .bti{width:14px;height:14px;vertical-align:-2px;color:var(--accent2)}
 .deck-h{font-family:var(--font-display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);text-shadow:var(--glow-accent);margin:16px 0 4px;display:flex;align-items:center;gap:8px}
 .deck-h .ms{margin-left:auto;font-family:var(--font-ui);font-size:11px;color:var(--muted);letter-spacing:0;text-transform:none}
 .card{background:var(--panel2);border:1px solid var(--line);border-left:3px solid var(--tc,var(--accent2));border-radius:10px;padding:10px 12px;margin-top:9px;cursor:pointer;transition:box-shadow .15s,transform .1s}
 .card:hover{box-shadow:0 0 14px rgba(22,224,232,.25);transform:translateX(2px)}
 .card .t{font-family:var(--font-display);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--tc,var(--accent2));margin-bottom:4px}
 .card .x{font-size:13.5px;line-height:1.5} .card .send{font-size:10px;color:var(--muted);margin-top:6px}
 .empty{color:var(--muted);font-size:13px;text-align:center;padding:40px 16px}
 .spin{display:inline-block;width:13px;height:13px;border:2px solid rgba(22,224,232,.3);border-top-color:var(--accent2);border-radius:50%;animation:s .7s linear infinite;vertical-align:-2px} @keyframes s{to{transform:rotate(360deg)}}
 /* placeholder modules */
 .ph{height:100%;display:grid;place-items:center;padding:30px}
 .ph .card2{max-width:520px;text-align:center;background:linear-gradient(180deg,var(--panel),#0b0f1d);border:1px solid var(--line);border-radius:var(--radius);padding:34px 30px;
 clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px))}
 .ph .ic{font-size:40px;filter:drop-shadow(0 0 12px rgba(22,224,232,.5))}
 .ph h3{font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent;margin:14px 0 6px}
 .ph p{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 14px}
 .ph .soon2{font-family:var(--font-display);font-size:10px;letter-spacing:2px;color:var(--accent2);border:1px solid rgba(22,224,232,.4);border-radius:6px;padding:5px 12px;text-transform:uppercase}
 ::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#1d2740;border-radius:4px}
 /* ── Conexión (revamp Chispa) ── */
 @keyframes cxpulse{0%,100%{box-shadow:0 0 0 0 rgba(124,92,255,.55)}50%{box-shadow:0 0 0 7px rgba(124,92,255,0)}}
 @keyframes cxfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
 .cxwrap{max-width:840px;margin:0 auto;padding:6px 4px}
 .cxbtn{position:relative;display:inline-flex;align-items:center;gap:7px;border:0;border-radius:11px;padding:9px 15px;font:inherit;font-size:13px;font-weight:700;color:#fff;cursor:pointer;background:linear-gradient(135deg,#16e0e8,#7b5cff 55%,#ff2e88);box-shadow:0 6px 20px rgba(124,92,255,.32);transition:transform .14s,box-shadow .2s,filter .2s}
 .cxbtn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(124,92,255,.5);filter:brightness(1.08)}
 .cxbtn:active{transform:translateY(0)}
 .cxbtn .cxi{width:15px;height:15px;display:inline-flex}.cxbtn .cxi svg{width:15px;height:15px}
 .cxbtn.busy{animation:cxpulse 1.3s infinite;pointer-events:none;opacity:.9}
 .cxbtn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink);box-shadow:none}
 .cxbtn.ghost:hover{border-color:var(--accent2);box-shadow:none}
 .cxbtn.warn{background:linear-gradient(135deg,#f97316,#ff2e88)}
 .cxrow{display:flex;align-items:center;gap:14px;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);margin-bottom:10px;transition:border-color .18s,box-shadow .18s}
 .cxrow:hover{border-color:rgba(124,92,255,.5);box-shadow:0 6px 22px rgba(124,92,255,.14)}
 .cxav{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;flex:0 0 auto;box-shadow:0 0 0 2px rgba(255,255,255,.06)}
 .cxsw{position:relative;margin:16px 0 18px}
 .cxsw .cxsi{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:16px;height:16px;opacity:.65;pointer-events:none}
 .cxsearch{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:11px 14px 11px 40px;color:var(--ink);font:inherit;font-size:14px}
 .cxsearch:focus{outline:0;border-color:var(--accent2);box-shadow:0 0 0 3px rgba(22,224,232,.12)}
 .cxhero{position:relative;overflow:hidden;border:1px solid rgba(124,92,255,.32);border-radius:18px;background:linear-gradient(135deg,rgba(22,224,232,.08),rgba(124,92,255,.1) 52%,rgba(255,46,136,.08));padding:20px 22px;display:flex;align-items:center;gap:18px;margin:14px 0 4px}
 .cxhero .cxheroic{width:52px;height:52px;flex:0 0 auto;animation:cxfloat 3.4s ease-in-out infinite}.cxhero .cxheroic svg{width:52px;height:52px}
 .cxbig{font-size:28px;font-weight:800;background:linear-gradient(135deg,#16e0e8,#7b5cff,#ff2e88);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
 .cxstat{flex:1;border:1px solid var(--line);border-radius:16px;background:var(--panel2);padding:15px 18px}
 .cxstepn{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:#fff;background:linear-gradient(135deg,#16e0e8,#7b5cff);box-shadow:0 4px 14px rgba(124,92,255,.35);margin-bottom:8px}
 .cxpill{font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px}
 /* Panel de soporte en tiempo real (equipo Chispa) */
 .supbtn,.setbtn{margin-left:0} /* solo el 1er reloadbtn (⟳) lleva el margin-left:auto que alinea el grupo a la derecha; los demás no, para no partir la barra */
 .supbtn{position:relative} .supbtn #supIco,.supbtn #handoffIco{display:inline-flex;width:16px;height:16px} .supbtn #supIco .chico,.supbtn #handoffIco .chico{width:16px;height:16px} .supbadge{position:absolute;top:-5px;right:-5px;min-width:15px;height:15px;padding:0 4px;border-radius:8px;background:var(--danger);color:#fff;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center}
 .radarbtn #radarIco{display:inline-flex;width:16px;height:16px} .radarbtn #radarIco .chico{width:16px;height:16px} .radarbtn.hot #radarIco{color:#ffb020} .radbadge{background:linear-gradient(135deg,#ff2e88,#ffb020)!important}
 .rad-panel{position:fixed;z-index:9000;width:344px;max-width:calc(100vw - 16px);max-height:72vh;overflow:hidden;background:var(--panel2);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.55);display:flex;flex-direction:column}
 .rad-hd{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)} .rad-hd b{font-size:14px} .rad-live{font-size:11px;color:#2fe08a;font-weight:700}
 .rad-list{overflow-y:auto;padding:6px} .rad-empty{padding:28px 18px;text-align:center;color:var(--muted);font-size:12.5px;line-height:1.55}
 .rad-row{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:10px} .rad-row:hover{background:var(--panel)}
 .rad-ic{flex:0 0 auto;width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:#04121f} .rad-ppv{background:linear-gradient(135deg,#16e0e8,#7b5cff)} .rad-tip{background:linear-gradient(135deg,#ffb020,#ff2e88)} .rad-sub{background:linear-gradient(135deg,#7b5cff,#ff2e88)}
 .rad-m{flex:1;min-width:0} .rad-t{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .rad-amt{color:var(--ink);font-weight:800} .rad-net{color:var(--muted);font-size:11px} .rad-s{font-size:11px;color:var(--muted);margin-top:1px}
 .rad-cta{flex:0 0 auto;background:linear-gradient(90deg,#ff2e88,#7b5cff);border:0;color:#fff;font:inherit;font-size:11.5px;font-weight:700;border-radius:8px;padding:6px 11px;cursor:pointer} .rad-cta:hover{filter:brightness(1.1)}
 .sup-panel{position:fixed;right:18px;top:60px;width:340px;max-width:calc(100vw - 36px);height:460px;max-height:calc(100vh - 90px);background:var(--panel);border:1px solid rgba(123,92,255,.4);border-radius:15px;box-shadow:0 18px 50px rgba(0,0,0,.5),0 0 22px rgba(123,92,255,.16);display:flex;flex-direction:column;z-index:60;overflow:hidden;animation:supin .18s ease-out}
 @keyframes supin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
 .sup-h{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,rgba(255,46,136,.06),rgba(22,224,232,.04))} .sup-back{cursor:pointer;color:var(--muted);font-size:20px;line-height:1;padding:0 4px;border-radius:6px} .sup-back:hover{color:var(--ink)} .sup-ht{display:flex;align-items:center;gap:7px;font-family:var(--font-display);font-weight:800;font-size:13px;letter-spacing:.04em;flex:1;min-width:0} .sup-ht #supTitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .sup-ht .bti{width:15px;height:15px;color:var(--accent2);flex:none} .sup-x{background:none;border:0;color:var(--muted);cursor:pointer;font-size:15px;line-height:1;padding:2px 5px;border-radius:6px;flex:none} .sup-x:hover{color:var(--ink);background:rgba(255,255,255,.06)}
 .sup-body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}
 .sup-sub{font-size:11px;color:var(--muted);padding:10px 14px 6px;line-height:1.4}
 .sup-new{margin:2px 12px 8px;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px;border:1px dashed rgba(123,92,255,.5);background:rgba(123,92,255,.08);color:#c9d3ff;border-radius:10px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer} .sup-new:hover{border-color:var(--accent2);background:rgba(22,224,232,.08)} .sup-plus{font-size:15px;font-weight:800}
 .sup-list{flex:1;overflow-y:auto;padding:0 10px 10px;display:flex;flex-direction:column;gap:5px}
 .sup-conv{text-align:left;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;width:100%;transition:border-color .15s} .sup-conv:hover{border-color:var(--accent2)} .sup-cv-s{font-weight:700;font-size:12.5px;color:var(--ink);display:flex;align-items:center;gap:6px} .sup-cv-cl{font-size:9px;font-weight:800;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:0 4px} .sup-cv-l{font-size:11px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .sup-newf{padding:14px} .sup-lbl{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:6px} .sup-subin{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:10px;color:var(--ink);font:inherit;font-size:13px;padding:9px 11px;outline:none} .sup-subin:focus{border-color:var(--accent2)} .sup-nf-h{font-size:11px;color:var(--muted);margin:7px 0 12px;line-height:1.4} .sup-nf-a{display:flex;gap:8px;justify-content:flex-end} .sup-btn{background:var(--accent2);border:0;color:#04140f;font:inherit;font-weight:700;font-size:12.5px;border-radius:9px;padding:8px 15px;cursor:pointer} .sup-btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)} .sup-btn:hover{filter:brightness(1.06)}
 .sup-msgs{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:7px}
 .sup-m{display:flex} .sup-m.me{justify-content:flex-end} .sup-b{max-width:82%;padding:7px 10px;border-radius:12px;font-size:13px;line-height:1.4;white-space:pre-wrap;word-break:break-word;display:flex;flex-direction:column;gap:5px} .sup-m.me .sup-b{background:rgba(123,92,255,.22);border:1px solid rgba(123,92,255,.35);color:var(--ink);border-bottom-right-radius:4px} .sup-m.dev .sup-b{background:var(--panel2);border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:4px} .sup-img{max-width:100%;border-radius:8px;display:block} .sup-tx{white-space:pre-wrap}
 .sup-att{display:flex;gap:6px;padding:6px 12px;flex-wrap:wrap;border-top:1px solid var(--line)} .sup-thumb{position:relative;width:46px;height:46px;border-radius:8px;overflow:hidden;border:1px solid var(--line)} .sup-thumb img{width:100%;height:100%;object-fit:cover} .sup-thumb button{position:absolute;top:1px;right:1px;width:15px;height:15px;border:0;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;font-size:9px;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}
 .sup-in{display:flex;gap:7px;padding:10px 12px;border-top:1px solid var(--line);align-items:flex-end} .sup-clip{flex:none;width:34px;height:34px;border:1px solid var(--line);background:var(--panel2);border-radius:9px;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center} .sup-clip:hover{border-color:var(--accent2);color:var(--ink)} .sup-clip .bti{width:15px;height:15px} .sup-in textarea{flex:1;background:var(--panel2);border:1px solid var(--line);border-radius:10px;color:var(--ink);font:inherit;font-size:13px;padding:8px 11px;resize:none;max-height:90px;outline:none} .sup-in textarea:focus{border-color:var(--accent2)} .sup-send{flex:none;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;cursor:pointer;background:var(--panel2);color:var(--accent2);display:inline-flex;align-items:center;justify-content:center} .sup-send .bti{width:15px;height:15px} .sup-send:hover{border-color:var(--accent2);background:rgba(22,224,232,.1)}
 .cxsteps{display:inline-flex;align-items:center;gap:6px;background:rgba(123,92,255,.14);border:1px solid rgba(123,92,255,.34);color:#c9d3ff;font:inherit;font-size:11.5px;font-weight:700;border-radius:10px;padding:7px 11px;cursor:pointer;transition:border-color .15s,background .15s} .cxsteps:hover{border-color:var(--accent2)} .cxsteps .bti{width:13px;height:13px;flex:none;color:var(--accent2)} .cxsteps.done{background:rgba(41,240,168,.12);border-color:rgba(41,240,168,.4);color:#9ff0cf} .cxsteps.done .bti{color:#29f0a8}
 .cxpills{margin-top:4px;display:flex;gap:6px;flex-wrap:wrap;align-items:center} .cxwifi{display:inline-flex;width:14px;height:14px;color:#29f0a8} .cxwifi .chico{width:14px;height:14px} .cxdemo{font-size:10px;color:var(--muted);align-self:center} .cxnoperm{font-size:12px;color:var(--muted);font-style:italic} .cxrow-acts{display:flex;gap:8px;flex:0 0 auto;align-items:center;flex-wrap:wrap;justify-content:flex-end} .cxbtn.ghost.cxdisc{color:#ff8fa3} .cxbtn.ghost.cxdisc:hover{border-color:var(--danger);box-shadow:none}
 .sw.sw-locked{opacity:.6;position:relative} .sw.sw-locked .tr{filter:grayscale(.6)} .sw-lk{position:absolute;right:-4px;top:-7px;font-size:9px;display:inline-flex} .sw-lk .chico,.sw-lk .bti{width:11px;height:11px;color:#ffd166}
 @media(prefers-reduced-motion:reduce){.cxbtn.busy,.cxhero .cxheroic{animation:none}}
 /* glifos Chispa inline en encabezados/botones */
 .psni{display:inline-flex;width:17px;height:17px;vertical-align:-3px;margin-right:7px}.psni svg{width:17px;height:17px}
 .pstep-i svg{width:19px;height:19px;display:block}
 .uii{display:inline-flex;width:15px;height:15px;vertical-align:-2px;margin-right:5px}.uii svg{width:15px;height:15px}
 .eqsi svg{width:18px;height:18px;vertical-align:-3px}
 .bti{display:inline-flex;width:14px;height:14px;vertical-align:-2px}.bti svg{width:14px;height:14px}
 .rh-ii svg{width:26px;height:26px}
 .am-ci svg,.mm-att svg{width:15px;height:15px;vertical-align:-2px}
 /* Chips de icono de plantilla con COLOR propio (--ci): fondo tintado + aro + glow del acento de cada modalidad. */
 .cm-ti,.cm-si,.amx-hic,.cm-mi{display:inline-grid;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--ci,#16e0e8) 15%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ci,#16e0e8) 45%,transparent),0 0 12px color-mix(in srgb,var(--ci,#16e0e8) 22%,transparent);flex:none}
 .cm-ti{width:38px;height:38px}.cm-ti svg{width:22px;height:22px}
 .cm-si{width:30px;height:30px}.cm-si svg{width:18px;height:18px}
 .amx-hic{width:46px;height:46px;border-radius:13px}.amx-hic svg{width:28px;height:28px}
 .cm-mi{width:38px;height:38px}.cm-mi svg{width:22px;height:22px}
 .eqmgo svg{width:22px;height:22px}.bcicon svg{width:30px;height:30px;vertical-align:-6px}.bcpi svg{width:22px;height:22px;vertical-align:-5px}
 .ibx-empty-ic svg{width:44px;height:44px}
 /* ════════ MÓDULO PERFIL (perfil de OF de cada modelo, estética OF + arte Chispa) ════════ */
 .pfscroll{height:100%;overflow-y:auto;overflow-x:hidden;padding:16px 18px 56px}
 .pfwrap{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:18px;align-items:start;max-width:1140px;margin:0 auto}
 @media(max-width:1100px){ .pfwrap{grid-template-columns:minmax(0,1fr)} .pfside{display:none} }
 .pfmain{min-width:0;background:var(--panel2);border:1px solid var(--line);border-radius:16px;overflow:hidden}
 /* cabecera */
 .pfcover{position:relative;height:210px;background:#0a0f1d;overflow:hidden}
 .pfcover-img{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.05)}
 .pfcover-ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,12,25,.15),rgba(6,12,25,.55))}
 .pfcover-stats{position:absolute;top:12px;left:14px;display:flex;gap:14px;color:#fff;font-size:12.5px;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.6);z-index:2}
 .pfcover-stats span,.pfcover-stats .pfcstat{display:inline-flex;align-items:center;gap:5px}
 .pfcover-stats .pfcstat{background:rgba(6,12,25,.4);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px);color:#fff;font:inherit;font-size:12.5px;font-weight:600;border-radius:16px;padding:4px 11px;cursor:pointer;transition:.13s} .pfcover-stats .pfcstat:hover{background:rgba(6,12,25,.62);border-color:var(--accent2)}
 .pfcover-stats>span{background:rgba(6,12,25,.4);border-radius:16px;padding:4px 11px;backdrop-filter:blur(6px)}
 .pfcover-stats .bti{width:15px;height:15px}
 .pfcover-menu{position:absolute;top:10px;right:12px;z-index:3}
 .pfhead{position:relative;padding:0 20px 16px}
 .pfav{width:104px;height:104px;border-radius:50%;border:4px solid var(--panel2);margin-top:-52px;position:relative;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:34px;font-weight:800;color:#06121f;box-shadow:0 6px 20px rgba(0,0,0,.4)}
 .pfav .pfdot{position:absolute;right:6px;bottom:8px;width:16px;height:16px;border-radius:50%;border:3px solid var(--panel2)}
 .pfav .pfdot.on{background:#3dff8f;box-shadow:0 0 8px #3dff8f} .pfav .pfdot.off{background:#8a8a99}
 .pfactions{position:absolute;right:20px;top:14px;display:flex;gap:9px;align-items:center}
 /* Botones sobre la portada: cristal oscuro para contraste PULCRO en cualquier imagen + piel Chispa */
 .pfbtn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:22px;border:1px solid rgba(255,255,255,.22);background:rgba(6,12,25,.55);backdrop-filter:blur(9px);color:#eaf6ff;font-weight:700;font-size:12.5px;cursor:pointer;transition:.15s;box-shadow:0 3px 14px rgba(0,0,0,.35)}
 .pfbtn:hover{background:rgba(6,12,25,.72);border-color:var(--accent2);color:#fff;transform:translateY(-1px)}
 .pfbtn.round{width:40px;height:40px;padding:0;justify-content:center;border-radius:50%}
 .pfbtn .bti{width:15px;height:15px}
 /* CTA principal (Editar perfil): degradado magenta→violeta→azul + texto/icono BLANCO + sheen (estándar de botones Chispa) */
 .pfbtn.cta{border:0;color:#fff;background:linear-gradient(120deg,#ff2e88,#8b45ff 50%,#2e7bf0),linear-gradient(110deg,transparent 34%,rgba(255,255,255,.32) 50%,transparent 66%);background-size:100% 100%,260% 100%;background-repeat:no-repeat;background-position:0 0,150% 0;box-shadow:0 4px 18px rgba(255,46,136,.4);animation:heroSheen 4.5s linear infinite;text-shadow:0 1px 3px rgba(0,0,0,.35)} .pfbtn.cta:hover{filter:brightness(1.09);transform:translateY(-1px)} .pfbtn.cta .bti svg{filter:brightness(0) invert(1)}
 @media (prefers-reduced-motion:reduce){ .pfbtn.cta{animation:none} }
 .pfname{display:flex;align-items:center;gap:7px;font-family:var(--font-display);font-size:23px;font-weight:800;color:var(--ink);margin-top:8px}
 .pfverif{display:inline-flex;align-items:center;vertical-align:-3px} .chverif{display:inline-block;vertical-align:middle;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
 .pfmeta{display:flex;align-items:center;gap:9px;margin-top:3px;color:var(--muted);font-size:13px}
 .pfstatus{display:inline-flex;align-items:center;gap:5px;color:var(--accent2);cursor:pointer;font-weight:600;border-radius:8px;padding:3px 9px;transition:.15s;background:rgba(22,224,232,.08);border:1px solid rgba(22,224,232,.2)}
 .pfstatus:hover{background:rgba(22,224,232,.16)}
 .pfbio{margin-top:13px;color:var(--ink);font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
 .pfbio.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .pfbio a{color:var(--accent2);text-decoration:none} .pfbio a:hover{text-decoration:underline}
 .pfmore{background:none;border:none;color:var(--accent2);font-weight:700;font-size:13px;cursor:pointer;padding:5px 0}
 .pfloc{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;margin:4px 0 2px} .pfloc .bti{width:15px;height:15px;color:var(--accent2)}
 .pfsocials{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
 .pfsocial{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:var(--muted);font-size:12.5px;font-weight:600;cursor:pointer;transition:.15s}
 .pfsocial:hover{border-color:var(--accent2);color:var(--accent2);background:rgba(22,224,232,.06)}
 .pfsocial.add{border-style:dashed;color:var(--accent2);border-color:rgba(22,224,232,.4);background:transparent}
 /* tiles resaltados */
 .pftiles{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}
 .pftile{width:104px;height:104px;border-radius:14px;border:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;position:relative;overflow:hidden;transition:.15s;text-align:center}
 .pftile.soon{opacity:.5;filter:grayscale(.4);cursor:default} .pftile.soon:hover{opacity:.62} .pfsoon{position:absolute;top:6px;right:6px;font-size:8.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:10px;padding:1px 6px}
 .pftile:hover{border-color:var(--accent2);transform:translateY(-2px)}
 .pftile.hasimg{color:#fff} .pftile.hasimg .pftl{text-shadow:0 1px 5px rgba(0,0,0,.7);position:relative;z-index:2}
 .pftile-img{position:absolute;inset:0;background-size:cover;background-position:center}
 .pftile-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,12,25,.1),rgba(6,12,25,.6))}
 .pftl{font-size:11.5px;font-weight:700;line-height:1.2;color:var(--ink)}
 .pftile.hasimg .pftl{color:#fff}
 .pfti{width:26px;height:26px;position:relative;z-index:2;color:var(--accent2)} .pfti svg{width:26px;height:26px}
 .pftile-badge{position:absolute;top:6px;left:6px;background:rgba(6,12,25,.7);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:8px;z-index:3}
 /* tarjeta suscripción */
 .pfsubcard{margin:16px 20px 0;border:1px solid var(--line);border-radius:13px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:.15s;background:linear-gradient(100deg,rgba(255,46,136,.05),rgba(22,224,232,.05))}
 .pfsubcard:hover{border-color:var(--accent2)}
 .pfsubcard .pfsc-k{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
 .pfsubcard .pfsc-t{font-size:15px;font-weight:700;color:var(--ink);margin-top:2px}
 .pfsubcard .pfsc-s{font-size:12.5px;color:var(--accent2);margin-top:1px}
 /* tabs + toolbar del feed */
 .pftabs{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:16px}
 .pftab{flex:1;text-align:center;padding:14px;font-weight:700;font-size:13px;letter-spacing:.04em;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:.15s}
 .pftab.on{color:var(--accent2);border-bottom-color:var(--accent2)}
 .pftab:hover{color:var(--ink)}
 .pffeed{padding:16px 20px 22px}
 .pffeedbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}
 .pffeedbar .pff-title{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-right:auto}
 .pfic{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:var(--panel);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);transition:.15s}
 .pfic:hover,.pfic.on{border-color:var(--accent2);color:var(--accent2)} .pfic .bti,.pfic .pfi{width:17px;height:17px;display:inline-flex} .pfic .pfi svg{width:17px;height:17px}
 .pfact .pfi18{width:17px;height:17px;display:inline-flex} .pfact .pfi18 svg{width:17px;height:17px}
 .pfchips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
 .pfchip{padding:6px 13px;border-radius:20px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:12.5px;font-weight:600;cursor:pointer;transition:.15s}
 .pfchip.on{background:linear-gradient(135deg,rgba(255,46,136,.20),rgba(123,92,255,.16) 45%,rgba(22,224,232,.20)),linear-gradient(110deg,transparent 30%,rgba(191,247,255,.16) 50%,transparent 70%);background-size:100% 100%,220% 100%;background-repeat:no-repeat;background-position:0 0,150% 0;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(22,224,232,.42),0 0 15px rgba(123,92,255,.24);animation:chGlowSheen 4s ease-in-out infinite;border-color:transparent;font-weight:800}
 .pfchip:hover:not(.on){border-color:var(--accent2);color:var(--accent2)}
 /* tarjeta de publicación */
 .pfpost{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:16px;background:var(--panel)}
 .pfpost-h{display:flex;align-items:center;gap:10px;padding:12px 14px}
 .pfpost-av{width:38px;height:38px;border-radius:50%;background-size:cover;display:flex;align-items:center;justify-content:center;font-weight:800;color:#06121f;flex:none}
 .pfpost-hi{min-width:0;flex:1}
 .pfpost-nm{display:flex;align-items:center;gap:5px;font-weight:700;font-size:13.5px;color:var(--ink)}
 .pfpost-hd{font-size:12px;color:var(--muted)}
 .pfpost-date{font-size:12px;color:var(--muted);white-space:nowrap}
 .pfpost-menu{position:relative}
 .pfpin{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--accent);padding:2px 8px;border-radius:8px;background:rgba(255,46,136,.1);margin-left:6px}
 .pflabels{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 8px}
 .pflabel{font-size:11px;font-weight:700;color:var(--accent2);background:rgba(22,224,232,.1);border-radius:7px;padding:2px 8px}
 .pfaddlabel{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:12px;cursor:pointer;background:none;border:none;margin:0 14px 8px;padding:4px 9px;border-radius:8px;transition:.15s}
 .pfaddlabel:hover{color:var(--accent2);background:rgba(22,224,232,.07)} .pfaddlabel .bti{width:13px;height:13px}
 .pfpost-cap{padding:0 14px 10px;font-size:14px;line-height:1.5;color:var(--ink);white-space:pre-wrap;word-break:break-word}
 .pfmedia{position:relative;background:#0a0f1d;height:420px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}
 .pfmedia::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.5px);background-size:19px 19px;opacity:.55;pointer-events:none}
 .pfmedia.arch{filter:grayscale(.5) brightness(.7)}
 .pfmedia-badge{position:absolute;top:10px;right:10px;background:rgba(6,12,25,.72);color:#fff;font-size:11px;font-weight:700;padding:3px 9px;border-radius:9px;display:inline-flex;align-items:center;gap:5px;z-index:2}
 .pfmedia-count{position:absolute;bottom:10px;right:10px;background:rgba(6,12,25,.72);color:#fff;font-size:11px;font-weight:700;padding:3px 9px;border-radius:9px;z-index:2}
 .pfmedia-price{position:absolute;top:10px;left:10px;background:linear-gradient(90deg,var(--accent),var(--accent2));color:#06121f;font-size:12px;font-weight:800;padding:4px 11px;border-radius:9px;z-index:2}
 .pfmg-ph{position:relative;z-index:1;width:78px;height:78px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle,rgba(22,224,232,.12),transparent 70%);color:rgba(191,247,255,.5)} .pfmg-ph svg{width:42px;height:42px;filter:drop-shadow(0 0 9px rgba(22,224,232,.35))}
 .pfpost-acts{display:flex;align-items:center;gap:4px;padding:11px 14px}
 .pfact{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:9px;background:none;border:none;color:var(--muted);font-size:12.5px;font-weight:600;cursor:pointer;transition:.15s}
 .pfact:hover{background:var(--panel2);color:var(--accent2)}
 .pfact.stats{color:var(--accent2)} .pfact .bti{width:15px;height:15px}
 .pfact.liketog:hover{color:#2ea6ff}
 .pfact.liked{color:#2ea6ff} .pfact.liked .pfi18 svg{fill:#2ea6ff;stroke:#2ea6ff;animation:pfLikePop .28s cubic-bezier(.3,1.6,.5,1)}
 @keyframes pfLikePop{0%{transform:scale(.6)}55%{transform:scale(1.25)}100%{transform:scale(1)}}
 .pfact-spacer{margin-left:auto}
 .pfpost-counts{padding:0 14px 12px;font-size:12.5px;color:var(--muted)}
 .pfpost-counts b{color:var(--ink)}
 /* menús popup del perfil */
 .pfmpop{position:absolute;z-index:1200;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:6px;min-width:210px;box-shadow:0 14px 40px rgba(0,0,0,.5);animation:cselin .16s cubic-bezier(.2,.8,.3,1)}
 .pfmpop button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:9px 11px;border:none;background:none;color:var(--ink);font-size:13px;border-radius:8px;cursor:pointer;transition:.12s}
 .pfmpop button:hover{background:var(--panel)}
 .pfmpop button.danger{color:#ff5a6e} .pfmpop button.danger:hover{background:rgba(255,90,110,.1)}
 .pfmpop .pfm-sep{height:1px;background:var(--line);margin:5px 4px}
 .pfmpop .bti{width:15px;height:15px;color:var(--muted)}
 /* sidebar */
 .pfside{position:sticky;top:14px;display:flex;flex-direction:column;gap:14px}
 .pfcard{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:15px}
 .pfcard-t{font-size:11px;font-weight:800;letter-spacing:.07em;color:var(--muted);text-transform:uppercase;margin-bottom:11px}
 .pfsearch{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:9px 12px}
 .pfsearch input{flex:1;background:none;border:none;color:var(--ink);font-size:13px;outline:none}
 .pfrecent{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
 .pfrecent-i{aspect-ratio:1/1;border-radius:9px;background:#0a0f1d;background-size:cover;background-position:center;cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center;color:rgba(191,247,255,.25)}
 .pfrecent-i:hover{transform:scale(1.04);box-shadow:0 0 0 2px var(--accent2)}
 .pfrecent-i .bti{width:22px;height:22px}
 .pf-chispanote{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--muted);line-height:1.5}
 .pf-chispanote img{width:34px;height:34px;flex:none}
/* ── Lo que Chispa ha aprendido (Panel) ─────────────────────────────────────
   Un color = un significado, como en el resto del CRM: ámbar el que se está
   yendo y aún se recupera, rojo el que ya se perdió. Nada decorativo. */
.anintel{grid-column:1/-1}
.anintel-h{font-family:var(--font-display);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent2);margin:14px 0 7px}
.anintel-h:first-of-type{margin-top:6px}
.anintel-list{display:flex;flex-direction:column;gap:6px}
.anintel-row{display:flex;gap:9px;align-items:flex-start;padding:7px 9px;background:var(--panel2);border-radius:8px;border:1px solid var(--line)}
.anintel-lvl{flex:0 0 auto;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:5px;margin-top:1px}
.anintel-lvl.enfriándose{color:#ffc24d;background:rgba(255,194,77,.13);border:1px solid rgba(255,194,77,.32)}
.anintel-lvl.frío{color:#ff8a5c;background:rgba(255,138,92,.13);border:1px solid rgba(255,138,92,.32)}
.anintel-lvl.perdido{color:var(--danger);background:rgba(255,59,92,.11);border:1px solid rgba(255,59,92,.28)}
.anintel-txt{font-size:13px;line-height:1.45;color:var(--ink);min-width:0}
.anintel-vs{display:flex;gap:18px;flex-wrap:wrap;margin:2px 0 7px;font-size:13px;color:var(--muted)}
.anintel-vs b{color:var(--ink)}
@media (max-width:640px){ .anintel-row{flex-direction:column;gap:4px} }
/* La fila es un botón: reinicio para que no herede el centrado ni el fondo del navegador. */
button.anintel-row{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
button.anintel-row:hover{border-color:var(--accent2)}
button.anintel-row:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}
.anintel-go{margin-left:auto;flex:0 0 auto;color:var(--muted);font-size:15px;line-height:1}
button.anintel-row:hover .anintel-go{color:var(--accent2)}
.anintel-row{align-items:center}
/* La modelo va en segundo plano: lo que manda es el nombre del fan. */
.anintel-mdl{font-size:11px;color:var(--muted);padding:1px 6px;border:1px solid var(--line);border-radius:5px;margin-left:2px}

/* Tarjetas de KPI reales en Estadísticas clásicas (Interacciones, Alcance, Fans) */
.ofstats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:4px 0 6px}
.ofstat{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.ofstatv{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--ink);line-height:1.1}
.ofstatk{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent2);margin-top:5px}
.ofstats{font-size:11px;color:var(--muted);margin-top:3px}
.ofnote2{font-size:12px;color:var(--muted);line-height:1.4}
.stmod{display:inline-block;font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:1px 6px;margin-left:7px;vertical-align:1px}
/* "Fuera de Chispa" en el registro de Mensajes: ámbar, el mismo significado que en la atribución. */
.msrc.out{color:#ffb454;background:rgba(255,180,84,.13);border:1px solid rgba(255,180,84,.32)}
/* Origen de la noticia (bandera + país) y fecha en la tarjeta de Actualidad */
.ev-origen{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:2px 7px}
.ev-fecha{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
/* Turnos y cobertura — cabecera simple para no-técnicos + ajustes avanzados plegables */
.covintro{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:linear-gradient(135deg,rgba(22,224,232,.08),rgba(123,92,255,.06));border:1px solid var(--line);border-radius:12px;padding:13px 16px;margin-bottom:14px}
.covintro-b{font-size:13px;line-height:1.5;color:var(--ink);max-width:520px}
.covintro-sum{display:flex;flex-wrap:wrap;gap:8px}
.covsum-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:4px 11px}
.covsum-dot{width:9px;height:9px;border-radius:50%;flex:none}
.covsum-mut{font-size:12px;color:var(--muted)}
.covadv-toggle{display:flex;align-items:center;gap:12px;margin:6px 0 4px}
.covadv-btn{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--accent2);background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:7px 13px;cursor:pointer}
.covadv-btn.on{background:rgba(22,224,232,.12);border-color:rgba(22,224,232,.4)}
.covadv-hint{font-size:11.5px;color:var(--muted)}
.covadv{margin-top:10px}
/* Cobertura: orden de acontecimientos + log de intervención */
.covorden{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 12px;padding:11px 14px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}
.covorden-s{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink)}
.covorden-s b{display:inline-flex;width:19px;height:19px;border-radius:50%;background:var(--panel);border:1px solid var(--line);align-items:center;justify-content:center;font-size:11px;color:var(--muted)}
.covorden-s.ai b{background:rgba(22,224,232,.16);border-color:rgba(22,224,232,.4);color:var(--accent2)}
.covorden-ar{color:var(--muted)}
.covlog-sum{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}
.covlog-chip{font-size:12px;font-weight:600;padding:4px 11px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);color:var(--ink)}
.covlog-chip.live{color:var(--accent2);border-color:rgba(22,224,232,.4)}
.covlog-list{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow-y:auto}
.covlog-row{display:flex;gap:10px;padding:8px 4px;border-bottom:1px solid rgba(255,255,255,.05)}
.covlog-ic{font-size:14px;flex:none}
.covlog-h{font-size:12.5px}
.covlog-w{font-size:11px;color:var(--muted);margin-top:2px}

/* ══ Analíticas › Masivos (auditoría) ══ */
.masv-controls{display:flex;flex-direction:column;margin:6px 0 16px;background:var(--panel2);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.masv-ctlrow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:11px 15px}
.masv-ctlrow+.masv-ctlrow{border-top:1px solid var(--line)}
.masv-lbl{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.masv-groupby,.masv-facets{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;padding:3px;border-radius:12px;background:rgba(4,8,16,.35)}
.masv-facets+.masv-facets{margin-left:2px}
.masvwrap .anperiods.forchispa{display:inline-flex;gap:6px;padding:3px;border-radius:12px;background:rgba(4,8,16,.35)}
.masv-gb,.masv-chip,.masvwrap .anpb{padding:6px 12px;border-radius:9px;border:1px solid var(--line);background:var(--panel2);color:var(--muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:all .14s}
.masv-gb:hover,.masv-chip:hover{border-color:rgba(255,255,255,.24);color:var(--ink)}
.masv-gb.on{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent;color:#06121f;font-weight:800}
.masv-chip.on{background:rgba(22,224,232,.14);border-color:var(--accent2);color:var(--ink)}
.masv-chip.int.on{background:rgba(123,92,255,.16);border-color:#7b5cff}
.masv-search{flex:1;min-width:180px;display:flex;justify-content:flex-end}
.masv-search .modal-in{max-width:260px}
.masv-body{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:15px}
.masv-body .empty,.masv-body .phelp{margin:8px 0}
.masv-sum{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.masv-sc{flex:1;min-width:96px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:11px 14px;display:flex;flex-direction:column;gap:2px}
.masv-sc b{font-size:20px;color:var(--ink);font-weight:800}
.masv-sc span{font-size:11px;color:var(--muted)}
.masv-group{margin-bottom:18px}
.masv-gh{display:flex;align-items:center;gap:9px;padding:0 2px 9px;font-size:13.5px;color:var(--ink)}
.masv-gdot{width:9px;height:9px;border-radius:50%;background:var(--gc);box-shadow:0 0 8px var(--gc)}
.masv-gcount{font-size:11px;font-weight:800;color:var(--gc);background:color-mix(in srgb,var(--gc) 16%,transparent);border-radius:20px;padding:1px 9px}
.masv-gmeta{margin-left:auto;font-size:11.5px;color:var(--muted)}
.masv-list{display:flex;flex-direction:column;gap:7px}
.masv-row{display:grid;grid-template-columns:88px 132px 1fr 168px 44px;align-items:center;gap:12px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:10px 13px;transition:border-color .14s}
.masv-row:hover{border-color:rgba(255,255,255,.2)}
.masv-row.unsent{opacity:.62}
.masv-when{font-size:11.5px;color:var(--muted);display:flex;flex-direction:column;gap:2px}
.masv-model{color:var(--accent2);font-weight:700;font-size:10.5px}
.masv-tags{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.masv-tt,.masv-it{font-size:10.5px;font-weight:800;padding:2px 9px;border-radius:7px;white-space:nowrap;color:var(--tc);background:color-mix(in srgb,var(--tc) 15%,transparent);border:1px solid color-mix(in srgb,var(--tc) 40%,transparent)}
.masv-cap{display:flex;align-items:center;gap:10px;min-width:0}
.masv-ths{display:flex;gap:4px;flex:none}
.masv-th{width:34px;height:34px;border-radius:7px;overflow:hidden;background:#0e1725;display:block}
.masv-th img{width:100%;height:100%;object-fit:cover}
.masv-captx{font-size:12.5px;color:var(--ink);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.masv-price{margin-left:6px;font-size:11px;font-weight:800;color:#7b5cff;background:rgba(123,92,255,.16);border-radius:6px;padding:1px 7px;white-space:nowrap}
.masv-stats{display:flex;gap:12px;justify-content:flex-end;font-size:13px;color:var(--ink);font-weight:700}
.masv-stats span{display:flex;flex-direction:column;align-items:center;line-height:1.2}
.masv-stats i{font-size:9px;color:var(--muted);font-weight:600;font-style:normal;text-transform:uppercase;letter-spacing:.03em}
.masv-end{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.masv-badge-unsent{font-size:9.5px;font-weight:800;color:#ff6f9d;text-transform:uppercase}
.masv-act{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .14s}
.masv-act:hover{border-color:var(--accent2);color:var(--ink)}
.masv-act .chic,.masv-act svg{width:15px;height:15px}
.masv-menu{position:fixed;z-index:100002;background:linear-gradient(180deg,#0e1426,#0a0e1a);border:1px solid rgba(22,224,232,.4);border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.6);padding:6px;min-width:238px;animation:cselIn .16s cubic-bezier(.2,.9,.3,1)}
.masv-mi{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:9px 11px;border:0;background:none;color:var(--ink);font:inherit;font-size:12.5px;border-radius:8px;cursor:pointer}
.masv-mi:hover{background:rgba(22,224,232,.1)}
.masv-mii{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent2)}
.masv-mii .chic,.masv-mii svg{width:15px;height:15px}
@media (max-width:820px){.masv-row{grid-template-columns:1fr;gap:8px}.masv-stats{justify-content:flex-start}.masv-tags{flex-direction:row}}

/* Masivos › drill-down (a quién llegó) */
.masv-who{display:flex;flex-direction:column;gap:12px}
.masv-whotags{display:flex;align-items:center;gap:8px}
.masv-whst{margin-left:auto;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.masv-whocap{font-size:14px;line-height:1.5;color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:12px 14px}
.masv-whths{display:flex;gap:8px;flex-wrap:wrap}
.masv-wth{width:76px;height:76px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.masv-whgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.masv-whgrid>div{background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:11px;display:flex;flex-direction:column;gap:3px}
.masv-whgrid span{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.masv-whgrid b{font-size:19px;color:var(--ink);font-weight:800}
.masv-wholists{font-size:12.5px;color:var(--muted);line-height:1.5}
.masv-wholists b{color:var(--accent2);margin-right:6px;text-transform:uppercase;font-size:10.5px;letter-spacing:.04em}
.masv-whmeta{font-size:11.5px;color:var(--muted)}
.masv-whnote{font-size:11px;color:var(--muted);background:rgba(22,224,232,.06);border:1px solid rgba(22,224,232,.2);border-radius:9px;padding:8px 11px;line-height:1.45}
@media (max-width:640px){.masv-whgrid{grid-template-columns:repeat(2,1fr)}}

/* Panel de Masivos dentro del popup (modo compacto) */
.masv-pop-root .anwrap{padding:0}
.masvcompact .anhead{margin-bottom:10px}
.masvcompact .masv-body{max-height:min(58vh,560px);overflow-y:auto;padding-right:4px}

/* Drill-down › compradores */
.masv-whbuyers{border-top:1px solid var(--line);padding-top:11px}
.masv-whbh{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;color:var(--ink);margin-bottom:8px}
.masv-whbh .chic,.masv-whbh svg{width:15px;height:15px;color:#7b5cff}
.masv-whblist{display:flex;flex-direction:column;gap:4px;max-height:210px;overflow-y:auto}
.masv-whbrow{display:flex;align-items:center;justify-content:space-between;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:7px 11px;font-size:12.5px}
.masv-whbid{color:var(--muted)}
.masv-whbamt{color:#3ddc97;font-weight:800}
