.calendar-container {
    max-width: 1200px;
    margin: auto;
    border-radius: 14px;
    border: 4px solid var(--tlj-color-accent);
    overflow: hidden;
}
/* CABECERA */
.calendar-header {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    gap: 15px;
    font-size: 26px;
    font-weight: bold;
    color: var(--tlj-color-accent-text);
    cursor: pointer;
}

.calendar-icon {
    cursor: pointer;
    color: var(--tlj-color-accent-text);
    display: flex;
    align-items: center;
}

.calendar-icon svg {
    width: 24px;
    height: 24px;
}

/* DIAS SEMANA */
.calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background: var(--tlj-color-accent);
    text-align: center;
    font-size: 18px;
    font-weight: bold;
}
.calendar-days div {
    padding: 8px 0;
}
/* GRID */
.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}

/* DIA */
.day {
    border: 1px solid var(--tlj-color-border);
    min-height: 100px;
    min-width: 120px;
    padding: 5px;
    position: relative;
    display: flex;
    flex-direction: column;
}

/* NUMERO DIA */
.numerodia {
    position: absolute;
    top: 5px;
    right: 5px;
    font-weight: bold;
    font-size: 12px;
}

.input-trades,
.input-acc {
    width: 60%;
    height: 16px;
    font-weight: bold;
    font-size: 11px;
    border: none !important;
    pointer-events: none;
}
.input-bpdia {
    font-size: 22px !important;
    font-weight: bold;
    text-align: center;
    margin-top: 10px;
    display: inline-flex;
    align-items: center; 
    justify-content: center; 
    gap: 2px;
    min-height: 40px;
}
.input-bpdia .gif-bp {
    margin-left: 10px;
    width: 40px;
    height: auto;
}

#flatpickrInput {
    position: absolute;
    opacity: 0;
}
/* CALENDARIO POR FECHA */
#calendarioFecha {
    position: relative;
    box-sizing: border-box;
}

/* =============================== */
/* SELECTOR MES / AÑO */
/* =============================== */

/* =============================== */
/* CALENDARIO ANUAL */
/* =============================== */

#flatpickrYearInput {
    display: none;
}
/* GRID 12 MESES */
.calendar-anio-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* CAJA MES */
.mes-anio {
    border: 1px solid var(--tlj-color-border);
    display: flex;
    flex-direction: column;
    min-height: 140px;
    position: relative;
    justify-content: center; 
    align-items: center;     
    gap: 5px; 
}
.mes-anio .gif-bp-anual {
    position: absolute;
    top: 4px;  
    right: 4px; 
    width: 50px;
    height: auto;
    z-index: 10; 
    pointer-events: none; 
}

/* NOMBRE MES */
.mes-anio .mes-titulo {
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    position: absolute;
    top: 8px;
    left: 0;
    width: 100%;
}

/* BP AÑO (CENTRO) */
.mes-anio .input-bpanio {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: none !important;
    background: transparent;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    pointer-events: none;
    max-width: 100%;
    white-space: nowrap;
}

/* FOOTER MES */
.mes-anio-footer {
    position: absolute;
    bottom: 8px; 
    left: 15px;
    display: flex;
    font-weight: bold;
    gap: 100px;
}

/* INPUTS INFERIORES */
.mes-anio-footer input {
    width: 50%;
    border: none !important;
    background: transparent;
    pointer-events: none;
    font-size: 16px;
    font-weight: bold;
    padding-top: 30px;
}

/* =============================== */
/* CALENDARIO GENERAL */
/* =============================== */
.calendar-general-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)); /* 4 columnas */
}

.anno-general {
    border: 1px solid var(--tlj-color-border);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 140px;
    position: relative;
    padding: 5px;
    box-sizing: border-box;
}

/* Año arriba */
.anno-general .anno-titulo {
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    position: absolute;
    top: 8px;
    left: 0;
    width: 100%;
}
.anno-general .gif-bp-anual {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 50px;
    height: auto;
    z-index: 10;
    pointer-events: none;
}
/* BP neto centrado */
.anno-general .input-bpneto {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: none !important;
    background: transparent;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    pointer-events: none;
    max-width: 100%;
    white-space: nowrap;
}

/* Footer: días y trades */
.anno-general-footer {
    position: absolute;
    bottom: 8px;
    left: 15px;
    display: flex;
    gap: 100px;
    font-weight: bold;
    width: calc(100% - 30px);
}

.anno-general-footer div {
    width: 50%;
    border: none !important;
    background: transparent;
    pointer-events: none;
    font-size: 16px;
    font-weight: bold;
    text-align: left;
}

/* Colores de resultado (igual que anual) */
.anno-positivo { background-color: var(--tlj-color-accent); }
.anno-negativo { background-color: var(--tlj-color-negative-base); }
.anno-breakeven { background-color: var(--tlj-color-accent); }

.grafcal-mes,
.grafcal-anio,
.grafcal-gen {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    position: absolute;
    right: 15px;
    cursor: pointer;
    text-indent: -9999px;
}

/* Hover */
.grafcal-mes:hover,
.grafcal-anio:hover,
.grafcal-gen:hover {
    transform: scale(1.1);
}

#grafcal canvas {
    width: 100% !important; 
    height: 100% !important; 
    object-fit: contain;
}

.estadisticas-container {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 40px; 
    height: auto !important;
    margin-top: 40px;
    margin-bottom: 40px;
    width: auto !important;
}

.fila1,
.fila2,
.fila3,
.fila4,
.fila5 {
    display: flex;
    justify-content: flex-start;
    gap: 20px;
    flex-wrap: nowrap;
    width: fit-content;
    flex: 0 0 auto;
    max-width: 100%;
}
.card-balanceneto,
.card-dias,
.card-trades,
.card-acc,
.card-ratio,
.card-comisiones,
.card-bestworst,
.card-racha,
.card-tasaacierto,
.card-tasaperdida,
.card-tasabe {
    display: flex;              
    flex-direction: column;     
    align-items: center;     
    justify-content: flex-start;
    overflow: hidden;
    width: auto;
    border-radius: 12px;
    text-align: center;
    box-shadow: var(--tlj-effect-shadow-header-menu);
}
.bestworst-grid {
    display: grid;
    grid-template-columns: auto auto auto auto auto auto auto auto;
    grid-auto-flow: row;
}

/* CABECERA */
.bw-title-empty,
.bw-title {
    background: var(--tlj-color-accent);
    
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 14px;
    border-left: 1px solid var(--tlj-color-border);
    border-bottom: 1px solid var(--tlj-color-border);
    padding: 4px 12px;
    height: 30px;
}

.bw-title-empty {
    border-left: none;
}

/* LABEL IZQUIERDA */
.bw-label {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    padding: 0 14px;
    font-size: 14px;
    border-bottom: 1px solid var(--tlj-color-border) !important;
    grid-column:1;
}

/* CELDAS */
.bw-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 14px;
    padding: 8px 10px;
    border-bottom: 1px solid var(--tlj-color-border);
    border-left: 1px solid var(--tlj-color-border);
}

.bw-cell:first-child {
    border-left: none;
}
.bestworst-grid > .bw-row-worst ~ .bw-cell,
.bestworst-grid > .bw-row-worst {
    border-bottom: none !important;
}

.bw-icons {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 6px; 
}
.title-all {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    padding: 4px 16px;
    background-color: var(--tlj-color-accent);
    font-size: 14px;
    font-weight: bold;
}
.valor {
    padding: 8px 16px;
    align-items: center;         
    justify-content: center; 
    width: max-content; 
    font-size: 16px;
}
.valor-horario {
    padding: 10px;
    font-size: 16px;
}
.imagen {
    display: block;       
    width: 17px !important;         
    cursor: pointer;
}
.imagen:hover {
    transform: scale(1.2);
    transition: all 0.2s ease;
}

.card-horario,
.card-acumulado,
.card-promedio {
    height: fit-content;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: var(--tlj-effect-shadow-header-menu);
}
.horario-grid {
    display: grid;
    grid-template-columns: max-content repeat(4, max-content);
}
.acumulado-grid {
    display: grid;
    grid-template-columns: max-content repeat(3, max-content);
}
.promedio-grid {
    display: grid;
    grid-template-columns: max-content repeat(7, max-content);
}
.horario-col:last-child .title-hora,
.horario-col:last-child .valor-horario,
.acumulado-col:last-child .title-acumulado,
.acumulado-col:last-child .valor-acumulado,
.promedio-col:last-child .title-promedio,
.promedio-col:last-child .valor-promedio {
    border-right: none !important;
}
.horario-col:last-child .valor-horario,
.acumulado-col:last-child .valor-acumulado,
.promedio-col:last-child .valor-promedio {
    border-right: none;
}
.title-vacia {
    height: 30px;
    background: var(--tlj-color-accent);
    border-right: 1px solid var(--tlj-color-border);
}
.title-hora,
.title-acumulado,
.title-promedio {
    background: var(--tlj-color-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: bold;
    border-right: 1px solid var(--tlj-color-border) !important;
    width: 100%;
    height: 30px;
    padding: 0 10px;
}
.label-hora,
.label-acumulado,
.label-promedio {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--tlj-color-accent);
    border-right: 1px solid var(--tlj-color-border);
    border-top: 1px solid var(--tlj-color-border);
    font-size: 14px;
    padding: 0 14px;
    font-weight: bold;
    position: relative;
    height: 38px;
}
.valor-horario,
.valor-acumulado,
.valor-promedio,
.valor-total {
    display: flex;
    align-items: center;
    justify-content: center;
    border-top: 1px solid var(--tlj-color-border);
    border-right: 1px solid var(--tlj-color-border);
    font-size: 14px;
    height: 38px;
}
.card-resumen {
    display: flex;
    height: fit-content;
    width: fit-content;
    align-items: center;
    justify-content: left;
    
    border: 2px solid var(--tlj-color-accent);
    border-radius: 12px;
    box-shadow: var(--tlj-effect-shadow-header-menu);
    padding: 13px 18px;
}
.resumen-grid {
    display: grid;
    grid-template-columns: 70px 1fr 110px;
    gap: 10px;
    align-items: center;
}
.resumen-header {
    height: 29px;
    background-color: var(--tlj-color-accent);
    font-weight: bold;
    font-size: 14px !important;
    display: flex;               
    align-items: center;          
    justify-content: center;
    text-align: center;
    padding: 0 10px;
    border-radius: 6px;
    box-shadow: var(--tlj-effect-shadow-header-menu);
}
.resumen-label {
    height: 29px;              
    background-color: var(--tlj-color-accent);
    font-weight: bold;
    font-size: 14px !important;
    text-align: center;
    border-radius: 6px;
    display: flex;               
    align-items: center;          
    justify-content: center;  
    box-shadow: var(--tlj-effect-shadow-header-menu);   
}
.resumen-input {
    width: 110px;
    height: 29px;    
    font-size: 16px;
    line-height: 29px;        
    text-align: center;   
    border: 1px solid var(--tlj-color-accent) !important;
    border-radius: 6px !important;
    box-sizing: border-box; 
    box-shadow: var(--tlj-effect-shadow-header-menu) !important;     
}
.resumen-input::placeholder {
    font-size: 14px !important;
    line-height: 29px;      
}
.resumen-input.readonly {
    min-width: 110px;          
    height: 29px;                 
    padding: 0 4px;               
    border: 1px solid var(--tlj-color-border) !important;
    border-radius: 6px !important;
    cursor: not-allowed;
    box-sizing: border-box;  
    box-shadow: var(--tlj-effect-shadow-header-menu);    
    text-align: center;    
}
/* «i» de Cálculos por balance: en su celda de la tabla, no en la esquina. */
.tlj-stats-root .icono-resumen {
    position: relative;
    inset: auto;
    place-self: center;
}

/* Responsive básico */
@media (max-width: 768px){
    .fila {
        flex-wrap: wrap;
    }
    .card-bpneto,
    .card-dias,
    .card-trades,
    .card-acc,
    .card-ratio,
    .card-bestworst,
    .card-horario {
        flex: 1 1 100%; /* tarjetas ocupan toda la fila en móvil */
    }
}
/* Tooltips de Mejor/Peor y Cálculos por balance (los posiciona calendario.js). */
.tlj-stats-root .tooltip-box {
    position: fixed;
    display: none;
    max-width: 260px;
    padding: 10px 12px;
    border: 1px solid var(--tlj-color-tooltip-border);
    border-radius: 9px;
    background: var(--tlj-color-tooltip-bg);
    box-shadow: var(--tlj-effect-tooltip-shadow);
    color: var(--tlj-color-tooltip-text);
    font-size: 11.5px;
    line-height: 1.6;
    z-index: 99999;
    pointer-events: none;
}
.tlj-stats-root .tooltip-box strong {
    color: var(--tlj-color-tooltip-strong);
    font-weight: 800;
}
.tlj-stats-root :is(#tooltip-diagan-box, #tooltip-diaper-box) {
    max-width: none;
    white-space: nowrap;
}
.popup-graf-content {
    padding: 12px;
}
.popup-graf-content img {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 2 * var(--tlj-modal-layer-pad, 20px) - 26px);
    object-fit: contain;
}

.progreso-objetivo {
    display: column;
    width: auto;
    height: fit-content;
    border: 2px solid var(--tlj-color-accent);
    border-radius: 12px;
    box-shadow: var(--tlj-effect-shadow-header-menu);
    padding: 13px 18px 8px 18px;
}
.titulo-barra {
    margin: auto;
    background-color: var(--tlj-color-accent);
    width: fit-content;
    border-radius: 6px;
    height: 30px;
    padding: 4px 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 18px;
    box-shadow: var(--tlj-effect-shadow-header-menu);
}

.barra-bidi {
    position: relative;
    width: 300px;
    height: 30px;
    border: 1px solid var(--tlj-color-accent);
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 16px;
    box-shadow: var(--tlj-effect-shadow-header-menu);
}

.barra-centro {
    position: absolute;
    left: 50%;
    top: 0;
    width: 1px;
    height: 100%;
    z-index: 3;
}

.barra-positiva,
.barra-negativa {
    position: absolute;
    top: 0;
    height: 100%;
    max-width: 50%;
    transition: width 0.4s ease;
}

.barra-positiva {
    left: 50%;
}

.barra-negativa {
    right: 50%;
}

.barra-porcentaje {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 12px;
    z-index: 5;
    pointer-events: none;
}
/* =========================================================
   TRADING LIFE JOURNAL · ESTADÍSTICAS 2.0
   Rediseño visual alineado con Lista de Trades / Evolución Histórica
   ========================================================= */

.tlj-stats-root,
.tlj-stats-root * {
    box-sizing: border-box;
}

.tlj-stats-root {


    position: relative;
    isolation: isolate;
    min-height: 850px;
    overflow: hidden;

    color: var(--tlj-color-text);
}

.tlj-stats-root button:not(.tlj-modal-action, .tlj-info, .tlj-pdf-btn),
.tlj-stats-root input,
.tlj-stats-root select {
    font: inherit;
}

.tlj-stats-root button:not(.tlj-modal-action),
.tlj-stats-root a,
.tlj-stats-root input,
.tlj-stats-root select {
    -webkit-tap-highlight-color: transparent;
}

.tlj-stats-root [hidden] {
    display: none !important;
}

/* =========================================================
   SELECTOR DE VISTA
   ========================================================= */

/* Selector de mercados: visual centralizado en TLJ Tema. */

.tlj-stats-root .custom-selectCal {
    position: relative;
    width: 240px;
    height: 46px;
    margin: 0;
    text-align: left;
    z-index: 100;
}

