/* Kairo Journal - Trade Log (tabla, cabecera, filtros, acciones) */
:root{--klog-v:1}
.kairo-log{--klog-cols:68px 80px 84px 86px minmax(118px,1.1fr) 58px 108px 50px 70px minmax(76px,1fr) 116px}

/* CABECERA DE PAGINA */
.kairo-log .k-log-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 22px}
.kairo-log .k-log-tl{min-width:0}
.kairo-log .k-log-top .k-title,.kairo-log .k-log-top .k-title .elementor-heading-title{margin:0!important}
.kairo-log .k-log-sub{margin:6px 0 0;font-size:14px;font-weight:500;color:var(--text-2);line-height:1.4}
.kairo-log .k-log-new{display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 22px;background:var(--primary);color:#fff;border-radius:13px;font-size:14px;font-weight:700;text-decoration:none;line-height:1;box-shadow:0 10px 22px -10px rgba(37,99,235,.7);transition:all .18s;white-space:nowrap}
.kairo-log .k-log-new:hover{background:var(--primary-2);transform:translateY(-1px);color:#fff}
.kairo-log .k-log-new svg{width:16px;height:16px;stroke:#fff;fill:none}

/* FILTROS */
.kairo-log .kairo-filters,
.kairo-log .kairo-filters>.e-con-inner,
.kairo-log .kairo-filters:not(.e-con-boxed){display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:12px;padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;margin:0 0 22px!important;border-radius:0!important}
.kairo-log .kairo-filters .k-filter{flex:0 1 auto;min-width:0;width:auto!important}
.kairo-log .kairo-filters .jet-filter-label,
.kairo-log .kairo-filters .jet-smart-filters-select__label{display:none!important}
.kairo-log .kairo-filters select{width:auto!important;min-width:170px;height:46px;padding:0 40px 0 16px;border:1px solid var(--border);border-radius:999px;background-color:var(--surface);color:var(--text);font-size:13.5px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:15px 15px}
.kairo-log .kairo-filters select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}
.kairo-log .kairo-filters .k-log-clear{display:inline-flex;align-items:center;gap:7px;height:46px;padding:0 16px;border:1px dashed var(--border);border-radius:999px;background:transparent;color:var(--text-3);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}
.kairo-log .kairo-filters .k-log-clear svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
.kairo-log .kairo-filters .k-log-clear:hover{color:var(--red);border-color:var(--red);background:var(--red-soft)}
/* TARJETA-TABLA */
.kairo-log .k-grid{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:6px 8px!important;overflow:hidden}
.kairo-log .k-grid>.elementor-widget-container{overflow-x:auto}
.kairo-log .kairo-log-head{display:grid;grid-template-columns:var(--klog-cols);align-items:center;gap:14px;padding:14px 14px 12px;border-bottom:1px solid var(--border);min-width:1040px}
.kairo-log .kairo-log-head span{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}
.kairo-log .kairo-log-head .k-pnl,.kairo-log .kairo-log-head .k-actions{text-align:right}
.kairo-log .kairo-log-head .k-smc{text-align:center}
.kairo-log .jet-listing-grid__items{display:flex!important;flex-direction:column;gap:0!important;margin:0}
.kairo-log .jet-listing-grid__item{padding:0;animation:kfIn .28s ease both}
.kairo-log .kairo-trade-row{display:grid!important;grid-template-columns:var(--klog-cols)!important;grid-template-areas:none!important;align-items:center;gap:14px;background:transparent!important;border:none!important;border-bottom:1px solid var(--border-2)!important;border-radius:0!important;box-shadow:none!important;padding:13px 14px!important;min-width:1040px;transition:background .15s}
.kairo-log .jet-listing-grid__item:last-child .kairo-trade-row{border-bottom:none!important}
.kairo-log .kairo-trade-row:hover{transform:none!important;background:var(--surface-2)!important}
.kairo-log .kairo-trade-row>*{grid-area:auto!important;margin:0!important;padding:0!important;min-width:0}
.kairo-log .kairo-trade-row .k-date{font-size:13px;font-weight:500;color:var(--text-3);white-space:nowrap}
.kairo-log .kairo-trade-row .k-sym{font-size:14.5px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kairo-log .kairo-trade-row .k-ses,.kairo-log .kairo-trade-row .k-setup,.kairo-log .kairo-trade-row .k-dirl{font-size:13.5px;font-weight:500;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kairo-log .kairo-trade-row .k-risk{font-size:13.5px;font-weight:600;color:var(--text-2);white-space:nowrap}
.kairo-log .kairo-trade-row .k-gp{font-size:13.5px;font-weight:700;color:var(--text-2);white-space:nowrap}
.kairo-log .kairo-trade-row .k-gp.is-pos{color:var(--green)}
.kairo-log .kairo-trade-row .k-gp.is-neg{color:var(--red)}
.kairo-log .kairo-trade-row .k-rr{font-size:13.5px;font-weight:700;color:var(--text);white-space:nowrap}
.kairo-log .kairo-trade-row .k-badge{display:inline-flex;align-items:center;justify-content:center;justify-self:start;font-size:11.5px;font-weight:700;padding:5px 12px;border-radius:999px;white-space:nowrap;line-height:1;background:var(--surface-3);color:var(--text-2);width:auto!important}
.kairo-log .kairo-trade-row .k-dir.is-buy{background:var(--green-soft);color:var(--green)}
.kairo-log .kairo-trade-row .k-dir.is-sell{background:var(--red-soft);color:var(--red)}
.kairo-log .kairo-trade-row .k-smc{display:flex;justify-content:center}
.kairo-log .k-smc-chip{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:26px;padding:0 8px;border-radius:8px;font-size:12.5px;font-weight:800;background:var(--surface-3);color:var(--text-2)}
.kairo-log .k-smc-chip.is-hi{background:var(--green-soft);color:var(--green)}
.kairo-log .k-smc-chip.is-mid{background:var(--primary-soft);color:var(--primary)}
.kairo-log .k-smc-chip.is-lo{background:var(--surface-3);color:var(--text-3)}
.kairo-log .kairo-trade-row .k-pnl{font-size:14.5px;font-weight:800;text-align:right;justify-self:end;color:var(--text-2);white-space:nowrap}
.kairo-log .kairo-trade-row .k-pnl.is-pos{color:var(--green)}
.kairo-log .kairo-trade-row .k-pnl.is-neg{color:var(--red)}
.kairo-log .kairo-trade-row .k-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;justify-self:end}
.kairo-log .k-act-btn{width:34px;height:34px;flex:0 0 34px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text-3);cursor:pointer;padding:0;transition:all .15s}
.kairo-log .k-act-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kairo-log .k-act-btn:hover{background:var(--surface-3);color:var(--text);border-color:var(--text-3)}
.kairo-log .k-act-btn.k-act-del:hover{background:var(--red-soft);color:var(--red);border-color:var(--red)}
.kairo-log .kairo-trade-row.is-removing{opacity:.4;pointer-events:none}
.kairo-log .klog-body{display:flex;flex-direction:column}
.kairo-log .klog-body .kairo-trade-row:last-child{border-bottom:none!important}
.kairo-log .klog-empty{padding:34px 18px;text-align:center;color:var(--text-3);font-weight:600;min-width:1040px}
.kairo-log .jet-listing-not-found{padding:34px 18px;text-align:center;color:var(--text-3);font-weight:600}
@media(max-width:820px){.kairo-log .kairo-filters select{min-width:150px}}

/* ================= Trade Log v2 (medidas del mockup) ================= */
.kairo-log{--klog-cols:3px 42px minmax(112px,.9fr) minmax(142px,1.9fr) minmax(66px,.7fr) 118px minmax(54px,.6fr) minmax(94px,.9fr) 106px}
.kairo-log .kairo-log-head,.kairo-log .kairo-trade-row{grid-template-columns:var(--klog-cols)!important;gap:10px!important;min-width:800px!important}
.kairo-log .kairo-log-head{padding:12px 22px 11px!important;border-bottom:1px solid var(--border)}
.kairo-log .kairo-log-head span{font-size:9.5px;font-weight:600;letter-spacing:.1em;color:var(--text-4)}
.kairo-log .kairo-log-head .k-risk,.kairo-log .kairo-log-head .k-rr,
.kairo-log .kairo-log-head .k-pnlwrap,.kairo-log .kairo-log-head .k-actions{text-align:right}

/* Separador de mes */
.kairo-log .klog-month{display:flex;align-items:center;gap:12px;padding:20px 22px 7px;min-width:800px}
.kairo-log .klog-month span{font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}
.kairo-log .klog-month i{flex:1;height:1px;background:var(--border-2)}

/* Fila */
.kairo-log .kairo-trade-row{padding:9px 22px!important;border-bottom:0!important;border-top:1px solid var(--border-2)!important}
.kairo-log .klog-month+.kairo-trade-row{border-top:0!important}
.kairo-log .kairo-trade-row .k-bar{width:3px;height:30px;border-radius:3px;background:var(--neutral-fill);display:block}
.kairo-log .kairo-trade-row.is-win .k-bar{background:var(--green)}
.kairo-log .kairo-trade-row.is-loss .k-bar{background:var(--red)}
.kairo-log .kairo-trade-row .k-date{display:flex;flex-direction:column;gap:0}
.kairo-log .kairo-trade-row .k-d-n{font-family:var(--font-mono);font-size:12.5px;font-weight:600;line-height:1.25;color:var(--text)}
.kairo-log .kairo-trade-row .k-d-m{font-size:9px;font-weight:500;line-height:1.25;letter-spacing:.08em;text-transform:uppercase;color:var(--text-4)}
.kairo-log .kairo-trade-row .k-symwrap{display:flex;flex-direction:column;gap:3px;min-width:0;align-items:flex-start}
.kairo-log .kairo-trade-row .k-sym{font-size:13.5px;font-weight:600;line-height:1.2;letter-spacing:-.005em;color:var(--text)}
.kairo-log .kairo-trade-row .k-entry{display:inline-flex;align-items:center;gap:4px;border-radius:5px;padding:2px 6px;font-size:9.5px;font-weight:600;white-space:nowrap}
.kairo-log .kairo-trade-row .k-entry.is-buy{background:rgba(var(--green-rgb),.12);color:var(--green)}
.kairo-log .kairo-trade-row .k-entry.is-sell{background:rgba(var(--red-rgb),.12);color:var(--red)}
.kairo-log .kairo-trade-row .k-seswrap{display:flex;flex-direction:column;gap:1px;min-width:0}
.kairo-log .kairo-trade-row .k-ses{font-size:12px;font-weight:500;line-height:1.3;color:var(--text-2)}
.kairo-log .kairo-trade-row .k-dirl{font-size:10.5px;font-weight:400;line-height:1.3;color:var(--text-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kairo-log .kairo-trade-row .k-risk{font-family:var(--font-mono);font-size:11.5px;font-weight:400;color:var(--text-3);text-align:right;font-variant-numeric:tabular-nums}
.kairo-log .kairo-trade-row .k-res{display:inline-flex;align-items:center;align-self:center;justify-self:start;min-width:max-content;flex:none;border-radius:6px;padding:4px 8px;font-size:10.5px;font-weight:600;white-space:nowrap;background:rgba(var(--neutral-rgb),.22);color:var(--neutral)}
.kairo-log .kairo-trade-row .k-res.is-win{background:rgba(var(--green-rgb),.14);color:var(--green)}
.kairo-log .kairo-trade-row .k-res.is-loss{background:rgba(var(--red-rgb),.14);color:var(--red)}
.kairo-log .kairo-trade-row .k-rr{font-family:var(--font-mono);font-size:12.5px;font-weight:500;color:var(--text);text-align:right}
.kairo-log .kairo-trade-row .k-pnlwrap{display:flex;flex-direction:column;gap:0;text-align:right}
.kairo-log .kairo-trade-row .k-pnl{font-family:var(--font-mono);font-size:15px;font-weight:600;line-height:1.25;color:var(--neutral);font-variant-numeric:tabular-nums}
.kairo-log .kairo-trade-row.is-win .k-pnl{color:var(--green)}
.kairo-log .kairo-trade-row.is-loss .k-pnl{color:var(--red)}
.kairo-log .kairo-trade-row .k-gp{font-family:var(--font-mono);font-size:10px;font-weight:400;line-height:1.25;color:var(--text-4);font-variant-numeric:tabular-nums}
.kairo-log .kairo-trade-row .k-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}
.kairo-log .kairo-trade-row .k-act-btn{width:28px;height:28px;border-radius:8px;background:transparent!important;border:0!important;color:var(--text-4)!important;box-shadow:none!important}
.kairo-log .kairo-trade-row .k-act-btn:hover{background:var(--surface-2)!important;color:var(--text)!important}
.kairo-log .kairo-trade-row .k-act-btn svg{width:15px;height:15px}

/* Nota al pie */
.kairo-log .klog-note{font-size:11.5px;font-weight:400;line-height:1.55;color:var(--text-4);margin:14px 0 4px!important;padding:0 22px}

/* Barra de filtros */
.kairo-log .klog-fbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.kairo-log .klog-flabel{font-size:9.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--text-4)}
.kairo-log .klog-chip{display:inline-flex;align-items:center;gap:7px;background:var(--surface-2);
border:1px solid var(--border);border-radius:10px;padding:0 4px 0 11px;height:34px;transition:border-color .13s}
.kairo-log .klog-chip:hover{border-color:var(--border-hover)}
/* El select interior lleva outline:0 y box-shadow:none, asi que el foco de
   teclado no se veia en NINGUN filtro. Origen si lo tenia por la regla antigua
   de .kairo-filters select, y al neutralizarla lo habria perdido: el anillo se
   traslada al chip, que es la superficie real, y queda igual en los seis.
   Solo el anillo: un border-color aqui resulta inerte frente al shorthand
   border del bloque base, y no se deja una declaracion que no pinta nada. */
.kairo-log .klog-chip:focus-within{box-shadow:0 0 0 3px var(--ring)}
.kairo-log .klog-chip-l{font-size:11px;font-weight:400;color:var(--text-4);white-space:nowrap}
/* El select de Origen lleva su propia clase (klog-f-origin) porque la logica
   de filtros -activeFilters, anyFilterActive, clearFilters- opera sobre .klog-f
   y el origen no es un filtro que se limpie. Esa distincion es funcional y se
   mantiene; lo que faltaba era incluirlo aqui, asi que conservaba la pildora
   antigua de .kairo-filters select (46px, radio 999, fondo y sombra propios)
   dentro de un .klog-chip de 34px: dos superficies desalineadas. */
.kairo-log select.klog-f,
.kairo-log select.klog-f-origin{appearance:none;-webkit-appearance:none;background:transparent!important;
border:0!important;box-shadow:none!important;outline:0!important;cursor:pointer;
font-family:var(--font-ui)!important;font-size:12px!important;font-weight:600!important;color:var(--text)!important;
padding:0 20px 0 0!important;height:32px;min-height:0!important;line-height:32px;width:auto!important;min-width:0;
background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%237A8394' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M3 4.8 6 7.8 9 4.8'/%3E%3C/svg%3E")!important;
background-repeat:no-repeat!important;background-position:right 4px center!important;background-size:11px 11px!important}
.kairo-log .klog-summary{margin-left:auto;font-size:11.5px;font-weight:400;color:var(--text-4);white-space:nowrap}
.kairo-log .klog-summary.is-on{color:var(--text-3)}
@media(max-width:720px){.kairo-log .klog-summary{margin-left:0;width:100%}}

/* Responsive: bajo 720px la fila pasa a tarjeta, como el mockup */
@media(max-width:720px){
.kairo-log .kairo-log-head{display:none!important}
.kairo-log .klog-month{padding:16px 14px 4px;min-width:0}
.kairo-log .kairo-trade-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
gap:10px 14px!important;align-items:center;padding:12px 14px!important;margin:8px 12px;min-width:0!important;
border-radius:12px;border-top:0!important;border-left:5px solid var(--neutral-fill)!important;background:var(--surface-2)!important}
.kairo-log .kairo-trade-row.is-win{border-left-color:var(--green)!important}
.kairo-log .kairo-trade-row.is-loss{border-left-color:var(--red)!important}
.kairo-log .kairo-trade-row .k-bar{display:none}
.kairo-log .kairo-trade-row .k-risk,.kairo-log .kairo-trade-row .k-rr{text-align:left}
.kairo-log .kairo-trade-row .k-pnlwrap{text-align:right}
.kairo-log .kairo-trade-row .k-actions{justify-content:flex-start}
.kairo-log .klog-note{padding:0 14px}
}


/* ---------- T4: analisis en drawer + setup en fila ---------- */
.klog-dw-an{display:flex;flex-direction:column;gap:9px}
.klog-an-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-2)}
.klog-an-row b{color:var(--text);font-weight:700}
.klog-an-g{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.klog-an-g i{font-style:normal;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-right:2px}
.klog-an-g em{font-style:normal;font-size:12px;font-weight:600;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:4px 10px}

/* T6-D 3C-2 - Modelo / Version / Adherence. Solo presentacion.
   Adherence NO es rendimiento: no usa el verde/rojo de ganancia y perdida.
   Cumple = --primary, No cumple = --amber, Sin evaluar = neutro. */
.kairo-log .k-mvb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;min-width:0}
.kairo-log .k-mvb-n{font-size:.6875rem;color:var(--text-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.kairo-log .k-mvb-a{font-size:.625rem;font-weight:600;border-radius:999px;padding:1px 7px;white-space:nowrap;line-height:1.5}
.kairo-log .k-mvb-a.is-ok{color:var(--primary);background:var(--primary-soft)}
.kairo-log .k-mvb-a.is-fail{color:var(--amber);background:var(--amber-soft)}
.kairo-log .k-mvb-a.is-unk{color:var(--text-3);background:var(--surface-3)}

.klog-mv-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px}
.klog-mv-id{font-weight:600;color:var(--text);overflow-wrap:anywhere}
.klog-mv-st{color:var(--amber);font-size:.75rem;font-weight:500}
.klog-mv-badge{font-size:.75rem;font-weight:600;border-radius:999px;padding:3px 10px;white-space:nowrap}
.klog-mv-badge.is-ok{color:var(--primary);background:var(--primary-soft)}
.klog-mv-badge.is-fail{color:var(--amber);background:var(--amber-soft)}
.klog-mv-badge.is-unk{color:var(--text-3);background:var(--surface-3)}
.klog-mv-lock,.klog-mv-none{margin:0 0 8px;font-size:.75rem;color:var(--text-3)}
.klog-mv-note{margin:0 0 10px;font-size:.75rem;color:var(--text-2)}
.klog-mv-rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.klog-mv-rule{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.klog-mv-rk{font-size:.8125rem;color:var(--text);min-width:0;overflow-wrap:anywhere}
.klog-mv-rv{font-size:.6875rem;font-weight:600;border-radius:999px;padding:1px 8px;white-space:nowrap}
.klog-mv-rv.is-ok{color:var(--primary);background:var(--primary-soft)}
.klog-mv-rv.is-fail{color:var(--amber);background:var(--amber-soft)}
.klog-mv-rv.is-unk{color:var(--text-3);background:var(--surface-3)}
.klog-mv-rm{flex:1 1 100%;font-size:.72rem;color:var(--text-3)}
@media (max-width:640px){.klog-mv-rule{flex-direction:column;align-items:flex-start;gap:4px}}

/* ============================================================
   KFS - LISTBOX CUSTOM DE FILTROS (Trade Log)
   El chip cerrado no cambia de aspecto: sigue siendo .klog-chip. Lo que antes
   era [label][select] pasa a ser un unico <button> que ocupa el chip entero,
   y el <select> queda detras solo como estado.
   Todo scopeado a .kairo-log / .klog-*: nada global sobre button o [role].
   ============================================================ */

/* El <select> deja de ser interfaz. No display:none: algunos navegadores no
   reportan bien el valor de un select oculto, y sigue siendo la autoridad. */
.kairo-log select.klog-f-off{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;opacity:0}

/* Trigger: ocupa todo el chip, asi el panel se ancla al boton completo. */
.kairo-log .klog-chip .klog-trig{display:inline-flex;align-items:center;gap:7px;
  height:100%;width:100%;margin:0;padding:0;background:none;border:0;box-shadow:none;
  border-radius:0;font-family:var(--font-ui);font-size:12px;font-weight:600;color:var(--text);
  line-height:1.2;text-align:left;text-transform:none;letter-spacing:0;cursor:pointer;
  -webkit-appearance:none;appearance:none}
.kairo-log .klog-chip .klog-trig:hover,
.kairo-log .klog-chip .klog-trig:focus,
.kairo-log .klog-chip .klog-trig:active{background:none;color:var(--text);box-shadow:none;border:0}
/* El anillo de foco lo pone el chip (:focus-within), no el boton. */
.kairo-log .klog-chip .klog-trig:focus-visible{outline:none}
.kairo-log .klog-trig-v{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;color:var(--text)}
.kairo-log .klog-trig-c{flex:none;width:11px;height:11px;color:var(--text-4);margin-right:4px}

/* ---------- Panel ---------- */
/* Cuelga de <body> con coordenadas de viewport: ningun overflow ni transform
   de Elementor lo recorta, y no hace falta z-index de emergencia. */
.kairo-log-lb-host .klog-lb,
.klog-lb{position:fixed;z-index:60;box-sizing:border-box;
  display:flex;flex-direction:column;gap:1px;
  max-height:min(320px,60vh);overflow-y:auto;overscroll-behavior:contain;
  padding:6px;border:1px solid var(--border);border-radius:14px;
  background:var(--surface);box-shadow:0 18px 44px rgba(0,0,0,.42);
  font-family:var(--font-ui);outline:none}
[data-theme="light"] .klog-lb{box-shadow:0 18px 44px rgba(21,26,38,.16)}
.klog-lb[hidden]{display:none}

/* Filas con respiracion: el trigger es denso, la lista se lee. ~40px permite
   mostrar 7 opciones antes de necesitar scroll. */
.klog-opt{display:flex;align-items:center;gap:9px;min-height:40px;
  padding:9px 12px;border-radius:9px;cursor:pointer;
  font-size:12.5px;font-weight:500;color:var(--text-2);line-height:1.3;
  white-space:nowrap;overflow:hidden}
.klog-opt>span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
/* Hover y highlight de teclado comparten tratamiento: son lo mismo, un
   "donde estoy", y no deben confundirse con la opcion elegida. */
.klog-opt:hover,.klog-opt.is-hi{background:var(--surface-2);color:var(--text)}
/* Seleccionada: tinte primary muy sutil + check. Persiste, el hover no. */
.klog-opt.is-on{background:rgba(var(--primary-rgb),.10);color:var(--text);font-weight:600}
.klog-opt.is-on.is-hi{background:rgba(var(--primary-rgb),.16)}
.klog-opt-t{flex:none;width:13px;height:13px;color:var(--primary-link);opacity:0}
.klog-opt.is-on .klog-opt-t{opacity:1}

/* ---------- Tactil ---------- */
@media(max-width:720px){
  .klog-lb{max-height:min(60vh,420px);padding:7px;border-radius:16px}
  /* 44px de objetivo tactil, no una version de escritorio encogida. */
  .klog-opt{min-height:44px;padding:11px 12px;font-size:13.5px;border-radius:10px}
  .klog-opt-t{width:15px;height:15px}
  .kairo-log .klog-chip .klog-trig{font-size:13px}
}

/* ============================================================
   FILTRO BACKTESTING (Trade Log)
   Nace con el patron correcto: mismo .klog-chip, mismo trigger, mismo panel.
   Solo anade el tope de ancho -los nombres de estudio son texto libre- y el
   estado deshabilitado cuando Origen es Live.
   ============================================================ */
/* Un nombre largo no puede romper la barra: el valor recorta con ellipsis y el
   nombre completo queda en el title del trigger. */
.kairo-log .klog-chip.klog-bt{max-width:250px}

.kairo-log .klog-chip.is-off{opacity:.55}
.kairo-log .klog-chip.is-off .klog-trig{cursor:not-allowed}
.kairo-log .klog-chip.is-off .klog-trig-v{color:var(--text-4)}
/* Deshabilitado de verdad, no solo apagado: no recibe foco ni abre panel. */
.kairo-log .klog-chip.is-off:focus-within{box-shadow:none}

/* ============================================================
   TOOLTIP DEL FILTRO DESHABILITADO
   Solo en estado apagado: el trigger deja de recibir el puntero para que el
   wrapper sea la UNICA diana de toda la superficie. Asi no hay cruces entre
   hijos que interrumpan el hover. El boton sigue con disabled real.
   ============================================================ */
.kairo-log .klog-chip.is-off .klog-trig{pointer-events:none}

/* Un unico nodo en <body>, en coordenadas de viewport: ni overflow, ni
   stacking, ni clipping de Elementor pueden esconderlo. */
.klog-tip{position:fixed;z-index:70;pointer-events:none;
  max-width:260px;padding:6px 10px;border-radius:8px;
  border:1px solid var(--border);background:var(--surface);
  box-shadow:0 10px 26px rgba(0,0,0,.34);
  font-family:var(--font-ui);font-size:11.5px;font-weight:500;line-height:1.35;
  color:var(--text-2);white-space:normal}
[data-theme="light"] .klog-tip{box-shadow:0 10px 26px rgba(21,26,38,.14)}
.klog-tip[hidden]{display:none}