.tlj-stats-root .custom-selectCal__selected {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    padding: 9px 16px;
}

.tlj-stats-root .custom-selectCal__options {
    --tlj-dropdown-border: var(--tlj-color-accent);
    position: absolute;
    top: calc(100% + 7px);
    left: 0;
    display: none;
    width: 100%;
    overflow: hidden;
    z-index: 999999;
}

.tlj-stats-root .custom-selectCal.open .custom-selectCal__options {
    display: block;
}

.tlj-stats-root .custom-selectCal__options > .custom-selectCal__option {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    padding: 11px 14px;
    border-bottom: 1px solid var(--tlj-color-divider);
    text-align: center;
}

.tlj-stats-root .custom-selectCal__options > .custom-selectCal__option:last-child { border-bottom: 0; }

/* =========================================================
   CALENDARIOS
   ========================================================= */

.tlj-stats-root .calendar-container {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    overflow: hidden;
    
    border-radius: 12px;
    background: var(--tlj-color-field) !important;
}

.tlj-stats-root .calendar-header {
    position: relative;
    display: flex;
    min-height: 72px;
    gap: 13px;
    align-items: center;
    justify-content: center;
    padding: 14px 76px;
    border-bottom: 1px solid rgba(var(--tlj-color-accent-rgb), .32);
    background: rgba(var(--tlj-color-accent-rgb), .08);
    color: var(--tlj-color-button-hover-text);
    font-size: 24px;
    font-weight: 850;
    letter-spacing: -.4px;
}

.tlj-stats-root .calendar-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--tlj-color-button-hover-text);
}

.tlj-stats-root .calendar-icon svg { width: 22px; height: 22px; }

.tlj-stats-root .calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    border-bottom: 1px solid rgba(var(--tlj-color-accent-rgb), .22);
    background: var(--tlj-effect-compare-header-bg);
    color: var(--tlj-color-accent-text);
    
    font-weight: 850;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.tlj-stats-root .calendar-days div {
    padding: 11px 5px;
    border-right: 1px solid rgba(var(--tlj-color-accent-rgb), .10);
}
.tlj-stats-root .calendar-days div:last-child { border-right: 0; }

.tlj-stats-root .calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    background: var(--tlj-color-field);
}

.tlj-stats-root .day {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 118px;
    flex-direction: column;
    padding: 13px 12px 10px;
    border: 0;
    border-right: 1px solid var(--tlj-color-divider);
    border-bottom: 1px solid var(--tlj-color-divider);
    background: var(--tlj-color-surface);
    color: var(--tlj-color-text-soft);
    transition: background-color .35s ease, border-color .35s ease;
}

.tlj-stats-root .day:nth-child(7n) { border-right: 0; }
.tlj-stats-root .day:hover { border-color: rgba(var(--tlj-color-accent-rgb), .20); }
.tlj-stats-root .day.outside { background: var(--tlj-color-page-elevated) !important; color: var(--tlj-color-text-disabled); }
/* Resultado mensual: clases semánticas para que ningún fondo genérico pueda pisar el color del día. */
.tlj-stats-root .day.is-positive { background: var(--tlj-color-positive-bg) !important; }
.tlj-stats-root .day.is-negative { background: var(--tlj-color-negative-bg) !important; }
.tlj-stats-root .day.is-neutral { background: var(--tlj-color-breakeven-bg) !important; }

.tlj-stats-root .numerodia {
    top: 9px;
    right: 10px;
    color: var(--tlj-color-text-muted-2);
    font-size: 10px;
    font-weight: 800;
}

.tlj-stats-root .input-trades,
.tlj-stats-root .input-acc {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0 !important;
    background: transparent !important;
    color: var(--tlj-color-text-muted) !important;
    font-size: 10px;
    font-weight: 650;
    line-height: 1.5;
    pointer-events: none;
}

.tlj-stats-root .input-bpdia {
    display: flex;
    min-height: 52px;
    flex: 1 1 auto;
    gap: 5px;
    align-items: center;
    justify-content: center;
    margin-top: 5px;
    color: var(--tlj-color-text) !important;
    font-size: 18px !important;
    font-weight: 850;
    line-height: 1.1;
    text-align: center;
}

.tlj-stats-root .input-bpdia .gif-bp {
    margin-left: 5px;
}

.tlj-stats-root .mes-positivo,
.tlj-stats-root .anno-positivo { background: var(--tlj-color-positive-bg) !important; }
.tlj-stats-root .mes-negativo,
.tlj-stats-root .anno-negativo { background: var(--tlj-color-negative-bg) !important; }
.tlj-stats-root .mes-breakeven,
.tlj-stats-root .anno-breakeven { background: var(--tlj-color-breakeven-bg) !important; }

.tlj-stats-root .calendar-anio-grid,
.tlj-stats-root .calendar-general-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: var(--tlj-color-field);
}

.tlj-stats-root .mes-anio,
.tlj-stats-root .anno-general {
    position: relative;
    display: flex;
    min-height: 165px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 12px;
    border: 0;
    border-right: 1px solid var(--tlj-color-divider);
    border-bottom: 1px solid var(--tlj-color-divider);
    background: var(--tlj-color-surface);
    color: var(--tlj-color-text-secondary);
}

.tlj-stats-root .mes-anio .mes-titulo,
.tlj-stats-root .anno-general .anno-titulo {
    top: 14px;
    color: var(--tlj-color-accent-text);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .75px;
}

.tlj-stats-root .mes-anio .input-bpanio,
.tlj-stats-root .anno-general .input-bpneto {
    width: 100%;
    border: 0 !important;
    background: transparent !important;
    color: var(--tlj-color-text) !important;
    font-family: inherit;
    font-size: 24px;
    font-weight: 850;
}

.tlj-stats-root .mes-anio-footer,
.tlj-stats-root .anno-general-footer {
    right: 14px;
    bottom: 12px;
    left: 14px;
    display: flex;
    width: auto;
    gap: 12px;
    justify-content: space-between;
    color: var(--tlj-color-text-muted);
}

.tlj-stats-root .mes-anio-footer input,
.tlj-stats-root .anno-general-footer div {
    width: auto;
    padding: 0;
    border: 0 !important;
    background: transparent !important;
    color: var(--tlj-color-text-muted) !important;
    font-family: inherit;
    font-size: 10.5px;
    font-weight: 700;
}

.tlj-stats-root .mes-anio .gif-bp-anual,
.tlj-stats-root .anno-general .gif-bp-anual {
    top: 8px;
    right: 8px;
}

.tlj-stats-root .grafcal-mes,
.tlj-stats-root .grafcal-anio,
.tlj-stats-root .grafcal-gen {
    right: 18px;

    border: 1px solid rgba(var(--tlj-color-accent-rgb), .25) !important;
    border-radius: 8px;
    box-shadow: none !important;
    opacity: .88;
    transition: border-color .3s ease, opacity .3s ease, transform .3s ease;
}

.tlj-stats-root .grafcal-mes:hover,
.tlj-stats-root .grafcal-anio:hover,
.tlj-stats-root .grafcal-gen:hover {
    border-color: var(--tlj-color-accent) !important;
    opacity: 1;
    transform: scale(1.06);
}

.tlj-stats-root .year-dropdown {
    --tlj-dropdown-border: var(--tlj-color-accent);
    position: absolute;
    top: 100%;
    display: none;
    visibility: hidden;
    min-width: 150px;
    max-height: 220px;
    overflow-y: auto;
    font-size: 16px;
    text-align: center;
    z-index: 1000;
}

.tlj-stats-root .year-dropdown div {
    padding: 10px 14px;
}

.tlj-stats-root .year-dropdown div.selected {
    font-weight: 700;
}

/* =========================================================
   TARJETAS DE ESTADÍSTICAS
   ========================================================= */

.tlj-stats-root .estadisticas-container {
    display: flex;
    width: 100% !important;
    margin: 30px 0 0;
    gap: 14px;
    align-items: stretch;
    flex-direction: column;
}

.tlj-stats-root .fila1,
.tlj-stats-root .fila2,
.tlj-stats-root .fila3,
.tlj-stats-root .fila4,
.tlj-stats-root .fila5 {
    width: 100%;
    max-width: none;
    gap: 12px;
    margin: 0;
}

.tlj-stats-root .fila1 {
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 1fr));
}

.tlj-stats-root .card-balanceneto,
.tlj-stats-root .card-dias,
.tlj-stats-root .card-trades,
.tlj-stats-root .card-acc,
.tlj-stats-root .card-ratio,
.tlj-stats-root .card-comisiones,
.tlj-stats-root .card-tasaacierto,
.tlj-stats-root .card-tasaperdida,
.tlj-stats-root .card-tasabe {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 104px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 18px 17px;
    overflow: hidden;
    border: 1px solid var(--tlj-color-border);
    border-radius: 10px;
    background: rgba(var(--tlj-color-surface-rgb), .95);
    box-shadow: none;
    text-align: center;
    transition: border-color .45s ease, background-color .45s ease, box-shadow .45s ease;
}

.tlj-stats-root .fila1 > div:hover {
    border-color: rgba(var(--tlj-color-accent-rgb), .24);
    background: var(--tlj-color-surface-2);
    box-shadow: var(--tlj-effect-shadow-md);
}

.tlj-stats-root .title-all {
    display: block;
    width: 100%;
    padding: 0;
    background: transparent;

    font-weight: 850;
    line-height: 1.35;
    
    text-transform: uppercase;
    text-align: center;
}

.tlj-stats-root .valor {
    display: block;
    width: 100%;
    margin-top: 9px;
    padding: 0;
    color: var(--tlj-color-text);
    font-size: clamp(16px, 1.3vw, 21px);
    font-weight: 850;
    line-height: 1.15;
    white-space: nowrap;
    text-align: center;
}

/* Segunda fila */
.tlj-stats-root .fila2 {
    display: grid;
    grid-template-columns: minmax(0, 2.5fr) minmax(260px, .85fr);
    align-items: stretch;
}

.tlj-stats-root .card-bestworst,
.tlj-stats-root .card-racha,
.tlj-stats-root .card-acumulado,
.tlj-stats-root .card-promedio,
.tlj-stats-root .card-horario,
.tlj-stats-root .progreso-objetivo,
.tlj-stats-root .card-resumen {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--tlj-color-border);
    border-radius: 11px;
    background: var(--tlj-color-surface);
    box-shadow: none;
    color: var(--tlj-color-text-secondary);
}

.tlj-stats-root .card-bestworst { width: 100%; }
.tlj-stats-root .bestworst-grid { width: 100%; grid-template-columns: minmax(75px,.7fr) repeat(7,minmax(90px,1fr)); }

.tlj-stats-root .bw-title-empty,
.tlj-stats-root .bw-title,
.tlj-stats-root .title-vacia,
.tlj-stats-root .title-hora,
.tlj-stats-root .title-acumulado,
.tlj-stats-root .title-promedio,
.tlj-stats-root .label-hora,
.tlj-stats-root .label-acumulado,
.tlj-stats-root .label-promedio {
    border-color: rgba(var(--tlj-color-accent-rgb), .12) !important;
    background: var(--tlj-effect-compare-header-bg);
    color: var(--tlj-color-accent-text);
    box-shadow: none;
    
    font-weight: 850;
}

.tlj-stats-root .bw-title-empty,
.tlj-stats-root .bw-title {
    min-height: 38px;
    height: auto;
    padding: 8px 10px;
    border-bottom: 1px solid rgba(var(--tlj-color-accent-rgb), .15);
    border-left: 1px solid rgba(var(--tlj-color-accent-rgb), .10);
}

.tlj-stats-root .bw-label,
.tlj-stats-root .bw-cell {
    min-height: 48px;
    padding: 10px;
    
    color: var(--tlj-color-text-soft);
    font-size: 11px;
}

.tlj-stats-root .bw-label { font-weight: 850; }
.tlj-stats-root .bw-row-best { background: var(--tlj-color-positive-bg); }
.tlj-stats-root .bw-row-worst { background: var(--tlj-color-negative-bg); }

.tlj-stats-root .imagen {
    object-fit: contain;

    transition: transform .25s ease, opacity .25s ease;
}
.tlj-stats-root .imagen:hover { transform: scale(1.12); opacity: 1; }

/* Tercera fila */
.tlj-stats-root .fila3 {
    display: grid;
    grid-template-columns: minmax(330px, .8fr) minmax(0, 1.7fr);
    align-items: stretch;
}

.tlj-stats-root .card-acumulado,
.tlj-stats-root .card-promedio,
.tlj-stats-root .card-horario { width: 100%; }

.tlj-stats-root .acumulado-grid,
.tlj-stats-root .promedio-grid,
.tlj-stats-root .horario-grid { width: 100%; }
.tlj-stats-root .acumulado-grid { grid-template-columns: minmax(74px,.75fr) repeat(3,minmax(110px,1fr)); }
.tlj-stats-root .promedio-grid { grid-template-columns: minmax(74px,.72fr) repeat(7,minmax(86px,1fr)); }

/* Tabla de horarios: columnas alineadas */
.tlj-stats-root .card-horario .horario-grid {
    grid-template-columns:
        minmax(122px, 1.05fr)
        repeat(4, minmax(98px, 1fr)) !important;
    width: 100% !important;
}

/* Cabeceras y filas: un único separador por columna */
.tlj-stats-root .card-horario .horario-col > *,
.tlj-stats-root .card-horario .horario-col:nth-child(2) .title-hora {
    border-left: none !important;
    border-right: 1px solid rgba(var(--tlj-color-accent-rgb), .18) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* El contorno exterior ya cierra la última columna */
.tlj-stats-root .card-horario .horario-col:last-child > * {
    border-right: none !important;
}

.tlj-stats-root .title-vacia,
.tlj-stats-root .title-hora,
.tlj-stats-root .title-acumulado,
.tlj-stats-root .title-promedio {
    min-height: 38px;
    height: auto;
    padding: 8px 7px;
}

.tlj-stats-root .label-hora,
.tlj-stats-root .label-acumulado,
.tlj-stats-root .label-promedio,
.tlj-stats-root .valor-horario,
.tlj-stats-root .valor-acumulado,
.tlj-stats-root .valor-promedio,
.tlj-stats-root .valor-total {
    min-height: 43px;
    height: auto;
    padding: 8px 7px;
}

.tlj-stats-root .valor-horario,
.tlj-stats-root .valor-acumulado,
.tlj-stats-root .valor-promedio,
.tlj-stats-root .valor-total {
    background: var(--tlj-color-surface);
    color: var(--tlj-color-text-soft);
    font-size: 11px;
    font-weight: 700;
}
.tlj-stats-root .acc { background: var(--tlj-color-surface-2); }

/* Cuarta fila */
.tlj-stats-root .fila4 {
    display: grid;
    grid-template-columns: minmax(460px, 1.35fr) minmax(330px,.75fr) minmax(330px,.75fr);
}

.tlj-stats-root .progreso-objetivo,
.tlj-stats-root .card-resumen { padding: 20px; }

.tlj-stats-root .titulo-barra {
    width: auto;
    height: auto;
    margin: 0 0 17px;
    padding: 0;
    background: transparent;
    box-shadow: none;
    color: var(--tlj-color-accent-text);
    
    font-weight: 850;
    
    text-transform: uppercase;
}

.tlj-stats-root .barra-bidi {
    width: 100%;
    
    margin: 0 0 14px;
    overflow: hidden;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .25);
}

.tlj-stats-root .resumen-grid {
    width: 100%;
    grid-template-columns: 58px minmax(100px,1fr) minmax(100px,1fr);
    gap: 8px;
}

.tlj-stats-root .resumen-header,
.tlj-stats-root .resumen-label {
    min-height: 34px;
    height: auto;
    padding: 7px 9px;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .18);
    border-radius: 6px;
    background: var(--tlj-effect-compare-header-bg);
    box-shadow: none;
    color: var(--tlj-color-accent-text);
    font-size: 10.5px !important;
    font-weight: 850;
}

.tlj-stats-root .resumen-input,
.tlj-stats-root .resumen-input.readonly {
    width: 100%;
    min-width: 0;
    height: 36px;
    padding: 0 10px;
    border: 1px solid var(--tlj-color-border) !important;
    border-radius: 6px !important;
    background: var(--tlj-color-field);
    box-shadow: none !important;
    color: var(--tlj-color-text-secondary) !important;
    font-size: 11.5px;
    line-height: 36px;
}
.tlj-stats-root .resumen-input:focus {
    border-color: var(--tlj-color-accent) !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--tlj-color-accent-rgb), .06) !important;
}
.tlj-stats-root .resumen-input.readonly { background: var(--tlj-color-surface-2); color: var(--tlj-color-text-muted) !important; }
.tlj-stats-root .resumen-input::placeholder { color: var(--tlj-color-input-placeholder); font-size: 10px !important; }

/* =========================================================
   MOVIMIENTOS DE CAPITAL · CONDICIONAL
   ========================================================= */

.tlj-stats-movements {
    width: 100%;
    margin-top: 30px;
    overflow: hidden;
    border: 1px solid var(--tlj-color-accent);
    border-radius: 12px;
    background: var(--tlj-color-surface);
}

.tlj-stats-movements__head {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 28px;
    align-items: center;
    padding: 24px 26px;
    border-bottom: 1px solid var(--tlj-color-border);
    background: var(--tlj-color-surface);
}

.tlj-stats-section-kicker {
    display: block;
    margin-bottom: 6px;
    color: var(--tlj-color-accent-text);
    
    font-weight: 850;
    
    text-transform: uppercase;
}

.tlj-stats-movements__head h2 {
    margin: 0 !important;
    color: var(--tlj-color-text) !important;
    -webkit-text-fill-color: currentColor !important;
    
    font-weight: 850 !important;
    line-height: 1.2 !important;
    letter-spacing: -.35px !important;
}

.tlj-stats-movements__head p {
    margin: 8px 0 0 !important;
    color: var(--tlj-color-text-muted) !important;
    
    line-height: 1.6 !important;
}

.tlj-stats-movements__totals {
    display: flex;
    gap: 9px;
    align-items: center;
}

.tlj-stats-movement-total {
    min-width: 155px;
    padding: 12px 15px;
    border: 1px solid var(--tlj-color-border);
    border-radius: 8px;
    background: var(--tlj-color-surface-2);
}
.tlj-stats-movement-total span {
    display: block;
    color: var(--tlj-color-text-muted-2);
    
    font-weight: 800;
    letter-spacing: .5px;
    text-transform: uppercase;
    white-space: nowrap;
}
.tlj-stats-movement-total strong {
    display: block;
    margin-top: 5px;
    color: var(--tlj-color-text);
    
    font-weight: 850;
    white-space: nowrap;
}
.tlj-stats-movement-total--platform { border-color: rgba(var(--tlj-color-platform-rgb), .24); }
.tlj-stats-movement-total--platform strong { color: var(--tlj-color-platform); }
.tlj-stats-movement-total--withdrawal { border-color: rgba(var(--tlj-color-withdrawal-rgb), .24); }
.tlj-stats-movement-total--withdrawal strong { color: var(--tlj-color-withdrawal); }

.tlj-stats-movements__table {
    width: 100%;
    min-width: 650px;
    margin: 0;
    border: 0;
    border-top: 1px solid var(--tlj-color-accent);
    border-collapse: separate;
    border-spacing: 0;
    background: var(--tlj-color-surface);
    color: var(--tlj-color-text-secondary);
}
.tlj-stats-movements__table th,
.tlj-stats-movements__table td {
    padding: 13px 18px;
    border: 0;
    border-right: 1px solid var(--tlj-color-border-strong);
    border-bottom: 1px solid var(--tlj-color-border-strong);
    text-align: center;
    white-space: nowrap;
}
.tlj-stats-movements__table th:last-child,
.tlj-stats-movements__table td:last-child { border-right: 0; }
.tlj-stats-movements__table thead th {
    color: var(--tlj-color-accent-text);
    
    font-weight: 850;
    
    text-transform: uppercase;
}
.tlj-stats-movement-row--platform td { background: rgba(var(--tlj-color-platform-rgb), .08); }
.tlj-stats-movement-row--withdrawal td { background: rgba(var(--tlj-color-withdrawal-rgb), .08); }
.tlj-stats-movement-badge {
    display: inline-flex;
    min-height: 27px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid currentColor;
    border-radius: 999px;
    
    font-weight: 800;
    white-space: nowrap;
}
.tlj-stats-movement-badge--platform { color: var(--tlj-color-platform); background: rgba(var(--tlj-color-platform-rgb), .07); }
.tlj-stats-movement-badge--withdrawal { color: var(--tlj-color-withdrawal); background: rgba(var(--tlj-color-withdrawal-rgb), .07); }
.tlj-stats-movement-amount { font-weight: 850; }

/* =========================================================
   GRÁFICAS / POPUPS
   ========================================================= */

.tlj-stats-root .grafcal-content {
    width: min(1180px, 100%);
    height: min(760px, calc(100vh - 2 * var(--tlj-modal-layer-pad, 20px)));
    padding: 34px 30px 26px;
    overflow: hidden;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1280px){
    .tlj-stats-root .fila1 { grid-template-columns: repeat(5, minmax(0,1fr)); }
    .tlj-stats-root .fila4 { grid-template-columns: 1fr 1fr; }
    .tlj-stats-root .card-horario { grid-column: 1 / -1; }
}

@media (max-width: 980px){

    .tlj-stats-root .calendar-days { font-size: 9px; }
    .tlj-stats-root .day { min-height: 100px; padding: 10px 8px; }
    .tlj-stats-root .fila1 { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .tlj-stats-root .fila2,
    .tlj-stats-root .fila3,
    .tlj-stats-root .fila4 { grid-template-columns: 1fr; }
    .tlj-stats-root .fila2 > *,
    .tlj-stats-root .fila3 > *,
    .tlj-stats-root .fila4 > * { overflow-x: auto; }
    .tlj-stats-movements__head { grid-template-columns: 1fr; }
    .tlj-stats-movements__totals { justify-content: flex-start; }
}

@media (max-width: 700px){

    .tlj-stats-root .custom-selectCal { width: min(100%, 280px); }
    .tlj-stats-root .calendar-header { min-height: 62px; padding: 12px 62px 12px 18px; justify-content: flex-start; font-size: 18px; }
    .tlj-stats-root .calendar-days div { padding: 9px 2px; font-size: 0; }
    .tlj-stats-root .calendar-days div::first-letter { font-size: 9px; }
    .tlj-stats-root .calendar-grid { min-width: 700px; }
    .tlj-stats-root #calendarioMes { overflow-x: auto; }
    .tlj-stats-root .calendar-anio-grid,
    .tlj-stats-root .calendar-general-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .tlj-stats-root .fila1 { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .tlj-stats-root .bestworst-grid,
    .tlj-stats-root .promedio-grid,
    .tlj-stats-root .horario-grid,
    .tlj-stats-root .acumulado-grid { min-width: 760px; }
    .tlj-stats-root .grafcal-content { height: calc(100vh - 2 * var(--tlj-modal-layer-pad, 20px)); padding: 42px 12px 14px; }
    .tlj-stats-movements__totals { flex-direction: column; align-items: stretch; }
    .tlj-stats-movement-total { min-width: 0; }
}

/* =========================================================
   ESTADÍSTICAS 2.1 · AJUSTES FINALES DE COHERENCIA VISUAL
   ========================================================= */

/* Calendario por fecha: fondo oscuro, sin restos del diseño blanco anterior */
.tlj-stats-root #calendarioFecha {
    position: relative;
    background: var(--tlj-color-field) !important;
    color: var(--tlj-color-text-secondary) !important;
}
.tlj-stats-root #calendarFechaGraph {
    background: var(--tlj-color-field) !important;
}

/* Iconos de gráfica: vectoriales, sobrios y coherentes con TLJ */
.tlj-stats-root .grafcal-mes,
.tlj-stats-root .grafcal-anio,
.tlj-stats-root .grafcal-gen {
    background-color: var(--tlj-color-surface-2) !important;
}
.tlj-stats-root .grafcal-mes:hover,
.tlj-stats-root .grafcal-anio:hover,
.tlj-stats-root .grafcal-gen:hover {
    background-color: var(--tlj-color-surface-3) !important;
}

/* Iconos de información, trade y mejor/peor */
.tlj-stats-root .imagen {
    width: 20px !important;
    height: 20px !important;
    opacity: .92;
    filter: none !important;
}
.tlj-stats-root .input-bpdia .gif-bp {
    width: 29px !important;
    height: 29px !important;
    object-fit: contain;
}
.tlj-stats-root .mes-anio .gif-bp-anual,
.tlj-stats-root .anno-general .gif-bp-anual {
    width: 31px !important;
    height: 31px !important;
    object-fit: contain;
}

/* Primera fila: títulos algo mayores y turquesa */
.tlj-stats-root .title-all {
    color: var(--tlj-color-accent-text) !important;
    font-size: 11.5px !important;
    letter-spacing: .62px;
}

/* Cabeceras turquesa de Mejor/Peor, Balance, Promedio y Horarios */
.tlj-stats-root .bw-title-empty,
.tlj-stats-root .bw-title,
.tlj-stats-root .title-vacia,
.tlj-stats-root .title-hora,
.tlj-stats-root .title-acumulado,
.tlj-stats-root .title-promedio,
.tlj-stats-root .label-hora,
.tlj-stats-root .label-acumulado,
.tlj-stats-root .label-promedio {
    font-size: 12px !important;
}

/* Movimientos de capital: título turquesa y cabeceras más legibles */
.tlj-stats-section-kicker {
    font-size: 13px !important;
    letter-spacing: 1.35px;
}

.tlj-stats-movements__table thead th {
    letter-spacing: .6px;
}

/* Horarios: colorear de verdad toda la mejor/peor franja */
.tlj-stats-root .horario-col.tlj-horario-best .title-hora,
.tlj-stats-root .horario-col.tlj-horario-best .valor-horario {
    background: var(--tlj-color-positive-bg) !important;
}
.tlj-stats-root .horario-col.tlj-horario-best .title-hora {
    color: var(--tlj-color-positive-text) !important;
}

.tlj-stats-root .horario-col.tlj-horario-worst .title-hora,
.tlj-stats-root .horario-col.tlj-horario-worst .valor-horario {
    background: var(--tlj-color-negative-bg) !important;
}
.tlj-stats-root .horario-col.tlj-horario-worst .title-hora {
    color: var(--tlj-color-negative-text) !important;
}

/* Progresión al objetivo: profundidad 3D sutil */
.tlj-stats-root .progreso-objetivo {
    background: linear-gradient(180deg, var(--tlj-color-surface-2) 0%, var(--tlj-color-field) 100%);
    box-shadow:
        inset 0 1px 0 rgba(var(--tlj-color-contrast-rgb), .035),
        0 14px 34px rgba(var(--tlj-color-shadow-rgb), .18);
}
.tlj-stats-root .titulo-barra {
    font-size: 13px !important;
    letter-spacing: .7px;
}
.tlj-stats-root .barra-bidi {
    height: 38px;
    border-color: rgba(var(--tlj-color-accent-rgb), .34);
    border-radius: 9px;
    background: linear-gradient(180deg, var(--tlj-color-surface-3) 0%, var(--tlj-color-page-elevated) 52%, var(--tlj-color-surface-2) 100%);
    box-shadow:
        inset 0 2px 4px rgba(var(--tlj-color-contrast-rgb), .045),
        inset 0 -5px 9px rgba(var(--tlj-color-shadow-rgb), .6),
        0 7px 18px rgba(var(--tlj-color-shadow-rgb), .28);
}

.tlj-stats-root .barra-centro {
    width: 2px;
    background: rgba(var(--tlj-color-contrast-rgb), .42);
    box-shadow: 0 0 8px rgba(var(--tlj-color-contrast-rgb), .16);
}
.tlj-stats-root .barra-porcentaje {
    color: var(--tlj-color-text);
    font-size: 13px !important;
    font-weight: 850;
    text-shadow: 0 1px 2px rgba(var(--tlj-color-shadow-rgb), .75);
}
.tlj-stats-root .faltante {
    text-align: center;
    color: var(--tlj-color-text-secondary) !important;
    -webkit-text-fill-color: currentColor;
    font-size: 14.5px !important;
    font-weight: 750;
    line-height: 1.5;
}

/* Colores de resultados iguales al resto de la web */
.tlj-stats-root {
}

/* =========================================================
   AJUSTES 2.2.0 · COHERENCIA VISUAL TLJ
   ========================================================= */

/* Tasas: cada tarjeta conserva su color de resultado */
.tlj-stats-root .card-tasaacierto {
    background: var(--tlj-color-positive-bg) !important;
    border-color: rgba(var(--tlj-color-positive-vivid-rgb), .28) !important;
}
.tlj-stats-root .card-tasaperdida {
    background: var(--tlj-color-negative-bg) !important;
    border-color: rgba(var(--tlj-color-negative-vivid-rgb), .28) !important;
}
.tlj-stats-root .card-tasabe {
    background: var(--tlj-color-breakeven-bg) !important;
    border-color: rgba(var(--tlj-color-breakeven-vivid-rgb), .3) !important;
}
.tlj-stats-root .card-tasaacierto .title-all,
.tlj-stats-root .card-tasaacierto .valor { color: var(--tlj-color-positive-text) !important; }
.tlj-stats-root .card-tasaperdida .title-all,
.tlj-stats-root .card-tasaperdida .valor { color: var(--tlj-color-negative-text) !important; }
.tlj-stats-root .card-tasabe .title-all,
.tlj-stats-root .card-tasabe .valor { color: var(--tlj-color-breakeven-text) !important; }
.tlj-stats-root .fila1 > .card-tasaacierto:hover { background: rgba(var(--tlj-color-positive-vivid-rgb), .12) !important; border-color: rgba(var(--tlj-color-positive-vivid-rgb), .42) !important; }
.tlj-stats-root .fila1 > .card-tasaperdida:hover { background: rgba(var(--tlj-color-negative-vivid-rgb), .12) !important; border-color: rgba(var(--tlj-color-negative-vivid-rgb), .42) !important; }
.tlj-stats-root .fila1 > .card-tasabe:hover { background: rgba(var(--tlj-color-breakeven-vivid-rgb), .12) !important; border-color: rgba(var(--tlj-color-breakeven-vivid-rgb), .44) !important; }

/* Horarios: el encabezado de la franja SIEMPRE permanece turquesa */
.tlj-stats-root .horario-col .title-hora,
.tlj-stats-root .horario-col.tlj-horario-best .title-hora,
.tlj-stats-root .horario-col.tlj-horario-worst .title-hora {
    background: var(--tlj-color-active-bg) !important;
    color: var(--tlj-color-accent-text) !important;
}
.tlj-stats-root .horario-col.tlj-horario-best .valor-horario {
    background: var(--tlj-color-positive-bg) !important;
    color: var(--tlj-color-positive-text) !important;
}
.tlj-stats-root .horario-col.tlj-horario-worst .valor-horario {
    background: var(--tlj-color-negative-bg) !important;
    color: var(--tlj-color-negative-text) !important;
}

/* Rachas: misma paleta de resultados y tipografía más legible */

/* Progresión al objetivo: mismos verde/rojo que el resto de la web */

/* Mejor/Peor: estirar las dos filas para no dejar franja vacía al pie */
.tlj-stats-root .card-bestworst,
.tlj-stats-root .bestworst-grid {
    height: 100%;
}
.tlj-stats-root .bestworst-grid {
    grid-template-rows: auto minmax(48px, 1fr) minmax(48px, 1fr);
    align-content: stretch;
}
.tlj-stats-root .bestworst-grid .bw-label,
.tlj-stats-root .bestworst-grid .bw-cell {
    height: 100%;
}

/* =========================================================
   AJUSTES 2.3.0 · CALENDARIOS / TARJETAS / RACHAS
   ========================================================= */

/* Calendario mensual: días de la semana más legibles */
.tlj-stats-root .calendar-days {
    font-size: 13px !important;
}

/* Calendario anual: títulos de meses más grandes */
.tlj-stats-root .mes-anio .mes-titulo {
    font-size: 14px !important;
    letter-spacing: .8px !important;
}

/* Calendario anual: Días a la izquierda / Trades totalmente a la derecha */
.tlj-stats-root .mes-anio-footer {
    left: 14px !important;
    right: 14px !important;
    width: auto !important;
    gap: 8px !important;
    justify-content: space-between !important;
}
.tlj-stats-root .mes-anio-footer input {
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
}
.tlj-stats-root .mes-anio-footer input:first-child {
    text-align: left !important;
}
.tlj-stats-root .mes-anio-footer input:last-child {
    margin-left: auto !important;
    text-align: right !important;
}

/* Calendario general: año mucho más visible */
.tlj-stats-root .anno-general .anno-titulo {
    font-size: 19px !important;
    letter-spacing: .4px !important;
}

/* Tarjetas de tasas: título turquesa y valor blanco como el resto */
.tlj-stats-root .card-tasaacierto .title-all,
.tlj-stats-root .card-tasaperdida .title-all,
.tlj-stats-root .card-tasabe .title-all {
    color: var(--tlj-color-accent-text) !important;
}
.tlj-stats-root .card-tasaacierto .valor,
.tlj-stats-root .card-tasaperdida .valor,
.tlj-stats-root .card-tasabe .valor {
    color: var(--tlj-color-text) !important;
}

/* Rachas: etiqueta en su color; segunda columna siempre blanca */

/* Progresión: exactamente los mismos verde/rojo de TLJ, manteniendo profundidad */
.tlj-stats-root .barra-positiva {
    background: var(--tlj-color-positive-text) !important;
    box-shadow:
        inset 0 2px 2px rgba(var(--tlj-color-contrast-rgb), .16),
        inset 0 -4px 7px rgba(var(--tlj-color-shadow-rgb), .22) !important;
}
.tlj-stats-root .barra-negativa {
    background: var(--tlj-color-negative-text) !important;
    box-shadow:
        inset 0 2px 2px rgba(var(--tlj-color-contrast-rgb), .14),
        inset 0 -4px 7px rgba(var(--tlj-color-shadow-rgb), .24) !important;
}

/* =========================================================
   AJUSTES 2.4.0 · CORRECCIONES VISUALES FINALES
   ========================================================= */

/* Botón de gráfica: icono + texto dentro del mismo recuadro */
.tlj-stats-root .grafcal-mes,
.tlj-stats-root .grafcal-anio,
.tlj-stats-root .grafcal-gen {
    display: inline-flex !important;
    width: 96px !important;
    height: 38px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 11px 0 39px !important;
    color: var(--tlj-color-accent-text) !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    letter-spacing: .15px;
    white-space: nowrap;
}
.tlj-stats-root :is(.grafcal-mes,.grafcal-anio,.grafcal-gen)::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 11px;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    background: currentColor;
    -webkit-mask: center / 20px 20px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18V6M4 18h16'/%3E%3Cpath d='m7 15 4-5 3 3 5-7'/%3E%3Cpath d='M16 6h3v3'/%3E%3C/svg%3E");
    mask: center / 20px 20px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18V6M4 18h16'/%3E%3Cpath d='m7 15 4-5 3 3 5-7'/%3E%3Cpath d='M16 6h3v3'/%3E%3C/svg%3E");
    pointer-events: none;
}
.tlj-stats-root :is(.grafcal-mes,.grafcal-anio,.grafcal-gen) .tlj-stats-graph-label {
    display: inline-block;
    color: inherit;
    font: inherit;
    line-height: inherit;
    pointer-events: none;
}
.tlj-stats-root .grafcal-mes:hover,
.tlj-stats-root .grafcal-anio:hover,
.tlj-stats-root .grafcal-gen:hover {
    color: var(--tlj-color-button-hover-text) !important;
}

/* Mejor / peor día del calendario mensual: icono en esquina inferior derecha */
.tlj-stats-root .day > .tlj-day-corner-icon {
    position: absolute;
    right: 8px;
    bottom: 7px;
    z-index: 3;
    display: flex;
    width: 29px;
    height: 29px;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}
.tlj-stats-root .day > .tlj-day-corner-icon .gif-bp {
    display: block;
    width: 29px !important;
    height: 29px !important;
    margin: 0 !important;
    object-fit: contain;
}
.tlj-stats-root .day .input-bpdia {
    padding-right: 28px;
    padding-left: 28px;
}

/* Rachas: forzar exactamente los colores TLJ en los títulos y valores blancos */

/* Progresión: relleno sólido exacto de la paleta TLJ */

/* Tarjeta resumen: títulos Balance / Cantidad más grandes */

/* =========================================================
   AJUSTES 2.5.0 · CONSISTENCIA FINAL
   ========================================================= */

/* Rachas: mismos fondos oscuros/translúcidos visuales que las etiquetas de resultado */

/* Segunda columna de rachas: blanca y sin negrita */

/* Progresión: mismo fondo visual de las etiquetas positivas/negativas */

.tlj-stats-root .progreso-objetivo .barra-bidi .barra-negativa {
    background: var(--tlj-color-negative-bg) !important;
    background-color: var(--tlj-color-negative-bg) !important;
    background-image: none !important;
    box-shadow:
        inset 0 1px 0 rgba(var(--tlj-color-negative-vivid-rgb), .18),
        inset 0 -3px 6px rgba(var(--tlj-color-shadow-rgb), .26) !important;
}

/* Horarios, progresión y cálculos: misma altura de tarjeta en la cuarta fila */
.tlj-stats-root .fila4 {
    align-items: stretch !important;
}
.tlj-stats-root .fila4 > .card-horario,
.tlj-stats-root .fila4 > .progreso-objetivo,
.tlj-stats-root .fila4 > .card-resumen {
    height: 100% !important;
    box-sizing: border-box !important;
}

.tlj-stats-root .progreso-objetivo {
    display: flex !important;
    flex-direction: column !important;
}
.tlj-stats-root .card-resumen {
    display: flex !important;
    align-items: center !important;
}

/* Cálculos: Balance / Cantidad vuelven al tamaño previo al aumento de 2.4.0 */
.tlj-stats-root .card-resumen .resumen-header {
    font-size: 10.5px !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

/* Movimientos de capital: textos y tabla más legibles */
.tlj-stats-movements .tlj-stats-section-kicker {
    font-size: 12px !important;
}
.tlj-stats-movements__head h2 {
    font-size: 24px !important;
}
.tlj-stats-movements__head p {
    font-size: 13px !important;
}
.tlj-stats-movement-total span {
    font-size: 10.5px !important;
}
.tlj-stats-movement-total strong {
    font-size: 17px !important;
}
.tlj-stats-movements__table {
    font-size: 13px !important;
}

.tlj-stats-movements__table td {
    font-size: 13px !important;
}
.tlj-stats-movement-badge {
    font-size: 11.5px !important;
}

/* =========================================================
   AJUSTES 2.6.0 · PROGRESIÓN / HORARIOS / RACHAS / ICONOS
   ========================================================= */

/* Progresión: más separación entre título, barra y faltante */
.tlj-stats-root .progreso-objetivo {
    justify-content: center !important;
}

.tlj-stats-root .progreso-objetivo .faltante {
    margin: 0 !important;
}

/* Horarios: nueva fila útil y reparto vertical completo, sin franja negra al pie */
.tlj-stats-root .card-horario .horario-grid {
    height: 100% !important;
    align-items: stretch !important;
}
.tlj-stats-root .card-horario .horario-col {
    display: grid !important;
    grid-template-rows: auto repeat(4, minmax(43px, 1fr)) !important;
    height: 100% !important;
    min-height: 0 !important;
}
.tlj-stats-root .card-horario .title-vacia,
.tlj-stats-root .card-horario .title-hora,
.tlj-stats-root .card-horario .label-hora,
.tlj-stats-root .card-horario .valor-horario {
    height: 100% !important;
    box-sizing: border-box !important;
}
.tlj-stats-root .card-horario .label-hora {
    white-space: nowrap;
}

/* Rachas: textos de la primera columna en blanco */

/* Mejor/Peor: iconos siempre pegados al extremo derecho de cada celda */
.tlj-stats-root .bestworst-grid .bw-cell {
    position: relative !important;
    justify-content: center !important;
    padding-right: 36px !important;
}
.tlj-stats-root .bestworst-grid .bw-cell > .imagen {
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
}
.tlj-stats-root .bestworst-grid .bw-cell > .imagen:hover {
    transform: translateY(-50%) scale(1.12) !important;
}
.tlj-stats-root .bestworst-grid .bw-cell > .bw-icons {
    position: absolute !important;
    right: 8px !important;
    top: 50% !important;
    display: flex !important;
    gap: 5px !important;
    align-items: center !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
}
.tlj-stats-root .bestworst-grid .bw-cell:has(> .bw-icons) {
    padding-right: 58px !important;
}
.tlj-stats-root .bestworst-grid .bw-icons .imagen {
    position: static !important;
    margin: 0 !important;
    transform: none !important;
}
.tlj-stats-root .bestworst-grid .bw-icons .imagen:hover {
    transform: scale(1.12) !important;
}

/* =========================================================
   AJUSTES 2.7.0 · INFO / MOVIMIENTOS / SELECTOR
   ========================================================= */

/* Movimientos de capital: máximo 7 filas visibles antes del scroll vertical. */
.tlj-stats-movements__table-wrap {
    max-height: 381px !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
}

.tlj-stats-movements__table thead th {
    position: sticky !important;
    top: 0 !important;
    z-index: 4 !important;
    height: 45px !important;
    padding: 0 18px !important;
    vertical-align: middle !important;
    font-size: 13px !important;
}

.tlj-stats-movements__table tbody td {
    height: 48px !important;
    padding: 0 18px !important;
    vertical-align: middle !important;
}

/* =========================================================
   AJUSTES 2.8.0 · TOGGLE CALENDARIOS / PDF / MEJOR-PEOR
   ========================================================= */

/* Mejor/Peor: si solo hay “-”, queda exactamente centrado. */
.tlj-stats-root .bestworst-grid .bw-cell.is-empty {
    padding-left: 10px !important;
    padding-right: 10px !important;
    justify-content: center !important;
    text-align: center !important;
}
.tlj-stats-root .bestworst-grid .bw-cell.is-empty > span[id^="valor-"] {
    display: block;
    width: 100%;
    text-align: center;
}

/* =========================================================
   AJUSTES 2.9.0 · TOGGLE FLATPICKR + MODAL PDF
   ========================================================= */

/* El input invisible no debe capturar clics: la apertura/cierre se controla
   exclusivamente desde la cabecera del calendario. */
.tlj-stats-root #flatpickrInput,
.tlj-stats-root #flatpickrFechaInput {
    pointer-events: none !important;
}

/* Modal de resultado de exportación PDF: confirmación común de TLJ Tema;
   el icono cambia con .tlj-confirm--danger. */
.tlj-stats-pdf-modal__icon-error {
    display: none;
}

.tlj-confirm--danger .tlj-stats-pdf-modal__icon-success {
    display: none;
}

.tlj-confirm--danger .tlj-stats-pdf-modal__icon-error {
    display: block;
}

/* =========================================================
   AJUSTES 3.1.0 · SEPARADORES Y CARGA
   ========================================================= */

/* Línea turquesa degradada entre calendario y estadísticas. */
.tlj-stats-root .tlj-stats-fade-separator {
    width: min(88%, 1120px);
    height: 1px;
    margin: 26px auto;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(var(--tlj-color-accent-rgb), .18) 12%,
        rgba(var(--tlj-color-accent-rgb), .82) 50%,
        rgba(var(--tlj-color-accent-rgb), .18) 88%,
        transparent 100%
    );
    box-shadow: 0 0 12px rgba(var(--tlj-color-accent-rgb), .08);
}

/* Segunda línea, solo cuando existe la tabla de movimientos. */
.tlj-stats-root .tlj-stats-fade-separator--movements {
    margin-top: 28px;
    margin-bottom: 28px;
}
.tlj-stats-root .tlj-stats-fade-separator[hidden] {
    display: none !important;
}

/* =========================================================
   AJUSTES 3.2.0 · CONTORNO CALENDARIO + CARGA
   ========================================================= */

/* Contorno turquesa continuo de todo el bloque del calendario:
   cabecera mensual/anual/general/fechas, contenido y zona de gráfica. */
.tlj-stats-root .calendar-container {
    border: 1.5px solid var(--tlj-color-accent) !important;
    box-shadow: var(--tlj-effect-shadow-lg),
        0 0 0 1px rgba(var(--tlj-color-accent-rgb), .04) inset !important;
}

/* =========================================================
   ANÁLISIS AVANZADO 3.4.0
   ========================================================= */

.tlj-stats-root .tlj-advanced-insights {
  margin: 0 0 22px;
}

.tlj-stats-root .tlj-advanced-insights__head {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.tlj-stats-root .tlj-advanced-insights__head h2 {
  margin: 0 !important;
  color: var(--tlj-color-text) !important;
  font-size: 21px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  letter-spacing: -.35px !important;
}

.tlj-stats-root .tlj-advanced-insights__head p {
  margin: 0 !important;
  color: var(--tlj-color-text-muted) !important;
  font-size: 11.5px !important;
  line-height: 1.55 !important;
}

.tlj-stats-root .tlj-advanced-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
}

.tlj-stats-root .tlj-advanced-card {
  position: relative;
  min-width: 0;
  overflow: visible;
  
  border: 1px solid rgba(var(--tlj-color-accent-rgb), .15);
  border-radius: 11px;
  background: var(--tlj-color-surface);
  box-shadow: var(--tlj-effect-shadow-md);
}

.tlj-stats-root .tlj-advanced-card--drawdown,
.tlj-stats-root .tlj-advanced-card--expectancy,
.tlj-stats-root .tlj-advanced-card--consistency {
  grid-column: span 4;
}

.tlj-stats-root .tlj-advanced-card--drivers { grid-column: span 7; }
.tlj-stats-root .tlj-advanced-card--errors { grid-column: span 5; }
.tlj-stats-root .tlj-advanced-card--timeframes,
.tlj-stats-root .tlj-advanced-card--psychology { grid-column: 1 / -1; }
.tlj-stats-root .tlj-advanced-card--strategies,
.tlj-stats-root .tlj-advanced-card--rules { grid-column: span 6; }
.tlj-stats-root .tlj-advanced-card--risk-units { grid-column: auto; }
.tlj-stats-root .tlj-advanced-card--compare { grid-column: 1 / -1; }

.tlj-stats-root .tlj-risk-quarantine-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 12px;
  min-width: 0;
  align-items: stretch;
}
.tlj-stats-root #tljStatsAdvanced.tlj-advanced-has-quarantine .tlj-risk-quarantine-row {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.tlj-stats-root .tlj-risk-quarantine-row > :is(.tlj-advanced-card--risk-units,.tlj-stats-control-panels--advanced) {
  width: 100%;
  min-width: 0;
  margin: 0;
}
.tlj-stats-root .tlj-risk-quarantine-row .tlj-stats-control-card,
.tlj-stats-root .tlj-risk-quarantine-row .tlj-advanced-card--risk-units {
  height: 100%;
}

.tlj-stats-root .tlj-advanced-card__head {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 17px 18px 14px;
  border-radius: 10px 10px 0 0;

  border-bottom: 1px solid transparent;
  border-image: linear-gradient(
    90deg,
    transparent 0%,
    rgba(var(--tlj-color-accent-rgb), .22) 10%,
    rgba(var(--tlj-color-accent-rgb), .88) 50%,
    rgba(var(--tlj-color-accent-rgb), .22) 90%,
    transparent 100%
  ) 1;
  background: rgba(var(--tlj-color-accent-rgb), .08);
}

.tlj-stats-root .tlj-advanced-card__head > div > span {
  display: block;
  margin-bottom: 4px;
  color: var(--tlj-color-accent-text);
  font-size: 9.5px;
  font-weight: 850;
  letter-spacing: 1.15px;
  text-transform: uppercase;
}

.tlj-stats-root .tlj-advanced-card__head h3 {
  margin: 0 !important;
  color: var(--tlj-color-input-text) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.tlj-stats-root .tlj-advanced-card__head > b {
  display: inline-grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  place-items: center;
  border: 1px solid rgba(var(--tlj-color-accent-rgb), .23);
  border-radius: 7px;
  background: rgba(var(--tlj-color-accent-rgb), .055);
  color: var(--tlj-color-accent-text);
  font-size: 9px;
  font-weight: 900;
}

.tlj-stats-root .tlj-advanced-metrics {
  display: grid;
  gap: 0;
  padding: 10px 18px 17px;
}

.tlj-stats-root .tlj-advanced-metrics--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tlj-stats-root .tlj-advanced-metrics--three { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-top: 4px; }

.tlj-stats-root .tlj-advanced-metrics > div {
  min-width: 0;
  padding: 16px 10px 12px;
  border-bottom: 1px solid var(--tlj-color-divider);
}

.tlj-stats-root .tlj-advanced-metrics--four > div:nth-last-child(-n/**/+2) { border-bottom: 0; }

/* Riesgo y Ventaja estadística: línea turquesa degradada entre las dos filas. */
@media (min-width: 701px){
  .tlj-stats-root .tlj-advanced-card--drawdown .tlj-advanced-metrics--four > div:nth-child(-n/**/+2),
  .tlj-stats-root .tlj-advanced-card--expectancy .tlj-advanced-metrics--four > div:nth-child(-n/**/+2) {
    border-bottom: 0;
  }

  .tlj-stats-root .tlj-advanced-card--drawdown .tlj-advanced-metrics--four > div:first-child,
  .tlj-stats-root .tlj-advanced-card--expectancy .tlj-advanced-metrics--four > div:first-child {
    position: relative;
  }

  .tlj-stats-root .tlj-advanced-card--drawdown .tlj-advanced-metrics--four > div:first-child::after,
  .tlj-stats-root .tlj-advanced-card--expectancy .tlj-advanced-metrics--four > div:first-child::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 200%;
    height: 1px;
    background: linear-gradient(
      90deg,
      transparent 0%,
      rgba(var(--tlj-color-accent-rgb), .22) 10%,
      rgba(var(--tlj-color-accent-rgb), .88) 50%,
      rgba(var(--tlj-color-accent-rgb), .22) 90%,
      transparent 100%
    );
    pointer-events: none;
  }
}
.tlj-stats-root .tlj-advanced-metrics--three > div { border-bottom: 0; text-align: center; }

.tlj-stats-root .tlj-advanced-metrics span {
  display: block;
  margin-bottom: 5px;
  color: var(--tlj-color-text-muted-2);
  font-size: 9.5px;
  font-weight: 700;
  line-height: 1.3;
}

.tlj-stats-root .tlj-advanced-metrics strong {
  display: block;
  overflow: hidden;
  color: var(--tlj-color-text);
  font-size: 13px;
  font-weight: 780;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tlj-stats-root .tlj-advanced-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.tlj-stats-root .tlj-advanced-table {
  width: 100%;
  min-width: 520px;
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--tlj-color-surface);
  table-layout: auto;
}

.tlj-stats-root .tlj-advanced-table th,
.tlj-stats-root .tlj-advanced-table td {
  padding: 11px 12px;
  border: 0;
  border-right: 1px solid var(--tlj-color-divider);
  border-bottom: 1px solid var(--tlj-color-divider);
  color: var(--tlj-color-text-soft);
  font-size: 10.5px;
  line-height: 1.35;
  text-align: center;
  vertical-align: middle;
}

.tlj-stats-root .tlj-advanced-table th {
  background: var(--tlj-effect-compare-header-bg);
  color: var(--tlj-color-accent-text);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .35px;
  text-transform: uppercase;
}

.tlj-stats-root .tlj-advanced-table th:last-child,
.tlj-stats-root .tlj-advanced-table td:last-child { border-right: 0; }
.tlj-stats-root .tlj-advanced-table td:first-child { color: var(--tlj-color-text-secondary); font-weight: 700; text-align: center; }
.tlj-stats-root .tlj-advanced-table td.is-positive { background: var(--tlj-color-positive-bg); color: var(--tlj-color-positive-text); }
.tlj-stats-root .tlj-advanced-table td.is-negative { background: var(--tlj-color-negative-bg); color: var(--tlj-color-negative-text); }
.tlj-stats-root .tlj-advanced-table td.is-neutral { color: var(--tlj-color-text-soft); }

.tlj-stats-root .tlj-advanced-empty {
  padding: 22px !important;
  color: var(--tlj-color-text-muted-2) !important;
  font-style: italic;
  text-align: center !important;
}

.tlj-stats-root .tlj-consistency-score {
  display: flex;
  align-items: baseline;
  justify-content: center;
  padding: 15px 18px 7px;
}

.tlj-stats-root .tlj-consistency-score strong {
  color: var(--tlj-color-accent-text);
  font-size: 31px;
  font-weight: 900;
  line-height: 1;
}

.tlj-stats-root .tlj-consistency-score strong.is-positive { color: var(--tlj-color-positive-text); }
.tlj-stats-root .tlj-consistency-score strong.is-negative { color: var(--tlj-color-negative-text); }
.tlj-stats-root .tlj-consistency-score strong.is-neutral { color: var(--tlj-color-accent-text); }
.tlj-stats-root .tlj-consistency-score span { margin-left: 3px; color: var(--tlj-color-text-muted-2); font-size: 10px; font-weight: 700; }

.tlj-stats-root .tlj-consistency-bar {
  height: 7px;
  margin: 0 24px 5px;
  overflow: hidden;
  border: 1px solid rgba(var(--tlj-color-accent-rgb), .15);
  border-radius: 999px;
  background: var(--tlj-color-surface-2);
  box-shadow: inset 0 2px 4px rgba(var(--tlj-color-shadow-rgb), .38);
}

.tlj-stats-root .tlj-consistency-bar i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--tlj-color-accent), var(--tlj-color-positive-base));
  box-shadow: 0 0 12px rgba(var(--tlj-color-accent-rgb), .20);
  transition: width .5s ease;
}

.tlj-stats-root .tlj-compare-labels {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  padding: 10px 14px;
  border-bottom: 1px solid var(--tlj-color-divider);
}

.tlj-stats-root .tlj-compare-labels span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border: 1px solid rgba(var(--tlj-color-accent-rgb), .15);
  border-radius: 6px;
  background: rgba(var(--tlj-color-accent-rgb), .045);
  color: var(--tlj-color-text-soft);
  font-size: 9.5px;
  font-weight: 700;
}

@media (max-width: 1100px){
  .tlj-stats-root .tlj-advanced-card--drawdown,
  .tlj-stats-root .tlj-advanced-card--expectancy,
  .tlj-stats-root .tlj-advanced-card--consistency { grid-column: span 6; }
  .tlj-stats-root .tlj-advanced-card--consistency { grid-column: 1 / -1; }
  .tlj-stats-root .tlj-advanced-card--drivers,
  .tlj-stats-root .tlj-advanced-card--errors,
  .tlj-stats-root .tlj-advanced-card--timeframes,
  .tlj-stats-root .tlj-advanced-card--psychology,
  .tlj-stats-root .tlj-advanced-card--strategies,
  .tlj-stats-root .tlj-advanced-card--rules,
  .tlj-stats-root .tlj-advanced-card--risk-units { grid-column: 1 / -1; }
}

@media (max-width: 700px){
  .tlj-stats-root .tlj-advanced-grid { grid-template-columns: 1fr; }
  .tlj-stats-root .tlj-advanced-grid > .tlj-advanced-card { grid-column: 1 !important; }
  .tlj-stats-root .tlj-advanced-metrics--four,
  .tlj-stats-root .tlj-advanced-metrics--three { grid-template-columns: 1fr; }
  .tlj-stats-root .tlj-advanced-metrics--four > div,
  .tlj-stats-root .tlj-advanced-metrics--three > div { border-bottom: 1px solid var(--tlj-color-divider); text-align: left; }
  .tlj-stats-root .tlj-advanced-metrics > div:last-child { border-bottom: 0; }
  .tlj-stats-root .tlj-compare-labels { justify-content: flex-start; overflow-x: auto; }
}

/* =========================================================
   AJUSTES 3.5.0 · TOOLTIPS AVANZADOS / RACHAS
   ========================================================= */

/* Rachas: primera columna en blanco y sin negrita */

/* =========================================================
   AJUSTES 3.6.0 · PROGRESIÓN / TOOLTIPS / HORARIOS
   ========================================================= */

/* Progresión: una sola escala, 0 a la izquierda y sin zona negativa. */
.tlj-stats-root .progreso-objetivo .barra-bidi {
  position: relative !important;
  overflow: hidden !important;
  background: var(--tlj-color-surface-3) !important;
}
.tlj-stats-root .progreso-objetivo .barra-bidi .barra-centro,
.tlj-stats-root .progreso-objetivo .barra-bidi .barra-negativa {
  display: none !important;
}
.tlj-stats-root .progreso-objetivo .barra-bidi .barra-positiva {
  left: 0 !important;
  right: auto !important;
  max-width: 100% !important;
  width: 0;
  background: rgba(var(--tlj-color-positive-vivid-rgb), .16) !important;
  background-color: rgba(var(--tlj-color-positive-vivid-rgb), .16) !important;
  background-image: none !important;
  box-shadow: inset 0 1px 0 rgba(var(--tlj-color-positive-vivid-rgb), .16) !important;
}
.tlj-stats-root .progreso-objetivo .barra-bidi .barra-positiva.is-negative {
  background: rgba(var(--tlj-color-negative-vivid-rgb), .16) !important;
  background-color: rgba(var(--tlj-color-negative-vivid-rgb), .16) !important;
  box-shadow: inset 0 1px 0 rgba(var(--tlj-color-negative-vivid-rgb), .14) !important;
}

/* Más separación entre las tres líneas: título, barra y faltante. */
.tlj-stats-root .progreso-objetivo .titulo-barra {
  margin: 0 0 30px !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  letter-spacing: .75px !important;
}
.tlj-stats-root .progreso-objetivo .barra-bidi {
  margin: 0 0 28px !important;
}
/* Horarios: los datos siempre en blanco, aunque la franja sea mejor o peor. */
.tlj-stats-root .card-horario .valor-horario,
.tlj-stats-root .card-horario .horario-col.tlj-horario-best .valor-horario,
.tlj-stats-root .card-horario .horario-col.tlj-horario-worst .valor-horario {
  color: var(--tlj-color-text) !important;
  -webkit-text-fill-color: var(--tlj-color-text) !important;
}
/* =========================================================
   LÍNEAS SEPARADORAS DE TABLAS
   ========================================================= */

/* Mejor / Peor */
.tlj-stats-root .bw-label,
.tlj-stats-root .bw-cell {
  border-color: rgba(var(--tlj-color-accent-rgb), .18) !important;
}

/* Rachas */

/* Balance acumulado / Promedios / Horarios */
.tlj-stats-root .label-hora,
.tlj-stats-root .label-acumulado,
.tlj-stats-root .label-promedio,
.tlj-stats-root .valor-horario,
.tlj-stats-root .valor-acumulado,
.tlj-stats-root .valor-promedio,
.tlj-stats-root .valor-total {
  border-color: rgba(var(--tlj-color-accent-rgb), .18) !important;
}

/* Movimientos de capital */
.tlj-stats-movements__table th,
.tlj-stats-movements__table td {
  border-right-color: rgba(var(--tlj-color-accent-rgb), .18) !important;
  border-bottom-color: rgba(var(--tlj-color-accent-rgb), .18) !important;
}

/* Tablas de análisis avanzado */
.tlj-stats-root .tlj-advanced-table th,
.tlj-stats-root .tlj-advanced-table td {
  border-right-color: rgba(var(--tlj-color-accent-rgb), .18) !important;
  border-bottom-color: rgba(var(--tlj-color-accent-rgb), .18) !important;
}
/* =========================================================
   LÍNEAS TURQUESAS DE LOS CALENDARIOS
   ========================================================= */

/* Contorno exterior del calendario */
.tlj-stats-root .calendar-container {
    border-color: rgba(var(--tlj-color-accent-rgb), .30) !important;
}

/* Línea inferior de la cabecera */
.tlj-stats-root .calendar-header {
    border-bottom-color: rgba(var(--tlj-color-accent-rgb), .30) !important;
}

/* =========================================
   CALENDARIO MENSUAL
   ========================================= */

/* Cabecera Lun, Mar, Mié... */
.tlj-stats-root .calendar-days {
    border-bottom-color: rgba(var(--tlj-color-accent-rgb), .18) !important;
}

.tlj-stats-root .calendar-days div {
    border-right-color: rgba(var(--tlj-color-accent-rgb), .18) !important;
}

/* Separaciones entre los días */
.tlj-stats-root .day {
    border-right-color: rgba(var(--tlj-color-accent-rgb), .18) !important;
    border-bottom-color: rgba(var(--tlj-color-accent-rgb), .18) !important;
}

/* =========================================
   CALENDARIO ANUAL
   ========================================= */

/* Separaciones entre los meses */
.tlj-stats-root .mes-anio {
    border-right-color: rgba(var(--tlj-color-accent-rgb), .18) !important;
    border-bottom-color: rgba(var(--tlj-color-accent-rgb), .18) !important;
}

/* =========================================
   CALENDARIO GENERAL
   ========================================= */

/* Separaciones entre los años */
.tlj-stats-root .anno-general {
    border-right-color: rgba(var(--tlj-color-accent-rgb), .18) !important;
    border-bottom-color: rgba(var(--tlj-color-accent-rgb), .18) !important;
}
/* =========================================================
   ESTADÍSTICAS 3.8.7 · ESTADO VISUAL CONSOLIDADO
   ========================================================= */

/* ---------- Bordes turquesa homogéneos ---------- */
.tlj-stats-root .card-balanceneto,
.tlj-stats-root .card-dias,
.tlj-stats-root .card-trades,
.tlj-stats-root .card-acc,
.tlj-stats-root .card-ratio,
.tlj-stats-root .card-comisiones,
.tlj-stats-root .card-tasaacierto,
.tlj-stats-root .card-tasaperdida,
.tlj-stats-root .card-tasabe,
.tlj-stats-root .card-bestworst,
.tlj-stats-root .card-racha,
.tlj-stats-root .card-acumulado,
.tlj-stats-root .card-promedio,
.tlj-stats-root .card-horario,
.tlj-stats-root .progreso-objetivo,
.tlj-stats-root .card-resumen,
.tlj-stats-root .tlj-advanced-card,
.tlj-stats-root .tlj-stats-control-card,
.tlj-stats-root .tlj-stats-movements {
  border-color: rgba(var(--tlj-color-accent-rgb), .42) !important;
}

/* Rachas: tres filas completas; el color pertenece a la fila, sin franjas entre celdas. */
.tlj-stats-root .card-racha { width: 100%; height: 100%; }
.tlj-stats-root .card-racha .tlj-racha-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(3, minmax(42px, 1fr));
  width: 100%;
  height: 100%;
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: transparent;
  text-align: center;
}
.tlj-stats-root .card-racha .tlj-racha-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 90px;
  min-height: 42px;
  gap: 0;
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
  color: var(--tlj-color-text);
}
.tlj-stats-root .card-racha .tlj-racha-row--win { background: var(--tlj-color-positive-bg); }
.tlj-stats-root .card-racha .tlj-racha-row--loss { background: var(--tlj-color-negative-bg); }
.tlj-stats-root .card-racha .tlj-racha-row--be { background: var(--tlj-color-breakeven-bg); }
.tlj-stats-root .card-racha .tlj-racha-row > div {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 42px;
  margin: 0;
  padding: 7px 10px;
  border: 0;
  box-sizing: border-box;
  background: inherit;
  color: inherit;
  -webkit-text-fill-color: currentColor;
  font-size: 13px;
  font-weight: 500;
}
.tlj-stats-root .card-racha .tlj-racha-row > div:last-child { font-weight: 550; }

/* ---------- Mejor / Peor ---------- */
.tlj-stats-root .bestworst-grid .bw-label.bw-row-best,
.tlj-stats-root .bestworst-grid .bw-label.bw-row-worst {
  color: var(--tlj-color-button-hover-text) !important;
  -webkit-text-fill-color: var(--tlj-color-button-hover-text) !important;
}

/* Mejor/Peor: «i» pequeña dentro de cada celda y sin desenfoque de fondo. */
.tlj-stats-root .bestworst-grid .bw-info-small {
  width: 18px;
  height: 18px;
  font-size: 11px;
  transition: color .35s ease, border-color .35s ease, background-color .35s ease, transform .35s ease;
}
.tlj-stats-root .bestworst-grid .bw-info-small:is(:hover,:focus-visible) {
  transform: scale(1.08);
}
.tlj-stats-root .bestworst-grid .bw-cell > .bw-info-small {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
.tlj-stats-root .bestworst-grid .bw-cell > .bw-info-small:is(:hover,:focus-visible) {
  transform: translateY(-50%) scale(1.08);
}

/* ---------- Balance / Cantidad ---------- */
.tlj-stats-root .card-resumen .resumen-input,
.tlj-stats-root .card-resumen .resumen-input.readonly {
  border: 1px solid rgba(var(--tlj-color-accent-rgb), .48) !important;
}

/* ---------- Análisis avanzado: línea y textos centrados ---------- */
.tlj-stats-root .tlj-stats-fade-separator--advanced {
  display: block !important;
  width: min(88%,1120px) !important;
  margin: 18px auto 15px !important;
}
.tlj-stats-root .tlj-advanced-insights__head {
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 auto 14px !important;
  text-align: center !important;
}
.tlj-stats-root .tlj-advanced-insights__head .tlj-stats-section-kicker,
.tlj-stats-root .tlj-advanced-insights__head h2,
.tlj-stats-root .tlj-advanced-insights__head p {
  width: 100% !important;
  text-align: center !important;
}

/* ---------- Las tablas redondean el borde inferior sin recortar los tooltips ---------- */
.tlj-stats-root .tlj-advanced-card .tlj-advanced-table-wrap {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  border-radius: 0 0 10px 10px !important;
}

/* ---------- Comparador: fechas en la cabecera, centradas ---------- */
.tlj-stats-root .tlj-advanced-card--compare .tlj-advanced-card__head {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto 30px !important;
  gap: 9px !important;
  align-items: center !important;
  min-height: 54px !important;
  padding: 9px 13px !important;
}
.tlj-stats-root .tlj-advanced-card--compare .tlj-compare-labels {
  grid-column: 2;
  display: flex !important;
  gap: 7px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.tlj-stats-root .tlj-advanced-card--compare .tlj-compare-labels span {
  display: inline-flex !important;
  min-height: 26px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 9px !important;
  border: 1px solid rgba(var(--tlj-color-accent-rgb), .28) !important;
  background: rgba(var(--tlj-color-surface-2-rgb), .32) !important;
  color: var(--tlj-color-input-text) !important;
  font-size: 9.5px !important;
  
  text-align: center !important;
  white-space: nowrap !important;
}

/* ---------- Evolución + Protección ---------- */
.tlj-stats-root .tlj-evolution-protection-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 10px;
  min-width: 0;
  align-items: stretch;
}
.tlj-stats-root .tlj-evolution-protection-row > .tlj-advanced-card--compare {
  grid-column: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.tlj-stats-root .tlj-stats-control-panels--advanced[hidden] { display: none !important; }
.tlj-stats-root .tlj-stats-control-panels--advanced:not([hidden]) { display: block !important; }
.tlj-stats-root .tlj-stats-control-panels--advanced .tlj-stats-control-grid { display: block !important; }
.tlj-stats-root .tlj-stats-control-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(var(--tlj-color-accent-rgb), .42);
  border-radius: 10px;
  background: linear-gradient(180deg,var(--tlj-color-surface-2) 0%,var(--tlj-color-field) 100%);
}
.tlj-stats-root .tlj-stats-control-card__head {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 17px 18px 14px;
  border-radius: 9px 9px 0 0;
  border-bottom: 1px solid transparent;
  border-image: linear-gradient(90deg,transparent 0%,rgba(var(--tlj-color-accent-rgb),.22) 10%,rgba(var(--tlj-color-accent-rgb),.88) 50%,rgba(var(--tlj-color-accent-rgb),.22) 90%,transparent 100%) 1;
  background: rgba(var(--tlj-color-accent-rgb), .08);
}
.tlj-stats-root .tlj-stats-control-card__head > div > span { display:block; margin-bottom:4px; color:var(--tlj-color-accent-text); font-size:9.5px; font-weight:850; line-height:1.2; letter-spacing:1.15px; text-transform:uppercase; }
.tlj-stats-root .tlj-stats-control-card__head h3 { margin:0 !important; color:var(--tlj-color-text) !important; font-size:14px !important; font-weight:800 !important; line-height:1.25 !important; }
.tlj-stats-root .tlj-stats-control-badge--quarantine {
  display:inline-flex; min-width:30px; height:26px; align-items:center; justify-content:center;
  padding:0 8px; border:1px solid rgba(var(--tlj-color-warning-vivid-rgb), .3); border-radius:999px;
  background:rgba(var(--tlj-color-warning-vivid-rgb), .08); color:var(--tlj-color-warning-text); font-size:11px; font-weight:850;
}
.tlj-stats-root .tlj-stats-control-table-wrap--quarantine { max-height:235px; overflow-y:auto; overflow-x:hidden; }
.tlj-stats-root .tlj-stats-control-table { width:100%; min-width:0; border-collapse:collapse; table-layout:fixed; }
.tlj-stats-root .tlj-stats-control-table th,
.tlj-stats-root .tlj-stats-control-table td {
  padding:8px 5px; border-right:1px solid rgba(var(--tlj-color-accent-rgb), .22);
  text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.tlj-stats-root .tlj-stats-control-table th,
.tlj-stats-root .tlj-stats-control-table tbody td {
  border-bottom:1px solid rgba(var(--tlj-color-accent-rgb), .22);
}
.tlj-stats-root .tlj-stats-control-table thead th { background:var(--tlj-effect-compare-header-bg); color:var(--tlj-color-accent-text); font-size:10.5px; font-weight:850; }
.tlj-stats-root .tlj-stats-control-table tbody td { background:var(--tlj-color-surface); color:var(--tlj-color-text-secondary); font-size:10px; }
.tlj-stats-root .tlj-stats-quarantine-symbol { color:var(--tlj-color-warning-text); font-weight:800; }
.tlj-stats-root .tlj-stats-control-table td.is-positive { color:var(--tlj-color-positive-text) !important; }
.tlj-stats-root .tlj-stats-control-table td.is-negative { color:var(--tlj-color-negative-text) !important; }
.tlj-stats-root .tlj-stats-control-table td.is-neutral { color:var(--tlj-color-breakeven-text) !important; }

/* ---------- Movimientos de capital ---------- */
.tlj-stats-root .tlj-stats-movements__totals {
  grid-template-columns: repeat(2,minmax(245px,1fr));
}
.tlj-stats-root .tlj-stats-movement-total { overflow:hidden !important; padding:0 !important; }

.tlj-stats-root .tlj-stats-movement-total__main > span { display:block; color:var(--tlj-color-text-muted-2); font-size:9px; font-weight:800; text-transform:uppercase; }
.tlj-stats-root .tlj-stats-movement-total__main > strong { display:block; margin-top:4px; font-size:16px; font-weight:850; }

.tlj-stats-root .tlj-stats-movement-total__meta > div {
  border-right:1px solid rgba(var(--tlj-color-accent-rgb), .10); text-align:center;
}
.tlj-stats-root .tlj-stats-movement-total__meta > div:last-child { border-right:0 !important; }
.tlj-stats-root .tlj-stats-movement-total__meta span { font-size:8px; color:var(--tlj-color-text-muted-2); font-weight:800; text-transform:uppercase; }
.tlj-stats-root .tlj-stats-movement-total__meta b { margin-top:3px; font-size:10.5px; color:var(--tlj-color-text-secondary); }
.tlj-stats-root .tlj-stats-movement-total--platform { border-color:rgba(var(--tlj-color-platform-rgb), .42) !important; }
.tlj-stats-root .tlj-stats-movement-total--withdrawal { border-color:rgba(var(--tlj-color-withdrawal-rgb), .42) !important; }
.tlj-stats-root .tlj-stats-movement-total--platform .tlj-stats-movement-total__main { border-bottom-color:rgba(var(--tlj-color-platform-rgb), .34) !important; }
.tlj-stats-root .tlj-stats-movement-total--platform .tlj-stats-movement-total__meta > div { border-right-color:rgba(var(--tlj-color-platform-rgb), .26) !important; }
.tlj-stats-root .tlj-stats-movement-total--withdrawal .tlj-stats-movement-total__main { border-bottom-color:rgba(var(--tlj-color-withdrawal-rgb), .34) !important; }
.tlj-stats-root .tlj-stats-movement-total--withdrawal .tlj-stats-movement-total__meta > div { border-right-color:rgba(var(--tlj-color-withdrawal-rgb), .26) !important; }
.tlj-stats-root .tlj-stats-movements__table tbody td:first-child { color:var(--tlj-color-text) !important; -webkit-text-fill-color:currentColor !important; font-weight:800 !important; }
.tlj-stats-root .tlj-stats-movement-badge--platform { font-weight:650 !important; }

@media (min-width:1121px){
  .tlj-stats-root .tlj-stats-movements.tlj-stats-movements--single-type .tlj-stats-movements__totals {
    display:flex !important; justify-content:flex-end !important; width:100% !important;
  }
  .tlj-stats-root .tlj-stats-movements.tlj-stats-movements--single-type .tlj-stats-movement-total:not([hidden]) {
    width:calc((100% - 10px)/2) !important; max-width:calc((100% - 10px)/2) !important; flex:0 1 calc((100% - 10px)/2) !important;
  }
}

/* ---------- Composición compacta debajo de calendarios ---------- */
@media (min-width:1101px){
  .tlj-stats-root .estadisticas-container {
    display:grid !important;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:10px !important;
    margin-top:18px !important;
    align-items:stretch !important;
  }
  .tlj-stats-root .fila2,
  .tlj-stats-root .fila3,
  .tlj-stats-root .fila4 { display:contents !important; }
  .tlj-stats-root .fila1 { grid-column:1/-1; order:1; gap:8px !important; }
  .tlj-stats-root .card-bestworst { grid-column:span 9; order:2; }
  .tlj-stats-root .card-racha { grid-column:span 3; order:2; }
  .tlj-stats-root .card-acumulado { grid-column:span 4; order:3; }
  .tlj-stats-root .card-promedio { grid-column:span 8; order:3; }
  .tlj-stats-root .card-horario { grid-column:span 6; order:4; height:100%; }
  .tlj-stats-root .progreso-objetivo { grid-column:span 3; order:4; height:100%; }
  .tlj-stats-root .card-resumen { grid-column:span 3; order:4; height:100%; }
  .tlj-stats-root .tlj-advanced-insights { grid-column:1/-1; order:5; margin:4px 0 0 !important; }
  .tlj-stats-root .tlj-advanced-grid { gap:10px !important; }
}

@media (max-width:1100px){
  .tlj-stats-root .tlj-risk-quarantine-row { grid-template-columns:1fr !important; }
  .tlj-stats-root .tlj-stats-movements__totals { grid-template-columns:1fr !important; }
  .tlj-stats-root .tlj-stats-control-table-wrap--quarantine { overflow-x:auto !important; }
}

@media (max-width:900px){
  .tlj-stats-root .tlj-advanced-card--compare .tlj-advanced-card__head {
    position:relative;
    grid-template-columns:minmax(0,1fr) 30px !important;
    padding-bottom:46px !important;
  }
  .tlj-stats-root .tlj-advanced-card--compare .tlj-compare-labels {
    grid-column:1 / -1;
    position:absolute !important;
    left:13px !important;
    right:13px !important;
    bottom:8px !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
  }
}

/* =========================================================
   ESTADÍSTICAS 3.8.8 · AJUSTES DE SEPARACIÓN / EVOLUCIÓN / PROMEDIOS / RACHAS
   ========================================================= */

/* Análisis avanzado: separador completo, centrado y en su posición real. */
@media (min-width: 1101px){
  .tlj-stats-root .tlj-stats-fade-separator--advanced {
    grid-column: 1 / -1 !important;
    order: 5 !important;
    justify-self: center !important;
    width: min(88%, 1120px) !important;
    margin: 14px auto 12px !important;
  }

  .tlj-stats-root .tlj-advanced-insights {
    order: 6 !important;
  }
}

/* Evolución: las dos fechas un poco más abajo, centradas en la cabecera
   y con texto de peso normal (por debajo de 900 px van bajo el título). */
@media (min-width:901px){
  .tlj-stats-root .tlj-advanced-card--compare .tlj-compare-labels {
    position: relative !important;
    top: 2px !important;
    align-self: center !important;
  }
}

.tlj-stats-root .tlj-advanced-card--compare .tlj-compare-labels span {
  font-weight: 400 !important;
  line-height: 1 !important;
}

/* Promedios: las cuatro casillas que no tienen fila Total reciben
   una línea turquesa fina inferior para cerrar visualmente la tabla. */
.tlj-stats-root #promedio-gandia,
.tlj-stats-root #promedio-perdia,
.tlj-stats-root #promedio-acctrade,
.tlj-stats-root #promedio-tradedia {
  border-bottom: 1px solid rgba(var(--tlj-color-accent-rgb), .24) !important;
}

/* Rachas: eliminar cualquier franja oscura entre filas y llevar el
   color de cada estado hasta el borde completo de la casilla. */

/* =========================================================
   ESTADÍSTICAS 3.8.9 · ICONO / PROMEDIOS / CABECERAS / PROGRESO
   ========================================================= */

/* Mejor/Peor: icono de gráfica con trazo visual más fino, manteniendo tamaño y hover. */
.tlj-stats-root .bestworst-grid #grafmejor,
.tlj-stats-root .bestworst-grid #grafpeor {
  opacity: .92 !important;
}

/* Promedio / Total: las 8 columnas usan exactamente las mismas 3 filas.
   Una sola línea por frontera evita desalineaciones y dobles bordes. */
.tlj-stats-root .card-promedio .promedio-grid {
  align-items: stretch !important;
}

.tlj-stats-root .card-promedio .promedio-col {
  display: grid !important;
  
  min-width: 0 !important;
  
  align-items: stretch !important;
}

.tlj-stats-root .card-promedio .promedio-col > * {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 6px !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 1px solid rgba(var(--tlj-color-accent-rgb), .22) !important;
  border-bottom: 1px solid rgba(var(--tlj-color-accent-rgb), .22) !important;
  border-radius: 0 !important;
}

.tlj-stats-root .card-promedio .promedio-col:last-child > * {
  border-right: 0 !important;
}

.tlj-stats-root .card-promedio .promedio-col > *:last-child {
  border-bottom: 0 !important;
}

.tlj-stats-root .card-promedio .valor-total--empty {
  background: var(--tlj-color-surface) !important;
  color: transparent !important;
}

/* Riesgo / Ventaja estadística / Regularidad: kicker turquesa más grande. */
.tlj-stats-root .tlj-advanced-card--drawdown .tlj-advanced-card__head > div > span,
.tlj-stats-root .tlj-advanced-card--expectancy .tlj-advanced-card__head > div > span,
.tlj-stats-root .tlj-advanced-card--consistency .tlj-advanced-card__head > div > span {
  font-size: 11.5px !important;
  line-height: 1.2 !important;
}

/* Progresión: exactamente el mismo verde de fondo que las casillas positivas. */
.tlj-stats-root .progreso-objetivo .barra-bidi .barra-positiva:not(.is-negative) {
  background: var(--tlj-color-positive-bg) !important;
  background-color: var(--tlj-color-positive-bg) !important;
  background-image: none !important;
  box-shadow: inset 0 1px 0 rgba(var(--tlj-color-positive-vivid-rgb), .2), inset 0 -3px 6px rgba(var(--tlj-color-shadow-rgb), .24) !important;
}

/* =========================================================
   ESTADÍSTICAS 3.9.0 · VISIBILIDAD MEJOR/PEOR + TIPOGRAFÍA AVANZADA
   ========================================================= */

/* Riesgo / Ventaja estadística / Regularidad: texto interior más grande. */
.tlj-stats-root .tlj-advanced-card--drawdown .tlj-advanced-metrics span,
.tlj-stats-root .tlj-advanced-card--expectancy .tlj-advanced-metrics span,
.tlj-stats-root .tlj-advanced-card--consistency .tlj-advanced-metrics span {
  font-size: 11px !important;
  line-height: 1.35 !important;
}

.tlj-stats-root .tlj-advanced-card--drawdown .tlj-advanced-metrics strong,
.tlj-stats-root .tlj-advanced-card--expectancy .tlj-advanced-metrics strong,
.tlj-stats-root .tlj-advanced-card--consistency .tlj-advanced-metrics strong {
  font-size: 15px !important;
  line-height: 1.35 !important;
}

.tlj-stats-root .tlj-advanced-card--consistency .tlj-consistency-score > span {
  font-size: 12px !important;
}

/* Todos los títulos turquesas de Análisis avanzado al mismo tamaño. */
.tlj-stats-root .tlj-advanced-card--drawdown .tlj-advanced-card__head > div > span,
.tlj-stats-root .tlj-advanced-card--expectancy .tlj-advanced-card__head > div > span,
.tlj-stats-root .tlj-advanced-card--consistency .tlj-advanced-card__head > div > span,
.tlj-stats-root .tlj-advanced-card--drivers .tlj-advanced-card__head > div > span,
.tlj-stats-root .tlj-advanced-card--strategies .tlj-advanced-card__head > div > span,
.tlj-stats-root .tlj-advanced-card--psychology .tlj-advanced-card__head > div > span,
.tlj-stats-root .tlj-advanced-card--rules .tlj-advanced-card__head > div > span,
.tlj-stats-root .tlj-advanced-card--errors .tlj-advanced-card__head > div > span,
.tlj-stats-root .tlj-advanced-card--compare .tlj-advanced-card__head > div > span,
.tlj-stats-root .tlj-advanced-card--risk-units .tlj-advanced-card__head > div > span,
.tlj-stats-root .tlj-stats-control-card--quarantine .tlj-stats-control-card__head > div > span {
  font-size: 11.5px !important;
  line-height: 1.2 !important;
}

/* =========================================================
   ESTADÍSTICAS 3.9.1 · TABLA DE ADICIONES
   Comparte fila con el comparador de periodos en escritorio.
   ========================================================= */
.tlj-stats-root .tlj-advanced-card--additions {
  grid-column: auto !important;
  min-width: 0 !important;
}

.tlj-stats-root .tlj-additions-table-wrap {
  border-radius: 0 0 10px 10px !important;
}

.tlj-stats-root .tlj-additions-table {
  width: 100% !important;
  min-width: 500px !important;
  table-layout: auto !important;
}

.tlj-stats-root .tlj-additions-table th,
.tlj-stats-root .tlj-additions-table td {
  white-space: nowrap !important;
}

/* =========================================================
   ESTADÍSTICAS 3.9.2 · COMPARADOR / ADICIONES
   ========================================================= */

/* Comparador y adiciones usan la misma altura de cabecera que las tablas anteriores. */
.tlj-stats-root .tlj-evolution-protection-row > .tlj-advanced-card--compare .tlj-advanced-card__head,
.tlj-stats-root .tlj-evolution-protection-row > .tlj-advanced-card--additions .tlj-advanced-card__head {
  min-height: 58px !important;
  box-sizing: border-box !important;
}

/* Kicker turquesa de Gestión de entradas al mismo tamaño que el resto. */
.tlj-stats-root .tlj-advanced-card--additions .tlj-advanced-card__head > div > span {
  font-size: 11.5px !important;
  line-height: 1.2 !important;
}

/* =========================================================
   ESTADÍSTICAS 3.9.3 · ORDEN / TOOLTIPS / TABLAS
   ========================================================= */

/* La tabla de adiciones deja seis filas visibles; las siguientes se desplazan. */
.tlj-stats-root .tlj-additions-table-wrap,
.tlj-stats-root .tlj-advanced-card--psychology .tlj-advanced-table-wrap {
  max-height: 260px !important;
  overflow-y: auto !important;
  overflow-x: auto !important;
}

.tlj-stats-root .tlj-strategies-table-wrap,
.tlj-stats-root .tlj-rules-table-wrap {
  max-height: 260px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  border-radius: 0 0 10px 10px !important;
}

/* Cabecera del comparador: mismo alto que las cabeceras del análisis anterior. */
.tlj-stats-root .tlj-evolution-protection-row > .tlj-advanced-card--compare .tlj-advanced-card__head {
  min-height: 58px !important;
  box-sizing: border-box !important;
}

/* Promedio/Total: la cabecera iguala la altura de Balance/Fecha. */
.tlj-stats-root .card-promedio .promedio-col {
  grid-template-rows: 38px 38px 38px !important;
  height: 114px !important;
}

.tlj-stats-root .card-promedio .title-promedio,
.tlj-stats-root .card-promedio .title-vacia {
  min-height: 38px !important;
  height: 38px !important;
  box-sizing: border-box !important;
}

/* =========================================================
   ESTADÍSTICAS 3.9.4 · ALTURAS UNIFORMES
   ========================================================= */

/* Comparador y Coste de los errores comparten exactamente la misma cabecera. */
@media (min-width: 901px){
  .tlj-stats-root .tlj-evolution-protection-row > .tlj-advanced-card--compare .tlj-advanced-card__head,
  .tlj-stats-root .tlj-advanced-grid > .tlj-advanced-card--errors .tlj-advanced-card__head {
    height: 66px !important;
    min-height: 66px !important;
    box-sizing: border-box !important;
    padding: 17px 18px 14px !important;
  }
}

/* Balance/Fecha y Promedio/Total comparten las mismas tres filas y la misma altura total. */
.tlj-stats-root .card-acumulado .acumulado-col,
.tlj-stats-root .card-promedio .promedio-col {
  display: grid !important;
  grid-template-rows: 38px 43px 43px !important;
  height: 124px !important;
  min-height: 124px !important;
  align-items: stretch !important;
}

.tlj-stats-root .card-acumulado .acumulado-col > *,
.tlj-stats-root .card-promedio .promedio-col > * {
  box-sizing: border-box !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
}

.tlj-stats-root .card-acumulado .title-acumulado,
.tlj-stats-root .card-promedio .title-promedio,
.tlj-stats-root .card-acumulado .title-vacia,
.tlj-stats-root .card-promedio .title-vacia {
  height: 38px !important;
  min-height: 38px !important;
}

.tlj-stats-root .card-acumulado .label-acumulado,
.tlj-stats-root .card-acumulado .valor-acumulado,
.tlj-stats-root .card-promedio .label-promedio,
.tlj-stats-root .card-promedio .valor-promedio,
.tlj-stats-root .card-promedio .valor-total {
  height: 43px !important;
  min-height: 43px !important;
}

/* =========================================================
   ESTADÍSTICAS 3.9.5 · ORDEN / ALTURA DE ERRORES
   ========================================================= */
@media (min-width: 1101px){
  /* El wrapper de Evolución no crea una caja propia: sus dos tarjetas participan en la rejilla principal. */
  .tlj-stats-root .tlj-evolution-protection-row { display: contents !important; }

  /* Fila 2: Patrones + Gestión de entradas. */
  .tlj-stats-root .tlj-advanced-grid > .tlj-advanced-card--drivers,
  .tlj-stats-root .tlj-evolution-protection-row > .tlj-advanced-card--additions {
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .tlj-stats-root .tlj-advanced-grid > .tlj-advanced-card--drivers { grid-column: 1 / span 6 !important; }
  .tlj-stats-root .tlj-evolution-protection-row > .tlj-advanced-card--additions { grid-column: 7 / span 6 !important; }

  /* Fila 3: Estrategias + Reglas. */
  .tlj-stats-root .tlj-advanced-grid > .tlj-advanced-card--strategies,
  .tlj-stats-root .tlj-advanced-grid > .tlj-advanced-card--rules {
    grid-row: 3 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .tlj-stats-root .tlj-advanced-grid > .tlj-advanced-card--strategies { grid-column: 1 / span 7 !important; }
  .tlj-stats-root .tlj-advanced-grid > .tlj-advanced-card--rules { grid-column: 8 / span 5 !important; }

  /* Fila 4: rendimiento por temporalidad, solo cuando existen datos. */
  .tlj-stats-root .tlj-advanced-grid > .tlj-advanced-card--timeframes {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Fila 5: UR + cuarentena. Si no hay cuarentena, UR ocupa todo el ancho. */
  .tlj-stats-root .tlj-advanced-grid > .tlj-risk-quarantine-row {
    grid-column: 1 / -1 !important;
    grid-row: 5 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Fila 6: Comparador + Coste de errores. */
  .tlj-stats-root .tlj-evolution-protection-row > .tlj-advanced-card--compare,
  .tlj-stats-root .tlj-advanced-grid > .tlj-advanced-card--errors {
    grid-row: 6 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .tlj-stats-root .tlj-evolution-protection-row > .tlj-advanced-card--compare { grid-column: 1 / span 6 !important; }
  .tlj-stats-root .tlj-advanced-grid > .tlj-advanced-card--errors {
    grid-column: 7 / span 6 !important;
    align-self: start !important;
  }

  .tlj-stats-root .tlj-advanced-card--errors .tlj-advanced-table-wrap { overflow-y: auto !important; }
}

/* =========================================================
   ESTADÍSTICAS 3.12.0 · PREFERENCIAS DE MI CUENTA
   ========================================================= */
.tlj-stats-root .tlj-strategies-table,
.tlj-stats-root .tlj-rules-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: auto !important;
}

.tlj-stats-root .tlj-strategies-table th,
.tlj-stats-root .tlj-strategies-table td,
.tlj-stats-root .tlj-rules-table th,
.tlj-stats-root .tlj-rules-table td {
  width: auto !important;
  padding-right: 7px !important;
  padding-left: 7px !important;
}

/* Las cabeceras de Ejecución y Disciplina siempre centradas y en una sola línea. */
.tlj-stats-root .tlj-strategies-table th,
.tlj-stats-root .tlj-rules-table th {
  text-align: center !important;
  white-space: nowrap !important;
}

/* Ejecución: todas las columnas se dimensionan por su contenido.
   La estrategia deja de absorber por defecto todo el espacio sobrante. */
.tlj-stats-root .tlj-strategies-table td {
  white-space: nowrap !important;
}

/* B/P se mantiene especialmente compacta. */
.tlj-stats-root .tlj-strategies-table th:nth-child(3),
.tlj-stats-root .tlj-strategies-table td:nth-child(3) {
  padding-right: 5px !important;
  padding-left: 5px !important;
}

/* Disciplina: ancho automático en todas las columnas según contenido.
   La regla puede envolver si es larga para evitar scroll horizontal. */
.tlj-stats-root .tlj-rules-table td:nth-child(n/**/+2) {
  white-space: nowrap !important;
}

.tlj-stats-root .tlj-rules-table td:first-child {
  white-space: normal !important;
}

/* =========================================================
   FASE 4.5.6 · TOOLTIP TLJ PARA TAMAÑO DE MUESTRA
   Sin leyenda, badges ni indicadores visibles en las tablas.
   ========================================================= */
.tlj-stats-root [data-sample-tooltip] {
  cursor: help;
}

.tlj-sample-tooltip {
  position: fixed;
  z-index: 2147483000;
  width: max-content;
  max-width: min(320px, calc(100vw - 24px));
  padding: 9px 11px;
  border: 1px solid rgba(var(--tlj-color-accent-rgb), .42);
  border-radius: 8px;
  background: var(--tlj-color-surface);
  color: var(--tlj-color-text-secondary);
  box-shadow: var(--tlj-effect-shadow-popover), inset 0 0 0 1px rgba(var(--tlj-color-contrast-rgb), .015);
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: .05px;
  text-align: left;
  white-space: normal;
  pointer-events: none;
  opacity: 0;
  transform: translateY(2px);
  transition: opacity .14s ease, transform .14s ease;
}

.tlj-sample-tooltip.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.tlj-sample-tooltip[data-level="very_low"] { border-color: rgba(var(--tlj-color-negative-vivid-rgb), .46); }
.tlj-sample-tooltip[data-level="low"] { border-color: rgba(var(--tlj-color-warning-vivid-rgb), .46); }
.tlj-sample-tooltip[data-level="medium"] { border-color: rgba(var(--tlj-color-warning-vivid-rgb), .44); }
.tlj-sample-tooltip[data-level="reasonable"] { border-color: rgba(var(--tlj-color-accent-rgb), .48); }
.tlj-sample-tooltip[data-level="solid"] { border-color: rgba(var(--tlj-color-positive-vivid-rgb), .46); }

/* =========================================================
   ESTADÍSTICAS 3.18.6 · MOVIMIENTOS DE CAPITAL APILADOS
   Pagos plataforma / Retiros: una encima de la otra, alineadas
   al extremo derecho y cada tarjeta en una sola línea.
   ========================================================= */
.tlj-stats-root .tlj-stats-movements__head {
  align-items: center !important;
}

.tlj-stats-root .tlj-stats-movements__totals {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: flex-end !important;
  gap: 8px !important;
  width: max-content !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: auto !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

.tlj-stats-root .tlj-stats-movement-total,
.tlj-stats-root .tlj-stats-movements.tlj-stats-movements--single-type .tlj-stats-movement-total:not([hidden]) {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: stretch !important;
  width: max-content !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.tlj-stats-root .tlj-stats-movement-total__main {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 0 0 auto !important;
  padding: 9px 11px !important;
  border-bottom: 0 !important;
  border-right: 1px solid var(--tlj-color-border) !important;
  white-space: nowrap !important;
}

.tlj-stats-root .tlj-stats-movement-total__main > span,
.tlj-stats-root .tlj-stats-movement-total__main > strong {
  display: inline-block !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.tlj-stats-root .tlj-stats-movement-total__meta {
  display: flex !important;
  align-items: stretch !important;
  grid-template-columns: none !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.tlj-stats-root .tlj-stats-movement-total__meta > div {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  min-width: max-content !important;
  padding: 9px 10px !important;
  white-space: nowrap !important;
}

.tlj-stats-root .tlj-stats-movement-total__meta span,
.tlj-stats-root .tlj-stats-movement-total__meta b {
  display: inline-block !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.tlj-stats-root .tlj-stats-movement-total--platform .tlj-stats-movement-total__main {
  border-right-color: rgba(var(--tlj-color-platform-rgb), .34) !important;
}
.tlj-stats-root .tlj-stats-movement-total--withdrawal .tlj-stats-movement-total__main {
  border-right-color: rgba(var(--tlj-color-withdrawal-rgb), .34) !important;
}

@media (max-width: 900px){
  .tlj-stats-root .tlj-stats-movements__head {
    align-items: stretch !important;
  }
  .tlj-stats-root .tlj-stats-movements__totals {
    align-items: flex-end !important;
    justify-content: center !important;
    width: max-content !important;
    max-width: 100% !important;
    margin-left: auto !important;
    padding-bottom: 2px;
  }
}
/* =========================================================
   ESTADÍSTICAS 3.18.7 · AJUSTE DRAWdown / EXPECTANCY
   Drawdown gana espacio para mostrar completo el periodo;
   Expectancy cede una columna manteniendo Regularidad estable.
   ========================================================= */
@media (min-width: 1101px){
  .tlj-stats-root .tlj-advanced-card--drawdown { grid-column: span 5 !important; }
  .tlj-stats-root .tlj-advanced-card--expectancy { grid-column: span 3 !important; }
  .tlj-stats-root .tlj-advanced-card--consistency { grid-column: span 4 !important; }

  .tlj-stats-root #tljAdvDrawdownPeriod {
    overflow: visible !important;
    white-space: nowrap !important;
    text-overflow: clip !important;
  }
}

/* Estadísticas 3.21.5 · Unidades de Riesgo */
.tlj-stats-root .tlj-risk-units-table-wrap { overflow-x: auto; }
.tlj-stats-root .tlj-risk-units-table { min-width: 680px; }
.tlj-stats-root .tlj-risk-units-table th,
.tlj-stats-root .tlj-risk-units-table td { white-space: nowrap; }

/* =========================================================
   NOTAS DIARIAS · CALENDARIO MENSUAL
   Indicador reservado en la esquina inferior izquierda.
   ========================================================= */
.tlj-stats-root .day > .tlj-stats-day-note {
    position: absolute;
    left: 8px;
    bottom: 7px;
    z-index: 5;
    display: inline-flex;
    width: 29px;
    height: 29px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 7px;
    background: transparent;
    box-shadow: none;
    color: var(--tlj-color-accent-text);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: opacity .22s ease, color .22s ease, border-color .22s ease, background-color .22s ease;
}
.tlj-stats-root .day > .tlj-stats-day-note svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
}
.tlj-stats-root .day > .tlj-stats-day-note.is-empty {
    opacity: 0;
}
.tlj-stats-root .day:is(:hover,:focus-within) > .tlj-stats-day-note.is-empty,
.tlj-stats-root .day > .tlj-stats-day-note.is-empty:focus-visible {
    opacity: .76;
}
.tlj-stats-root .day > .tlj-stats-day-note.has-note {
    opacity: 1;
    border-color: rgba(var(--tlj-color-accent-rgb), .22);
    background: rgba(var(--tlj-color-accent-rgb), .07);
}
.tlj-stats-root .day > .tlj-stats-day-note:is(:hover,:focus-visible) {
    opacity: 1;
    border-color: rgba(var(--tlj-color-accent-rgb), .48);
    background: rgba(var(--tlj-color-accent-rgb), .13);
    color: var(--tlj-color-accent-text);
}
.tlj-stats-root .day > .tlj-stats-day-note.has-note::after {
    content: attr(data-note-preview);
    position: absolute;
    left: 0;
    bottom: calc(100% + 8px);
    z-index: 30;
    display: block;
    width: max-content;
    max-width: min(270px, 70vw);
    padding: 9px 11px;
    border: 1px solid var(--tlj-color-border);
    border-radius: 8px;
    background: var(--tlj-color-surface);
    box-shadow: var(--tlj-effect-shadow-lg);
    color: var(--tlj-color-text-secondary);
    font-size: 11px;
    font-weight: 650;
    line-height: 1.45;
    text-align: left;
    white-space: normal;
    pointer-events: none;
    opacity: 0;
    transform: translateY(3px);
    transition: opacity .16s ease, transform .16s ease;
}
.tlj-stats-root .day > .tlj-stats-day-note.has-note:is(:hover,:focus-visible)::after {
    opacity: 1;
    transform: translateY(0);
}

/* Tras eliminar, no se muestra inmediatamente el control vacío mientras el puntero
   continúa sobre la misma fecha. Al salir y volver a entrar reaparece como “añadir nota”. */
.tlj-stats-root .day.tlj-stats-note-just-deleted > .tlj-stats-day-note.is-empty {
    opacity: 0 !important;
    pointer-events: none;
}

.tlj-stats-note-modal__dialog {
    --tlj-modal-pad-top: 25px;
    --tlj-modal-pad-x: 25px;
    width: min(560px, 100%);
    padding: var(--tlj-modal-pad-top) var(--tlj-modal-pad-x) 20px;
}

.tlj-stats-note-modal__body { margin-top: 19px; }
.tlj-stats-note-modal__body textarea {
    display: block;
    width: 100%;
    min-height: 155px;
    max-height: 44vh;
    box-sizing: border-box;
    margin: 0;
    padding: 13px 14px;
    resize: vertical;
    border: 1px solid var(--tlj-color-border-strong);
    border-radius: 9px;
    outline: 0;
    background: var(--tlj-color-surface-2);
    background-image: none;
    box-shadow: none;
    color: var(--tlj-color-text) !important;
    -webkit-text-fill-color: var(--tlj-color-text) !important;
    caret-color: var(--tlj-color-accent) !important;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.55;
    appearance: none;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
    transition: border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
}
.tlj-stats-note-modal__body textarea::placeholder {
    color: var(--tlj-color-text-muted) !important;
    -webkit-text-fill-color: var(--tlj-color-text-muted) !important;
    opacity: .82 !important;
}
html[data-tlj-theme="dark"] .tlj-stats-root .tlj-stats-note-modal__body textarea {
    color: var(--tlj-color-text) !important;
    -webkit-text-fill-color: var(--tlj-color-text) !important;
    caret-color: var(--tlj-color-accent) !important;
    color-scheme: dark;
}
html[data-tlj-theme="dark"] .tlj-stats-root .tlj-stats-note-modal__body textarea::placeholder {
    color: var(--tlj-color-text-muted) !important;
    -webkit-text-fill-color: var(--tlj-color-text-muted) !important;
    opacity: .82 !important;
}
.tlj-stats-note-modal__body textarea:is(:focus,:focus-visible) {
    border-color: var(--tlj-color-accent);
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--tlj-color-accent-rgb), .08);
}
.tlj-stats-note-modal__meta {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-top: 9px;
}
.tlj-stats-note-modal__meta p {
    flex: 1 1 auto;
    margin: 0;
    color: var(--tlj-color-text-muted);
    font-size: 10.5px;
    font-weight: 600;
    line-height: 1.45;
}
.tlj-stats-note-modal__meta span {
    flex: 0 0 auto;
    color: var(--tlj-color-text-muted);
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}
.tlj-stats-note-modal__status {
    min-height: 17px;
    margin: 8px 0 0;
    color: var(--tlj-color-negative-text);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
}
.tlj-stats-note-modal__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 8px;
    padding-top: 17px;
    border-top: 1px solid var(--tlj-color-border);
}
.tlj-stats-note-modal__actions {
    display: flex;
    gap: 9px;
    margin: 0;
}

.tlj-stats-note-toast {
    position: fixed;
    left: 50%;
    top: 16px;
    z-index: 100080;
    max-width: min(360px, calc(100vw - 32px));
    padding: 10px 14px;
    border: 1px solid rgba(var(--tlj-color-accent-rgb), .35);
    border-radius: 9px;
    background: var(--tlj-color-surface);
    box-shadow: var(--tlj-effect-shadow-lg);
    color: var(--tlj-color-accent-text);
    font-size: 11px;
    font-weight: 850;
    line-height: 1.3;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transform: translate(-50%, 7px);
    transition: opacity .18s ease, transform .18s ease;
}
.tlj-stats-note-toast::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    width: 8px;
    height: 8px;
    border-right: 1px solid rgba(var(--tlj-color-accent-rgb), .35);
    border-bottom: 1px solid rgba(var(--tlj-color-accent-rgb), .35);
    background: var(--tlj-color-surface);
    transform: translate(-50%, -4px) rotate(45deg);
}
.tlj-stats-note-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 720px){
    .tlj-stats-root .day > .tlj-stats-day-note.is-empty { opacity: .58; }
    .tlj-stats-note-modal__dialog { --tlj-modal-pad-top: 22px; --tlj-modal-pad-x: 18px; padding-bottom: 17px; }
    .tlj-stats-note-modal__footer { align-items: stretch; flex-direction: column; }
    .tlj-stats-note-modal__actions { width: 100%; }
    .tlj-stats-note-modal__actions > button:not(.tlj-modal-action) { flex: 1 1 0; }
    .tlj-stats-note-modal__delete { align-self: flex-start; }
    .tlj-stats-root .day > .tlj-stats-day-note.has-note::after { display: none; }
}

/* FASE 3.29 · Calidad de datos + disciplina. Usa exclusivamente tokens del tema. */
.tlj-stats-root .tlj-advanced-card--data-quality { grid-column: span 5; }
.tlj-stats-root .tlj-advanced-card--discipline { grid-column: span 7; }
.tlj-stats-root .tlj-advanced-card--data-quality .tlj-advanced-metrics strong.is-positive,
.tlj-stats-root .tlj-advanced-card--discipline .tlj-advanced-metrics strong.is-positive { color: var(--tlj-color-positive-text); }
.tlj-stats-root .tlj-advanced-card--data-quality .tlj-advanced-metrics strong.is-negative,
.tlj-stats-root .tlj-advanced-card--discipline .tlj-advanced-metrics strong.is-negative { color: var(--tlj-color-negative-text); }
.tlj-stats-root .tlj-advanced-card--data-quality .tlj-advanced-metrics strong.is-neutral,
.tlj-stats-root .tlj-advanced-card--discipline .tlj-advanced-metrics strong.is-neutral { color: var(--tlj-color-accent-text); }
.tlj-stats-root .tlj-discipline-streaks {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 8px;
  padding: 0 18px 14px;
}
.tlj-stats-root .tlj-discipline-streak {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(var(--tlj-color-accent-rgb),.12);
  border-radius: 8px;
  background: rgba(var(--tlj-color-accent-rgb),.035);
}
.tlj-stats-root .tlj-discipline-streak span,
.tlj-stats-root .tlj-discipline-streak small { display:block; color:var(--tlj-color-text-muted); font-size:9px; line-height:1.3; }
.tlj-stats-root .tlj-discipline-streak strong { display:block; margin:3px 0; color:var(--tlj-color-text); font-size:17px; line-height:1; }
.tlj-stats-root .tlj-discipline-performance { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:0 18px 14px; }
.tlj-stats-root .tlj-discipline-performance > div { padding:10px; border-top:1px solid rgba(var(--tlj-color-accent-rgb),.12); }
.tlj-stats-root .tlj-discipline-performance span,.tlj-stats-root .tlj-discipline-performance small { display:block; color:var(--tlj-color-text-muted); font-size:9px; }
.tlj-stats-root .tlj-discipline-performance strong { display:block; margin:3px 0; color:var(--tlj-color-text); font-size:13px; }
.tlj-stats-root .tlj-discipline-performance strong.is-positive { color:var(--tlj-color-positive-text); }
.tlj-stats-root .tlj-discipline-performance strong.is-negative { color:var(--tlj-color-negative-text); }
.tlj-stats-root .tlj-discipline-heatmap-wrap { padding:0 18px 12px; }
.tlj-stats-root .tlj-discipline-heatmap-title { display:block; margin-bottom:8px; color:var(--tlj-color-text-muted); font-size:9px; font-weight:700; }
.tlj-stats-root .tlj-discipline-heatmap { display:flex; flex-wrap:wrap; gap:4px; min-height:14px; }
.tlj-stats-root .tlj-discipline-day { width:12px; height:12px; border-radius:3px; border:1px solid rgba(var(--tlj-color-contrast-rgb),.08); }
.tlj-stats-root .tlj-discipline-day[data-level="high"] { background:var(--tlj-color-positive-bg); border-color:rgba(var(--tlj-color-positive-rgb),.28); }
.tlj-stats-root .tlj-discipline-day[data-level="medium"] { background:rgba(var(--tlj-color-accent-rgb),.16); border-color:rgba(var(--tlj-color-accent-rgb),.30); }
.tlj-stats-root .tlj-discipline-day[data-level="low"] { background:var(--tlj-color-negative-bg); border-color:rgba(var(--tlj-color-negative-rgb),.28); }
.tlj-stats-root .tlj-discipline-heatmap-empty,.tlj-stats-root .tlj-discipline-quality { color:var(--tlj-color-text-muted); font-size:9px; line-height:1.45; }
.tlj-stats-root .tlj-discipline-quality { margin:0 !important; padding:0 18px 16px; }
@media (max-width:1100px){
  .tlj-stats-root .tlj-advanced-card--data-quality,.tlj-stats-root .tlj-advanced-card--discipline{grid-column:1/-1;}
}
@media (max-width:700px){
  .tlj-stats-root .tlj-discipline-streaks{grid-template-columns:repeat(2,minmax(0,1fr));}
}
