/*
 * TST Rankings Plugin — CSS extraído para encolado correcto
 * Generado desde: tst-rankings 15.0.2.php
 * Child theme: TenisRanking v2.7
 * 
 * El plugin inyecta CSS inline dentro de los shortcodes via static $done flags.
 * Esto causa que el CSS no se cargue cuando hay caché, lazy loading, o el
 * shortcode se llama desde do_shortcode() en el child theme.
 * Este archivo extrae todo el CSS y lo encola via wp_enqueue_style() correctamente.
 *
 * Fuentes requeridas: DM Sans + DM Mono (Google Fonts)
 */

/* ════ #tst-seo-shared-css ════ */
.tst-live-seo-intro {
    background: #F7F6F2;
    border: 1px solid #E4E3DC;
    border-radius: 12px;
    padding: 22px 26px;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.7;
    color: #3A3A3A;
}
.tst-live-seo-intro h1 {
    font-size: 22px;
    font-weight: 900;
    color: #1E3A5F;
    margin: 0 0 8px;
    letter-spacing: -.02em;
    line-height: 1.3;
}
.tst-live-seo-intro .tst-live-seo-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.tst-live-seo-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.tst-live-seo-badge--atp  { background: #E1FA59; color: #1E3A5F; }
.tst-live-seo-badge--live { background: #E63946; color: #fff; }
.tst-live-seo-badge--arg  { background: #EDF5FB; color: #1E3A5F; border: 1px solid #C0D8EE; }
.tst-live-seo-p {
    margin: 0 0 6px;
    font-size: 13.5px;
    color: #4A4A4A;
}
.tst-live-seo-p:last-child { margin-bottom: 0; }
.tst-live-seo-stat-row {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #E4E3DC;
}
.tst-live-seo-stat {
    text-align: center;
    min-width: 80px;
}
.tst-live-seo-stat-val {
    display: block;
    font-family: "DM Mono","Courier New",monospace;
    font-size: 24px;
    font-weight: 700;
    color: #1E3A5F;
    line-height: 1.1;
}
.tst-live-seo-stat-lbl {
    display: block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #A8A8A8;
    margin-top: 2px;
}
.tst-live-seo-stat-sep {
    width: 1px;
    background: #E4E3DC;
    align-self: stretch;
}

/* ── Cabecera del bloque ranking ── */
.tst-live-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: linear-gradient(135deg, #1E3A5F 0%, #254368 100%);
    border-radius: 14px 14px 0 0;
    gap: 12px;
}
.tst-live-header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}
.tst-live-title {
    font-size: 13px;
    font-weight: 900;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .07em;
}
.tst-live-updated {
    font-size: 10px;
    color: rgba(255,255,255,.4);
    font-family: "DM Mono","Courier New",monospace;
}
.tst-live-header-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* ── Indicador En vivo (siempre activo) ── */
.tst-live-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #E63946;
    box-shadow: 0 0 6px #E63946;
    flex-shrink: 0;
    animation: tst-live-pulse 1.4s ease-in-out infinite;
    display: inline-block;
}
@keyframes tst-live-pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
.tst-live-live-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    color: #E1FA59;
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* ── Banner en vivo ── */
.tst-live-banner {
    display: none;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: #162e49;
    border-bottom: 1px solid #1a3452;
    font-size: 11px;
    color: rgba(255,255,255,.6);
}
.tst-live-banner--on { display: flex; }
.tst-live-spinner {
    width: 12px;
    height: 12px;
    border: 2px solid rgba(225,250,89,.3);
    border-top-color: #E1FA59;
    border-radius: 50%;
    animation: tst-spin .7s linear infinite;
    flex-shrink: 0;
}
@keyframes tst-spin { to { transform: rotate(360deg); } }
.tst-live-status { font-weight: 700; color: #E1FA59; }

/* ── Tabs ── */
.tst-live-tabs {
    display: flex;
    background: #F7F6F2;
    border-bottom: 2px solid #E4E3DC;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.tst-live-tabs::-webkit-scrollbar { display: none; }
.tst-live-tab {
    flex: 0 0 auto;
    padding: 12px 20px;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    font-family: "DM Sans",sans-serif;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #A8A8A8;
    cursor: pointer;
    white-space: nowrap;
    transition: color 150ms, border-color 150ms;
}
.tst-live-tab:hover { color: #305180; }
.tst-live-tab--on {
    color: #1E3A5F !important;
    border-bottom-color: #B8CC30 !important;
    background: #fff !important;
}

/* ── Buscador ── */
.tst-live-search-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-bottom: 1px solid #E4E3DC;
    background: #fff;
}
.tst-live-search {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-family: "DM Sans",sans-serif;
    font-size: 13px;
    color: #1A1A1A;
}
.tst-live-search::placeholder { color: #B0B0A8; }
.tst-live-count {
    font-size: 11px;
    color: #B0B0A8;
    white-space: nowrap;
    font-family: "DM Mono","Courier New",monospace;
}

/* ── Panel ── */
.tst-live-panel { display: none; }
.tst-live-panel--on { display: block; }

/* ── Tabla ── */
.tst-live-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    table-layout: fixed;
}
.tst-live-table-v2 {
    table-layout: auto;
    min-width: 600px;
}
.tst-live-panel {
    display: none;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.tst-live-th-pos { width: 48px; }
.tst-live-th-pts { width: 90px; }
.tst-live-th-mov { width: 70px; }
.tst-live-th {
    padding: 9px 12px;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .09em;
    color: #305180;
    background: #F0F6FC;
    border-bottom: 1px solid #D6E3F0;
    text-align: left;
    white-space: nowrap;
}
.tst-live-tc { text-align: center; }
.tst-live-tr { text-align: right; }
.tst-live-td {
    padding: 10px 12px;
    border-bottom: .5px solid #F0EFE8;
    vertical-align: middle;
    overflow: hidden;
}
.tst-live-row:last-child .tst-live-td { border-bottom: none; }
.tst-live-row:hover { background: #F7F6F2 !important; }
.tst-live-row--arg { background: #EDF5FB; }
.tst-live-row--arg:hover { background: #DFF0F9 !important; }
.tst-live-row--lat { background: #FAFAF8; }
.tst-live-row--lat:hover { background: #F4F4F0 !important; }

/* ── Posición ── */
.tst-live-pos {
    font-family: "DM Mono","Courier New",monospace;
    font-size: 12px;
    font-weight: 700;
    color: #B8B8B0;
    display: inline-block;
    min-width: 24px;
    text-align: center;
}
.tst-live-p1 { color: #F5B021 !important; font-size: 14px !important; }
.tst-live-p2 { color: #9B9B93 !important; }
.tst-live-p3 { color: #B8794A !important; }

/* ── Avatar ── */
.tst-live-av {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    flex-shrink: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.tst-live-av img { width: 100%; height: 100%; object-fit: cover; }
.tst-live-ini {
    font-size: 11px;
    font-weight: 800;
    color: #fff;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ── Info jugador ── */
.tst-live-tdp {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    width: 100%;
    overflow: hidden;
}
.tst-live-pi {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    flex: 1;
    overflow: hidden;
}
.tst-live-pname {
    font-size: 13px;
    font-weight: 700;
    color: #1A1A1A;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    width: 100%;
}
.tst-live-pm {
    display: flex;
    align-items: center;
    gap: 4px;
}
.tst-live-flag {
    border-radius: 2px;
    display: block;
    flex-shrink: 0;
    box-shadow: 0 0 0 1px rgba(0,0,0,.06);
}
.tst-live-pc { font-size: 11px; color: #888780; }
.tst-live-pts {
    font-family: "DM Mono","Courier New",monospace;
    font-size: 13px;
    font-weight: 700;
    color: #1A1A1A;
}

/* ── Movimientos ── */
.tst-live-up { color: #2A9D8F; font-weight: 700; font-size: 11px; }
.tst-live-dn { color: #E63946; font-weight: 700; font-size: 11px; }
.tst-live-eq { color: #CCCCCC; font-size: 11px; }

/* ── Botón refresh (solo admin) ── */
.tst-live-btn-refresh {
    background: rgba(225,250,89,.12);
    border: 1px solid rgba(225,250,89,.2);
    color: #E1FA59;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 15px;
    line-height: 1;
    transition: background 150ms, border-color 150ms;
    display: flex;
    align-items: center;
    justify-content: center;
}
.tst-live-btn-refresh:hover {
    background: rgba(225,250,89,.25);
    border-color: rgba(225,250,89,.4);
}

/* ── Bloque envolvente ── */
.tst-live-box {
    background: #fff;
    border: 1px solid #E4E3DC;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,.07), 0 4px 12px rgba(0,0,0,.06);
    margin-bottom: 20px;
}

/* ── Paginación ── */
.tst-live-pag {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px 16px;
    border-top: 1px solid #E4E3DC;
    background: #FAFAF7;
    align-items: center;
}
.tst-live-pag-txt { font-size: 11px; color: #888780; }
.tst-live-pag-btns {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: center;
}
.tst-live-pgnav {
    padding: 6px 12px;
    background: #fff;
    border: 1px solid #E4E3DC;
    border-radius: 6px;
    font-family: "DM Sans",sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #305180;
    cursor: pointer;
    transition: all .15s;
}
.tst-live-pgnav:hover:not(:disabled) { background: #EEF5FB; border-color: #305180; }
.tst-live-pgnav:disabled { opacity: .35; cursor: not-allowed; }
.tst-live-pgn {
    width: 34px;
    height: 34px;
    background: #fff;
    border: 1px solid #E4E3DC;
    border-radius: 6px;
    font-family: "DM Mono","Courier New",monospace;
    font-size: 12px;
    font-weight: 700;
    color: #888780;
    cursor: pointer;
    transition: all .15s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.tst-live-pgn:hover:not(.tst-live-pgn--on) { background: #F0F6FC; border-color: #305180; color: #305180; }
.tst-live-pgn--on { background: #305180; border-color: #305180; color: #fff; }

/* ── Bloque vacío ── */
.tst-live-empty {
    padding: 36px 20px;
    text-align: center;
    color: #A8A8A8;
    font-size: 13px;
    line-height: 1.6;
}

/* ── Bloque SEO FAQ al pie ── */
.tst-live-faq {
    margin-top: 28px;
    border: 1px solid #E4E3DC;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}
.tst-live-faq-title {
    padding: 16px 20px;
    background: #F0F6FC;
    border-bottom: 1px solid #E4E3DC;
    font-size: 14px;
    font-weight: 800;
    color: #1E3A5F;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.tst-live-faq-item {
    border-bottom: 1px solid #F0EFE8;
}
.tst-live-faq-item:last-child { border-bottom: none; }
.tst-live-faq-q {
    padding: 14px 20px;
    font-size: 13px;
    font-weight: 700;
    color: #1E3A5F;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    user-select: none;
    transition: background .15s;
}
.tst-live-faq-q:hover { background: #F7F6F2; }
.tst-live-faq-q-arrow {
    flex-shrink: 0;
    font-size: 10px;
    color: #A8A8A8;
    transition: transform .2s;
}
.tst-live-faq-item--open .tst-live-faq-q-arrow { transform: rotate(180deg); }
.tst-live-faq-a {
    padding: 0 20px 14px;
    font-size: 13px;
    color: #4A4A4A;
    line-height: 1.7;
    display: none;
}
.tst-live-faq-item--open .tst-live-faq-a { display: block; }

/* ── Leyenda de colores ── */

/* Reset: evitar que el tema sobreescriba el H1 del intro */
.tst-live-seo-intro h1 {
    font-size: 22px !important;
    font-weight: 900 !important;
    color: #1E3A5F !important;
    margin: 0 0 8px !important;
    letter-spacing: -.02em !important;
    line-height: 1.3 !important;
    padding: 0 !important;
    text-transform: none !important;
    border: none !important;
}
.tst-live-seo-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

/* ════ #tstrp-country-css ════ */
/* ── Search bar: allow wrapping for chip ── */
    .tstrp-search-bar { flex-wrap:wrap; gap:6px; position:relative; }

    /* ── Botón filtro por país ── */
    .tstrp-country-btn {
        display:inline-flex;align-items:center;gap:5px;
        padding:5px 10px;
        background:#fff;border:1.5px solid #E4E3DC;border-radius:8px;
        font-family:"DM Sans",sans-serif;font-size:11px;font-weight:700;
        color:#888780;cursor:pointer;white-space:nowrap;
        transition:border-color .15s,color .15s;flex-shrink:0;
        box-shadow:none;outline:none;
    }
    .tstrp-country-btn svg { pointer-events:none; }
    .tstrp-country-btn:hover { border-color:#305180;color:#305180; }
    .tstrp-country-btn--active { background:#EEF4FB;border-color:#305180;color:#1E3A5F; }
    .tstrp-country-btn--open .tstrp-country-arrow { transform:rotate(180deg); }
    .tstrp-country-arrow { transition:transform .2s;flex-shrink:0; }

    /* ── Dropdown ── */
    .tstrp-country-dropdown {
        position:absolute;top:calc(100% + 4px);right:0;
        background:#fff;border:1.5px solid #E4E3DC;border-radius:10px;
        box-shadow:0 6px 24px rgba(0,0,0,.12);z-index:300;min-width:220px;
        padding:6px;
    }
    .tstrp-country-dd-header {
        display:flex;align-items:center;gap:6px;
        padding:6px 8px;background:#F7F6F2;border-radius:6px;margin-bottom:4px;
    }
    .tstrp-country-dd-input {
        border:none;outline:none;background:transparent;
        font-family:"DM Sans",sans-serif;font-size:11px;color:#1A1A1A;width:100%;
    }
    .tstrp-country-dd-input::placeholder { color:#B0B0A8; }
    .tstrp-country-dd-list {
        max-height:220px;overflow-y:auto;
        scrollbar-width:thin;scrollbar-color:#E4E3DC transparent;
    }
    .tstrp-country-item {
        display:flex;align-items:center;gap:8px;
        padding:7px 8px;border-radius:6px;cursor:pointer;
        font-size:12px;color:#1A1A1A;transition:background .1s;
    }
    .tstrp-country-item:hover { background:#F0F6FC; }
    .tstrp-country-item--on { background:#EEF4FB;color:#1E3A5F;font-weight:700; }
    .tstrp-country-item-flag { font-size:15px;flex-shrink:0; }
    .tstrp-country-item-name { flex:1; }
    .tstrp-country-item-cnt {
        font-family:"DM Mono","Courier New",monospace;
        font-size:10px;color:#B0B0A8;margin-left:auto;
    }

    /* ── Chip país activo ── */
    .tstrp-country-chip {
        display:flex;align-items:center;gap:4px;
        padding:4px 10px;background:#1E3A5F;color:#E1FA59;
        border-radius:20px;font-size:11px;font-weight:700;
        margin:0 14px 8px;
    }
    .tstrp-country-chip-clear {
        background:none;border:none;color:#E1FA59;cursor:pointer;
        font-size:14px;line-height:1;padding:0 0 0 3px;
        opacity:.75;box-shadow:none;outline:none;
    }
    .tstrp-country-chip-clear:hover { opacity:1; }

    /* ── Contenedor live v2 ── */
    .tstrp-live-v2-wrap {
        border-top:1px solid #E4E3DC;
    }
    .tstrp-live-v2-wrap .tst-live-table-v2 {
        border-radius:0;box-shadow:none;border:none;
    }
    .tstrp-live-v2-wrap .tst-live-panel {
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }
    /* ── Panels / search dentro del live v2 ── */
    .tstrp-lv2-panel { display:none; }
    .tstrp-lv2-panel--on { display:block; }
    .tstrp-lv2-panel > div { overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .tstrp-lv2-search-bar { display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid #E4E3DC;background:#F7F6F2; }
    .tstrp-lv2-search { flex:1;border:none;background:transparent;font-family:"DM Sans",sans-serif;font-size:13px;color:#1A1A1A;outline:none; }
    .tstrp-lv2-search::placeholder { color:#B8B8B0; }
    .tstrp-lv2-empty { padding:28px 20px;text-align:center;color:#A8A8A8;font-size:13px; }

/* ════ #tstrp-css ════ */
.tstrp{font-family:"DM Sans","Helvetica Neue",Arial,sans-serif;background:#fff;border:1px solid #E4E3DC;border-radius:14px;overflow:hidden;max-width:100%;box-shadow:0 1px 3px rgba(0,0,0,.07),0 4px 12px rgba(0,0,0,.06)}
.tstrp-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#1E3A5F 0%,#254368 100%);gap:12px}
.tstrp-header-left{display:flex;align-items:center;gap:10px}
.tstrp-title{font-size:13px;font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:.07em}
.tstrp-header-right{display:flex;align-items:center;gap:10px}
.tstrp-updated{font-size:10px;color:rgba(255,255,255,.4);font-family:"DM Mono","Courier New",monospace}
.tstrp-btn-refresh{background:rgba(225,250,89,.12);border:1px solid rgba(225,250,89,.2);color:#E1FA59;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:15px;line-height:1;transition:background 150ms,border-color 150ms;display:flex;align-items:center;justify-content:center}
.tstrp-btn-refresh:hover{background:rgba(225,250,89,.25);border-color:rgba(225,250,89,.4)}
.tstrp-tour-switch{display:flex;background:#162e49;border-bottom:2px solid #1a3452;padding:0 4px}
.tstrp-tour-switch--single{justify-content:flex-end}
.tstrp-tour-btn{flex:1!important;padding:12px 8px!important;background:transparent!important;border:none!important;border-bottom:2px solid transparent!important;font-family:"DM Sans",sans-serif!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:rgba(255,255,255,.38)!important;cursor:pointer!important;margin-bottom:-2px!important;border-radius:0!important;box-shadow:none!important;outline:none!important}
.tstrp-tour-btn--on{color:#E1FA59!important;border-bottom-color:#E1FA59!important;background:transparent!important}
.tstrp-tabs{display:flex;border-bottom:2px solid #E4E3DC;background:#F7F6F2;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.tstrp-tabs::-webkit-scrollbar{display:none}
.tstrp-tab{flex:0 0 auto;padding:11px 16px;background:transparent;border:none;font-family:"DM Sans",sans-serif;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#A8A8A8;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color 150ms cubic-bezier(.4,0,.2,1),border-color 150ms}
.tstrp-tab:hover{color:#305180!important}
.tstrp-tab--on{color:#1E3A5F!important;border-bottom-color:#B8CC30!important;background:#fff!important}
.tstrp-search-bar{display:flex;align-items:center;gap:10px;padding:9px 16px;border-bottom:1px solid #E4E3DC;background:#fff}
.tstrp-search{flex:1;border:none;outline:none;background:transparent;font-family:"DM Sans",sans-serif;font-size:13px;color:#1A1A1A}
.tstrp-search::placeholder{color:#B0B0A8}
.tstrp-panel{display:none}
.tstrp-panel--on{display:block}
.tstrp-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}
.tstrp-th-pos{width:48px}.tstrp-th-pts{width:90px}.tstrp-th-def{width:90px}.tstrp-th-mov{width:70px}
.tstrp-th{padding:9px 12px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#305180;background:#F0F6FC;border-bottom:1px solid #D6E3F0;text-align:left;white-space:nowrap}
.tstrp-td{padding:10px 12px;border-bottom:.5px solid #F0EFE8;vertical-align:middle;overflow:hidden}
.tstrp-tdp{display:flex;align-items:center;gap:10px;min-width:0;width:100%;overflow:hidden}
.tstrp-tc{text-align:center}.tstrp-tr{text-align:right}
.tstrp-row:last-child .tstrp-td{border-bottom:none}
.tstrp-row:hover{background:#F7F6F2!important}
.tstrp-row--arg{background:#EDF5FB}
.tstrp-row--arg:hover{background:#DFF0F9!important}
.tstrp-row--lat{background:#FAFAF8}
.tstrp-row--lat:hover{background:#F4F4F0!important}
.tstrp-pos{font-family:"DM Mono","Courier New",monospace;font-size:12px;font-weight:700;color:#B8B8B0;display:inline-block;min-width:24px;text-align:center}
.tstrp-p1{color:#F5B021!important;font-size:14px!important}
.tstrp-p2{color:#9B9B93!important;font-size:13px!important}
.tstrp-p3{color:#B8794A!important;font-size:13px!important}
.tstrp-av{width:36px;height:36px;border-radius:50%;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.tstrp-av img{width:100%;height:100%;object-fit:cover}
.tstrp-ini{font-size:11px;font-weight:800;color:#fff;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.tstrp-pi{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;overflow:hidden}
.tstrp-pname{font-size:13px;font-weight:700;color:#1A1A1A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%}
.tstrp-pm{display:flex;align-items:center;gap:4px}
.tstrp-flag{border-radius:2px;display:block;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.tstrp-pc{font-size:11px;color:#888780}
.tstrp-pa{font-size:11px;color:#B0B0A8}
.tstrp-pts{font-family:"DM Mono","Courier New",monospace;font-size:13px;font-weight:700;color:#1A1A1A}
.tstrp-def{font-family:"DM Mono","Courier New",monospace;font-size:11px;color:#B0B0A8}
.tstrp-pag{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-top:1px solid #E4E3DC;background:#FAFAF7;align-items:center}
.tstrp-pag-info{width:100%;text-align:center}
.tstrp-pag-txt{font-size:11px;color:#888780}
.tstrp-pag-btns{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}
.tstrp-pgnav{padding:6px 12px;background:#fff;border:1px solid #E4E3DC;border-radius:6px;font-family:"DM Sans",sans-serif;font-size:12px;font-weight:600;color:#305180;cursor:pointer;transition:all .15s}
.tstrp-pgnav:hover:not(:disabled){background:#EEF5FB;border-color:#305180}
.tstrp-pgnav:disabled{opacity:.35;cursor:not-allowed}
.tstrp-pgn{width:34px;height:34px;background:#fff;border:1px solid #E4E3DC;border-radius:6px;font-family:"DM Mono","Courier New",monospace;font-size:12px;font-weight:700;color:#888780;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;justify-content:center}
.tstrp-pgn:hover:not(.tstrp-pgn--on){background:#F0F6FC;border-color:#305180;color:#305180}
.tstrp-pgn--on{background:#305180;border-color:#305180;color:#fff}
.tstrp-empty{padding:36px 20px;text-align:center;color:#A8A8A8;font-size:13px;line-height:1.6}
.tstrp-empty a{color:#305180;font-weight:700}
.tstrp-mov-filters{display:flex;gap:8px;padding:10px 16px;border-bottom:1px solid #E4E3DC;background:#FAFAF7;flex-wrap:wrap}
.tstrp-mov-f{background:#fff;border:1px solid #E4E3DC;border-radius:20px;padding:5px 14px;font-family:"DM Sans",sans-serif;font-size:11px;font-weight:700;color:#888780;cursor:pointer;transition:all .15s;text-transform:uppercase;letter-spacing:.05em}
.tstrp-mov-f:hover{border-color:#305180;color:#305180}
.tstrp-mov-f--on{background:#305180;border-color:#305180;color:#fff}
.tstrp-th-def2{width:160px}
.tstrp-def-hdr{white-space:nowrap}
.tstrp-def-cell{display:flex;flex-direction:column;align-items:flex-end;gap:5px;min-width:0}
.tstrp-def-pts{font-family:"DM Mono","Courier New",monospace;font-size:13px;line-height:1}
.tstrp-def-bar-wrap{width:100%;height:4px;background:#EAEAE6;border-radius:2px;overflow:hidden}
.tstrp-def-bar{height:4px;border-radius:2px;transition:width .3s ease}
.tstrp-th-sortable{cursor:pointer;user-select:none}
.tstrp-th-sortable:hover{background:#D8EAF8}
.tstrp-sort-icon{font-size:9px;opacity:.7;margin-left:2px}
.tstrp-row-clickable{cursor:pointer}
.tstrp-row-clickable:hover td{background:rgba(48,81,128,.06)!important}
.tstrp-analisis{padding:0 0 16px}
.tstrp-an-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid #E4E3DC}
.tstrp-an-card{padding:14px 16px;text-align:center;border-right:1px solid #E4E3DC}
.tstrp-an-card:last-child{border-right:none}
.tstrp-an-card-val{display:block;font-family:"DM Mono","Courier New",monospace;font-size:20px;font-weight:700;color:#1A1A1A}
.tstrp-an-card-lbl{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#A8A8A8;margin-top:2px}
.tstrp-an-section{border-bottom:1px solid #F0EFE8}
.tstrp-an-section-hdr{padding:12px 16px 8px;font-size:12px;font-weight:800;color:#305180;text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:6px}
.tstrp-an-section-hdr small{font-size:10px;font-weight:600;color:#A8A8A8;text-transform:none;letter-spacing:0}
.tstrp-an-icon{font-size:14px}
.tstrp-an-note{padding:0 16px 8px;font-size:11px;color:#A8A8A8}
.tstrp-an-table{width:100%;border-collapse:collapse;font-size:12px}
.tstrp-an-table thead th{padding:6px 12px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#305180;background:#F0F6FC;border-bottom:1px solid #E4E3DC;text-align:left}
.tstrp-an-table thead th:first-child{width:42px;text-align:center}
.tstrp-an-table thead th:nth-child(3),.tstrp-an-table thead th:nth-child(4){text-align:right;width:72px}
.tstrp-an-table tbody td{padding:8px 12px;border-bottom:.5px solid #F0EFE8;vertical-align:middle}
.tstrp-an-table tbody td:first-child{text-align:center}
.tstrp-an-table tbody td:nth-child(3),.tstrp-an-table tbody td:nth-child(4){text-align:right}
.tstrp-an-row:last-child td{border-bottom:none}
.tstrp-risk-pct{color:#E63946;font-weight:700}
.tstrp-an-spark-th{width:88px;text-align:center!important}
.tstrp-an-spark-td{text-align:center;padding:4px 12px!important}
.tstrp-sparkline{display:block;margin:0 auto}
.tstrp-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9998;opacity:0;pointer-events:none;transition:opacity .25s}
.tstrp-drawer-overlay--on{opacity:1;pointer-events:all}
.tstrp-drawer{position:fixed;top:0;right:0;bottom:0;width:min(480px,100vw);background:#fff;z-index:9999;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-4px 0 32px rgba(0,0,0,.15)}
.tstrp-drawer--open{transform:translateX(0)}
.tstrp-drawer-header{padding:18px 20px;background:#1E3A5F;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-shrink:0}
.tstrp-drawer-player{display:flex;align-items:center;gap:14px;min-width:0}
.tstrp-drawer-av{width:52px;height:52px;border-radius:50%;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.tstrp-drawer-info{min-width:0}
.tstrp-drawer-name{display:block;font-size:15px;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tstrp-drawer-meta{display:block;font-size:11px;color:rgba(255,255,255,.55);margin-top:2px}
.tstrp-drawer-close{background:rgba(255,255,255,.12);border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:20px;line-height:1;flex-shrink:0;transition:background .15s;display:flex;align-items:center;justify-content:center}
.tstrp-drawer-close:hover{background:rgba(255,255,255,.25)}
.tstrp-drawer-body{flex:1;overflow-y:auto;padding:0 0 24px}
.tstrp-drawer-loading{padding:40px 20px;text-align:center;color:#A8A8A8;font-size:13px;display:flex;align-items:center;justify-content:center;gap:10px}
.tstrp-drawer-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-bottom:1px solid #E4E3DC}
.tstrp-drawer-stat{padding:14px 16px;border-right:1px solid #E4E3DC;border-bottom:1px solid #E4E3DC}
.tstrp-drawer-stat:nth-child(2n){border-right:none}
.tstrp-drawer-stat-val{display:block;font-family:"DM Mono","Courier New",monospace;font-size:18px;font-weight:700;color:#1A1A1A}
.tstrp-drawer-stat-lbl{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#A8A8A8;margin-top:2px}
.tstrp-drawer-proj{padding:12px 16px;background:#F0F6FC;border-bottom:1px solid #E4E3DC;font-size:12px;color:#305180}
.tstrp-drawer-chart-wrap{padding:16px 16px 4px;border-bottom:1px solid #E4E3DC}
.tstrp-drawer-hist-title{padding:14px 16px 6px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#305180}
.tstrp-drawer-hist-table{width:100%;border-collapse:collapse;font-size:12px}
.tstrp-drawer-hist-table th{padding:6px 16px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#305180;background:#F0F6FC;border-bottom:1px solid #E4E3DC;text-align:left}
.tstrp-drawer-hist-table td{padding:8px 16px;border-bottom:.5px solid #F0EFE8}
.tstrp-drawer-hist-table tr:last-child td{border-bottom:none}
/* Toggle Oficial / En vivo — estilo moderno */
.tstrp-live-pill{display:flex;align-items:center;margin-left:auto;padding:0 14px;gap:10px}
.tstrp-live-label{font-size:11px;font-weight:700;color:rgba(255,255,255,.5);white-space:nowrap;transition:color .2s;letter-spacing:.04em;text-transform:uppercase}
.tstrp-live-label--active{color:#E1FA59}
.tstrp-toggle-wrap{position:relative;width:52px;height:28px;cursor:pointer;flex-shrink:0}
.tstrp-toggle-input{position:absolute;opacity:0;width:0;height:0}
.tstrp-toggle-track{display:block;width:52px;height:28px;background:rgba(255,255,255,.15);border-radius:999px;transition:background .25s;border:1.5px solid rgba(255,255,255,.2)}
.tstrp-toggle-input:checked + .tstrp-toggle-track{background:#E63946;border-color:#E63946}
.tstrp-toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .2s;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.tstrp-toggle-input:checked ~ .tstrp-toggle-thumb{transform:translateX(24px);box-shadow:0 1px 6px rgba(230,57,70,.45)}
.tstrp-toggle-wrap:hover .tstrp-toggle-track{border-color:rgba(255,255,255,.45)}
.tstrp-live-dot{width:7px;height:7px;border-radius:50%;background:#E63946;box-shadow:0 0 6px #E63946;flex-shrink:0;animation:tstrp-pulse 1.4s ease-in-out infinite}
@keyframes tstrp-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.tstrp-live-banner{display:none;align-items:center;gap:8px;padding:8px 16px;background:#162e49;border-bottom:1px solid #1a3452;font-size:11px;color:rgba(255,255,255,.6)}
.tstrp-live-banner--on{display:flex}
.tstrp-live-spinner{width:12px;height:12px;border:2px solid rgba(225,250,89,.3);border-top-color:#E1FA59;border-radius:50%;animation:tstrp-spin .7s linear infinite;flex-shrink:0}
@keyframes tstrp-spin{to{transform:rotate(360deg)}}
.tstrp-live-status{font-weight:700;color:#E1FA59}
@media(max-width:640px){
.tstrp-an-cards{grid-template-columns:repeat(2,1fr)}
.tstrp-an-card{border-bottom:1px solid #E4E3DC}
.tstrp-an-card-val{font-size:17px}
.tstrp-drawer{width:100vw}
.tstrp-drawer-stats{grid-template-columns:repeat(2,1fr)}
.tstrp-th-def2{width:100px}.tstrp-def-pts{font-size:12px}
.tstrp{border-radius:10px}
.tstrp-header{padding:12px 14px}
.tstrp-hm{display:none}
.tstrp-tab{padding:10px 10px;font-size:11px;letter-spacing:.04em}
.tstrp-av{width:32px;height:32px;flex-shrink:0}
.tstrp-ini{font-size:10px}
.tstrp-th-def{display:none}
.tstrp-td.tstrp-hm{display:none}
.tstrp-th-pos{width:36px}
.tstrp-th-pts{width:72px}
.tstrp-th-mov{width:52px}
.tstrp-th{padding:8px 8px;font-size:9px}
.tstrp-td{padding:9px 8px}
.tstrp-tdp{gap:8px}
.tstrp-pname{font-size:12px}
.tstrp-pc{font-size:10px}
.tstrp-pa{display:none}
.tstrp-pts{font-size:12px}
.tstrp-pos{font-size:11px;min-width:20px}
.tstrp-p1{font-size:13px!important}
.tstrp-p2,.tstrp-p3{font-size:12px!important}
.tstrp-pag{padding:10px 12px;gap:8px}
.tstrp-pgn{width:30px;height:30px;font-size:11px}
.tstrp-pgnav{padding:5px 10px;font-size:11px}
.tstrp-search-bar{padding:8px 12px}
.tstrp-search{font-size:13px}
.tstrp-count{font-size:10px}
.tstrp-tour-btn{font-size:12px;padding:11px 8px}
.tstrp-up,.tstrp-dn{font-size:11px}
.tstrp-mov-filters{padding:8px 12px;gap:6px}
.tstrp-mov-f{padding:4px 10px;font-size:10px}
.tstrp-live-pill{padding:0 8px}
.tstrp-pill-btn{font-size:10px;padding:4px 10px}
}
/* ── Drawer enriquecido: stats 6 columnas ── */
.tstrp-drawer-stats--6{grid-template-columns:repeat(3,1fr)}
.tstrp-drawer-hist-table th:nth-child(3){text-align:right}
.tstrp-drawer-hist-table td:nth-child(3){text-align:right;font-family:"DM Mono","Courier New",monospace;font-size:12px;color:#888780}
/* ── Near best alert en drawer ── */
.tstrp-near-best{padding:10px 16px;background:#FFF9E6;border-bottom:1px solid #FFE566;font-size:12px;color:#7A5C00;font-weight:600}
/* ── Clase dist near_best en análisis ── */
.tstrp-near-best-dist{color:#305180;font-weight:700;font-size:12px}
/* ── H2H panel ── */
.tstrp-h2h-bar{padding:10px 16px;border-bottom:1px solid #E4E3DC}
.tstrp-h2h-btn{background:#1E3A5F;color:#E1FA59;border:none;border-radius:8px;padding:8px 16px;font-family:"DM Sans",sans-serif;font-size:12px;font-weight:800;cursor:pointer;letter-spacing:.04em;transition:background .15s}
.tstrp-h2h-btn:hover{background:#162e49}
.tstrp-h2h-panel{padding:12px 16px;border-bottom:1px solid #E4E3DC;background:#F7F6F2}
.tstrp-h2h-search-wrap{position:relative}
.tstrp-h2h-input{width:100%;border:1px solid #E4E3DC;border-radius:8px;padding:8px 12px;font-family:"DM Sans",sans-serif;font-size:13px;background:#fff;outline:none;box-sizing:border-box}
.tstrp-h2h-input:focus{border-color:#305180}
.tstrp-h2h-results{position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #E4E3DC;border-radius:8px;z-index:100;max-height:220px;overflow-y:auto;box-shadow:0 4px 16px rgba(0,0,0,.1)}
.tstrp-h2h-result-item{padding:8px 14px;font-size:13px;cursor:pointer;transition:background .1s}
.tstrp-h2h-result-item:hover{background:#EEF5FB}
.tstrp-h2h-noresult,.tstrp-h2h-loading{padding:10px 14px;font-size:12px;color:#A8A8A8;display:flex;align-items:center;gap:8px}
.tstrp-h2h-legend{display:flex;align-items:center;padding:8px 16px;font-size:12px;font-weight:700;color:#1A1A1A;gap:4px;border-top:1px solid #E4E3DC}
.tstrp-h2h-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}
/* ── Evolución 4/8 semanas ── */
.tstrp-evol-strip{background:#F0F6FC;border-bottom:2px solid #E4E3DC;padding:12px 16px}
.tstrp-evol-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tstrp-evol-col{background:#fff;border:1px solid #E4E3DC;border-radius:8px;overflow:hidden}
.tstrp-evol-hdr{padding:8px 12px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#305180;background:#EEF5FB;border-bottom:1px solid #E4E3DC}
.tstrp-evol-list{padding:4px 0}
.tstrp-evol-item{padding:5px 12px;font-size:12px;display:flex;align-items:center;gap:4px;border-bottom:.5px solid #F0EFE8}
.tstrp-evol-item:last-child{border-bottom:none}
.tstrp-evol-item strong{font-family:"DM Mono",monospace;font-size:11px;color:#888780;min-width:36px}
.tstrp-evol-empty{padding:10px 12px;font-size:11px;color:#B0B0A8}
@media(max-width:640px){
.tstrp-drawer-stats--6{grid-template-columns:repeat(2,1fr)}
.tstrp-evol-cols{grid-template-columns:repeat(2,1fr)}
.tstrp-h2h-results{position:static;margin-top:4px}
}

.tstrp-pagination a,.tstrp-pagination span,.tstrp-pagination button,.tst-pagination a,.tst-pagination span{font-family:"DM Sans",sans-serif!important;background:#fff!important;color:#305180!important;border:1.5px solid #D6E3F0!important;border-radius:6px!important;padding:6px 12px!important;font-size:12px!important;font-weight:700!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;cursor:pointer!important;box-shadow:none!important}
.tstrp-pagination a:hover,.tstrp-pagination button:hover{background:#EEF4FB!important;border-color:#305180!important;color:#1E3A5F!important}
.tstrp-pagination .tstrp-pag-cur{background:#305180!important;color:#fff!important;border-color:#305180!important}

/* === OVERRIDE TOTAL: matar estilos de botones del tema Hello/Elementor === */
.tstrp button,.tstrp a,.tst-rk button,.tst-rk a,
.tstrp-tour-btn,.tstrp-tab,.tstrp-pgn,.tstrp-pgnav,
.tstrp-mov-f,.tstrp-pill-btn,.tstrp-live-btn,
.tstrp-btn-refresh,.tstrp-h2h-btn,
.tst-rk-tab,.tst-rk-mob-sw,.tst-rk-mob-stab,
.tst-am-filter-btn {
  font-family:"DM Sans","Helvetica Neue",Arial,sans-serif !important;
  box-sizing:border-box !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  text-decoration:none !important;
  outline:none !important;
}
/* Pagination nav buttons (Ant / Sig) */
.tstrp-pgnav {
  background:#fff !important;
  color:#305180 !important;
  border:1.5px solid #D6E3F0 !important;
  border-radius:6px !important;
  font-weight:600 !important;
  cursor:pointer !important;
}
.tstrp-pgnav:hover:not(:disabled) {
  background:#EEF5FB !important;
  border-color:#305180 !important;
  color:#1E3A5F !important;
}
.tstrp-pgnav:disabled { opacity:.35 !important; cursor:not-allowed !important; }
/* Pagination number buttons */
.tstrp-pgn {
  background:#fff !important;
  color:#888780 !important;
  border:1.5px solid #E4E3DC !important;
  border-radius:6px !important;
  font-family:"DM Mono","Courier New",monospace !important;
  cursor:pointer !important;
}
.tstrp-pgn:hover:not(.tstrp-pgn--on) {
  background:#F0F6FC !important;
  border-color:#305180 !important;
  color:#305180 !important;
}
.tstrp-pgn--on {
  background:#305180 !important;
  border-color:#305180 !important;
  color:#fff !important;
}
/* Movement filter buttons */
.tstrp-mov-f {
  background:#fff !important;
  color:#888780 !important;
  border:1.5px solid #E4E3DC !important;
  border-radius:20px !important;
  cursor:pointer !important;
}
.tstrp-mov-f:hover { border-color:#305180 !important; color:#305180 !important; }
.tstrp-mov-f--on {
  background:#305180 !important;
  border-color:#305180 !important;
  color:#fff !important;
}
/* Quick filter pill buttons */
.tstrp-pill-btn {
  background:#fff !important;
  color:#305180 !important;
  border:1.5px solid #D6E3F0 !important;
  border-radius:20px !important;
  cursor:pointer !important;
}
.tstrp-pill-btn:hover,.tstrp-pill-btn--on {
  background:#305180 !important;
  color:#fff !important;
  border-color:#305180 !important;
}
/* Tour switch ATP/WTA */
.tstrp-tour-btn {
  background:transparent !important;
  border:none !important;
  border-bottom:2px solid transparent !important;
  color:rgba(255,255,255,.38) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.tstrp-tour-btn--on { color:#E1FA59 !important; border-bottom-color:#E1FA59 !important; }
/* Feature tabs (TOP 500 / ARGENTINA etc) */
.tstrp-tab {
  background:transparent !important;
  border:none !important;
  border-bottom:2px solid transparent !important;
  color:#A8A8A8 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.tstrp-tab:hover { color:#305180 !important; }
.tstrp-tab--on {
  background:#fff !important;
  color:#1E3A5F !important;
  border-bottom-color:#B8CC30 !important;
}
/* Widget tabs */
.tst-rk-tab {
  background:transparent !important;
  border:none !important;
  border-bottom:2px solid transparent !important;
  color:#A8A8A8 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.tst-rk-tab:hover { color:#305180 !important; background:#fff !important; }
.tst-rk-tab--on {
  background:#fff !important;
  color:#1E3A5F !important;
  border-bottom-color:#B8CC30 !important;
}
/* Mobile sub tabs */
.tst-rk-mob-stab {
  background:transparent !important;
  border:none !important;
  border-bottom:2px solid transparent !important;
  color:#A8A8A8 !important;
  border-radius:0 !important;
}
.tst-rk-mob-stab--on {
  background:#fff !important;
  color:#305180 !important;
  border-bottom-color:#B8CC30 !important;
}
/* Refresh button */
.tstrp-btn-refresh,.tst-rk-btn-refresh {
  background:rgba(225,250,89,.12) !important;
  border:1px solid rgba(225,250,89,.2) !important;
  color:#E1FA59 !important;
  border-radius:50% !important;
}
.tstrp-btn-refresh:hover,.tst-rk-btn-refresh:hover {
  background:rgba(225,250,89,.28) !important;
}

/* ════ #tst-live-atp-css ════ */
/* ═══════════════════════════════════════════════════════
   TST Ranking ATP en Vivo — Estilos v1.0
   Hereda variables visuales del plugin principal.
═══════════════════════════════════════════════════════ */

.tst-live-wrap {
    font-family: "DM Sans","Helvetica Neue",Arial,sans-serif;
    max-width: 100%;
}

/* ── Bloque SEO intro (visible y semánticamente rico) ── */
.tst-live-seo-intro {
    background: #F7F6F2;
    border: 1px solid #E4E3DC;
    border-radius: 12px;
    padding: 22px 26px;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.7;
    color: #3A3A3A;
}
.tst-live-seo-intro h1 {
    font-size: 22px;
    font-weight: 900;
    color: #1E3A5F;
    margin: 0 0 8px;
    letter-spacing: -.02em;
    line-height: 1.3;
}
.tst-live-seo-intro .tst-live-seo-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.tst-live-seo-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.tst-live-seo-badge--atp  { background: #E1FA59; color: #1E3A5F; }
.tst-live-seo-badge--live { background: #E63946; color: #fff; }
.tst-live-seo-badge--arg  { background: #EDF5FB; color: #1E3A5F; border: 1px solid #C0D8EE; }
.tst-live-seo-p {
    margin: 0 0 6px;
    font-size: 13.5px;
    color: #4A4A4A;
}
.tst-live-seo-p:last-child { margin-bottom: 0; }
.tst-live-seo-stat-row {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #E4E3DC;
}
.tst-live-seo-stat {
    text-align: center;
    min-width: 80px;
}
.tst-live-seo-stat-val {
    display: block;
    font-family: "DM Mono","Courier New",monospace;
    font-size: 24px;
    font-weight: 700;
    color: #1E3A5F;
    line-height: 1.1;
}
.tst-live-seo-stat-lbl {
    display: block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #A8A8A8;
    margin-top: 2px;
}
.tst-live-seo-stat-sep {
    width: 1px;
    background: #E4E3DC;
    align-self: stretch;
}

/* ── Cabecera del bloque ranking ── */
.tst-live-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: linear-gradient(135deg, #1E3A5F 0%, #254368 100%);
    border-radius: 14px 14px 0 0;
    gap: 12px;
}
.tst-live-header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}
.tst-live-title {
    font-size: 13px;
    font-weight: 900;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .07em;
}
.tst-live-updated {
    font-size: 10px;
    color: rgba(255,255,255,.4);
    font-family: "DM Mono","Courier New",monospace;
}
.tst-live-header-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* ── Indicador En vivo (siempre activo) ── */
.tst-live-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #E63946;
    box-shadow: 0 0 6px #E63946;
    flex-shrink: 0;
    animation: tst-live-pulse 1.4s ease-in-out infinite;
    display: inline-block;
}
@keyframes tst-live-pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
.tst-live-live-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    color: #E1FA59;
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* ── Banner en vivo ── */
.tst-live-banner {
    display: none;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: #162e49;
    border-bottom: 1px solid #1a3452;
    font-size: 11px;
    color: rgba(255,255,255,.6);
}
.tst-live-banner--on { display: flex; }
.tst-live-spinner {
    width: 12px;
    height: 12px;
    border: 2px solid rgba(225,250,89,.3);
    border-top-color: #E1FA59;
    border-radius: 50%;
    animation: tst-spin .7s linear infinite;
    flex-shrink: 0;
}
@keyframes tst-spin { to { transform: rotate(360deg); } }
.tst-live-status { font-weight: 700; color: #E1FA59; }

/* ── Tabs ── */
.tst-live-tabs {
    display: flex;
    background: #F7F6F2;
    border-bottom: 2px solid #E4E3DC;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.tst-live-tabs::-webkit-scrollbar { display: none; }
.tst-live-tab {
    flex: 0 0 auto;
    padding: 12px 20px;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    font-family: "DM Sans",sans-serif;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #A8A8A8;
    cursor: pointer;
    white-space: nowrap;
    transition: color 150ms, border-color 150ms;
}
.tst-live-tab:hover { color: #305180; }
.tst-live-tab--on {
    color: #1E3A5F !important;
    border-bottom-color: #B8CC30 !important;
    background: #fff !important;
}

/* ── Buscador ── */
.tst-live-search-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-bottom: 1px solid #E4E3DC;
    background: #fff;
}
.tst-live-search {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-family: "DM Sans",sans-serif;
    font-size: 13px;
    color: #1A1A1A;
}
.tst-live-search::placeholder { color: #B0B0A8; }
.tst-live-count {
    font-size: 11px;
    color: #B0B0A8;
    white-space: nowrap;
    font-family: "DM Mono","Courier New",monospace;
}

/* ── Panel ── */
.tst-live-panel { display: none; }
.tst-live-panel--on { display: block; }

/* ── Tabla ── */
.tst-live-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    table-layout: fixed;
}
.tst-live-table-v2 {
    table-layout: auto;
    min-width: 600px;
}
.tst-live-panel {
    display: none;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.tst-live-panel--on { display: block; }
.tst-live-th-pos { width: 48px; }
.tst-live-th-pts { width: 90px; }
.tst-live-th-mov { width: 70px; }
.tst-live-th {
    padding: 9px 12px;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .09em;
    color: #305180;
    background: #F0F6FC;
    border-bottom: 1px solid #D6E3F0;
    text-align: left;
    white-space: nowrap;
}
.tst-live-tc { text-align: center; }
.tst-live-tr { text-align: right; }
.tst-live-td {
    padding: 10px 12px;
    border-bottom: .5px solid #F0EFE8;
    vertical-align: middle;
    overflow: hidden;
}
.tst-live-row:last-child .tst-live-td { border-bottom: none; }
.tst-live-row:hover { background: #F7F6F2 !important; }
.tst-live-row--arg { background: #EDF5FB; }
.tst-live-row--arg:hover { background: #DFF0F9 !important; }
.tst-live-row--lat { background: #FAFAF8; }
.tst-live-row--lat:hover { background: #F4F4F0 !important; }

/* ── Posición ── */
.tst-live-pos {
    font-family: "DM Mono","Courier New",monospace;
    font-size: 12px;
    font-weight: 700;
    color: #B8B8B0;
    display: inline-block;
    min-width: 24px;
    text-align: center;
}
.tst-live-p1 { color: #F5B021 !important; font-size: 14px !important; }
.tst-live-p2 { color: #9B9B93 !important; }
.tst-live-p3 { color: #B8794A !important; }

/* ── Avatar ── */
.tst-live-av {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    flex-shrink: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.tst-live-av img { width: 100%; height: 100%; object-fit: cover; }
.tst-live-ini {
    font-size: 11px;
    font-weight: 800;
    color: #fff;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ── Info jugador ── */
.tst-live-tdp {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    width: 100%;
    overflow: hidden;
}
.tst-live-pi {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    flex: 1;
    overflow: hidden;
}
.tst-live-pname {
    font-size: 13px;
    font-weight: 700;
    color: #1A1A1A;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    width: 100%;
}
.tst-live-pm {
    display: flex;
    align-items: center;
    gap: 4px;
}
.tst-live-flag {
    border-radius: 2px;
    display: block;
    flex-shrink: 0;
    box-shadow: 0 0 0 1px rgba(0,0,0,.06);
}
.tst-live-pc { font-size: 11px; color: #888780; }
.tst-live-pts {
    font-family: "DM Mono","Courier New",monospace;
    font-size: 13px;
    font-weight: 700;
    color: #1A1A1A;
}

/* ── Movimientos ── */
.tst-live-up { color: #2A9D8F; font-weight: 700; font-size: 11px; }
.tst-live-dn { color: #E63946; font-weight: 700; font-size: 11px; }
.tst-live-eq { color: #CCCCCC; font-size: 11px; }

/* ── Botón refresh (solo admin) ── */
.tst-live-btn-refresh {
    background: rgba(225,250,89,.12);
    border: 1px solid rgba(225,250,89,.2);
    color: #E1FA59;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 15px;
    line-height: 1;
    transition: background 150ms, border-color 150ms;
    display: flex;
    align-items: center;
    justify-content: center;
}
.tst-live-btn-refresh:hover {
    background: rgba(225,250,89,.25);
    border-color: rgba(225,250,89,.4);
}

/* ── Bloque envolvente ── */
.tst-live-box {
    background: #fff;
    border: 1px solid #E4E3DC;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,.07), 0 4px 12px rgba(0,0,0,.06);
    margin-bottom: 20px;
}

/* ── Paginación ── */
.tst-live-pag {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px 16px;
    border-top: 1px solid #E4E3DC;
    background: #FAFAF7;
    align-items: center;
}
.tst-live-pag-txt { font-size: 11px; color: #888780; }
.tst-live-pag-btns {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: center;
}
.tst-live-pgnav {
    padding: 6px 12px;
    background: #fff;
    border: 1px solid #E4E3DC;
    border-radius: 6px;
    font-family: "DM Sans",sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #305180;
    cursor: pointer;
    transition: all .15s;
}
.tst-live-pgnav:hover:not(:disabled) { background: #EEF5FB; border-color: #305180; }
.tst-live-pgnav:disabled { opacity: .35; cursor: not-allowed; }
.tst-live-pgn {
    width: 34px;
    height: 34px;
    background: #fff;
    border: 1px solid #E4E3DC;
    border-radius: 6px;
    font-family: "DM Mono","Courier New",monospace;
    font-size: 12px;
    font-weight: 700;
    color: #888780;
    cursor: pointer;
    transition: all .15s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.tst-live-pgn:hover:not(.tst-live-pgn--on) { background: #F0F6FC; border-color: #305180; color: #305180; }
.tst-live-pgn--on { background: #305180; border-color: #305180; color: #fff; }

/* ── Bloque vacío ── */
.tst-live-empty {
    padding: 36px 20px;
    text-align: center;
    color: #A8A8A8;
    font-size: 13px;
    line-height: 1.6;
}

/* ── Bloque SEO FAQ al pie ── */
.tst-live-faq {
    margin-top: 28px;
    border: 1px solid #E4E3DC;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}
.tst-live-faq-title {
    padding: 16px 20px;
    background: #F0F6FC;
    border-bottom: 1px solid #E4E3DC;
    font-size: 14px;
    font-weight: 800;
    color: #1E3A5F;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.tst-live-faq-item {
    border-bottom: 1px solid #F0EFE8;
}
.tst-live-faq-item:last-child { border-bottom: none; }
.tst-live-faq-q {
    padding: 14px 20px;
    font-size: 13px;
    font-weight: 700;
    color: #1E3A5F;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    user-select: none;
    transition: background .15s;
}
.tst-live-faq-q:hover { background: #F7F6F2; }
.tst-live-faq-q-arrow {
    flex-shrink: 0;
    font-size: 10px;
    color: #A8A8A8;
    transition: transform .2s;
}
.tst-live-faq-item--open .tst-live-faq-q-arrow { transform: rotate(180deg); }
.tst-live-faq-a {
    padding: 0 20px 14px;
    font-size: 13px;
    color: #4A4A4A;
    line-height: 1.7;
    display: none;
}
.tst-live-faq-item--open .tst-live-faq-a { display: block; }

/* ── Leyenda de colores ── */
.tst-live-legend {
    display: flex;
    gap: 16px;
    padding: 8px 14px;
    font-size: 11px;
    color: #888;
    background: #FAFAF7;
    border-top: 1px solid #F0EFE8;
    flex-wrap: wrap;
    align-items: center;
}
.tst-live-legend span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.tst-live-legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 3px;
    display: inline-block;
}

/* ══════════════
   MOBILE ≤ 640px
══════════════ */
@media (max-width: 640px) {
    .tst-live-seo-intro { padding: 16px 14px; }
    .tst-live-seo-intro h1 { font-size: 18px; }
    .tst-live-seo-stat-val { font-size: 20px; }
    .tst-live-header { padding: 12px 14px; flex-wrap: wrap; }
    /* Tabs: 2 columnas x 2 filas en mobile */
    .tst-live-tabs {
        flex-wrap: wrap;
        overflow-x: visible;
    }
    .tst-live-tab {
        flex: 1 1 50%;
        min-width: 0;
        box-sizing: border-box;
        padding: 10px 8px;
        font-size: 10px;
        text-align: center;
        border-right: 1px solid #E4E3DC;
        border-top: 1px solid #E4E3DC;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .tst-live-tab:nth-child(2n)   { border-right: none; }
    .tst-live-tab:nth-child(1),
    .tst-live-tab:nth-child(2)    { border-top: none; }
    .tst-live-av { width: 30px; height: 30px; }
    .tst-live-ini { font-size: 10px; }
    .tst-live-th-pts { width: 70px; }
    .tst-live-th-mov { width: 52px; }
    .tst-live-th { padding: 8px 8px; font-size: 9px; }
    .tst-live-td { padding: 9px 8px; }
    .tst-live-tdp { gap: 7px; }
    .tst-live-pname { font-size: 12px; }
    .tst-live-pts { font-size: 12px; }
    .tst-live-pos { font-size: 11px; min-width: 20px; }
    .tst-live-pc { display: none; }
    .tst-live-legend { display: none; }
    .tst-live-seo-stat-sep { display: none; }
}

/* Override botones tema */
.tst-live-box button, .tst-live-wrap button {
    box-shadow: none !important;
    outline: none !important;
    line-height: normal !important;
    text-decoration: none !important;
}

/* ════ #tst-live-v2-css ════ */
/* ── Rank cell con NMR/MR badge debajo ───────────── */
.tst-live-rank-cell {
    vertical-align:top;padding-top:10px !important;
}
.tst-live-rk-badge {
    display:block;margin-top:4px;font-size:9px;padding:1px 4px;
    text-align:center;
}
.tst-live-badge-prev { font-size:8px;opacity:.85; }

/* ── Badges MR / NMR ─────────────────────────────── */
.tst-live-badge {
    display:inline-flex;align-items:center;gap:2px;
    font-size:10px;font-weight:800;border-radius:3px;
    padding:2px 5px;letter-spacing:.04em;white-space:nowrap;
}
.tst-live-badge--mr  { background:#E1FA59;color:#1E3A5F; }
.tst-live-badge--nmr { background:#E63946;color:#fff; }

/* ── Column widths (desktop) ─────────────────────── */
.tst-live-col-rank   { width:42px; }
.tst-live-col-player { }
.tst-live-col-pts    { width:80px; }
.tst-live-col-delta  { width:52px; }
.tst-live-col-tourn  { width:96px; }
.tst-live-col-proj   { width:80px; }

/* ── Celda jugador compacta ───────────────────────── */
.tst-live-player-v2 { padding:6px 8px !important; }
.tst-live-player-inner {
    display:flex;align-items:center;gap:8px;
}
.tst-live-player-v2 .tst-live-av {
    width:28px;height:28px;border-radius:50%;flex-shrink:0;
    overflow:hidden;display:flex;align-items:center;justify-content:center;
}
.tst-live-player-v2 .tst-live-av img { width:28px;height:28px;object-fit:cover; }
.tst-live-player-v2 .tst-live-ini { font-size:9px;font-weight:800; }
.tst-live-player-info {
    display:flex;flex-direction:column;gap:2px;min-width:0;
}
.tst-live-name {
    font-size:13px;font-weight:700;color:#1A1A1A;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.tst-live-player-meta {
    display:flex;align-items:center;gap:4px;
}
.tst-live-player-meta img { width:16px;height:12px;flex-shrink:0; }
.tst-live-cc {
    font-size:11px;font-weight:700;color:#305180;
}
.tst-live-cc sub {
    font-size:9px;font-weight:400;color:#888780;vertical-align:baseline;
}
.tst-live-age-inline {
    font-size:10px;color:#B8B8B0;margin-left:2px;
}
.tst-live-age-inline::before { content:"· "; }

/* ── Columna pts ──────────────────────────────────── */
.tst-live-pts {
    font-family:"DM Mono","Courier New",monospace;
    font-size:13px;font-weight:700;
}

/* ── Columna delta +/- ────────────────────────────── */
.tst-live-delta { font-family:"DM Mono","Courier New",monospace;font-size:12px;font-weight:700; }
.tst-live-delta--up { color:#2A8A4A; }
.tst-live-delta--dn { color:#E63946; }

/* ── Columna torneo ───────────────────────────────── */
.tst-live-tourn { }
.tst-live-tourn-name {
    display:block;font-size:12px;font-weight:700;color:#1A1A1A;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.tst-live-tourn-round {
    display:block;font-size:10px;color:#888780;margin-top:1px;
}
.tst-live-tourn-name--elim {
    color:#B0AEA8;
}
.tst-live-tourn-round--elim {
    color:#C8C6C0;
}
.tst-live-tourn-elim {
    display:block;font-size:9px;color:#B0AEA8;
    font-style:italic;margin-top:2px;
    letter-spacing:.02em;
}
.tst-live-tourn--elim {
    opacity:.85;
}

/* ── Columnas Sig. / Máx. ─────────────────────────── */
.tst-live-proj { }
.tst-live-proj-total {
    display:block;font-family:"DM Mono","Courier New",monospace;
    font-size:12px;font-weight:700;color:#1A1A1A;text-align:right;
}
.tst-live-proj-delta {
    display:block;font-size:10px;color:#2A8A4A;text-align:right;margin-top:1px;
}
.tst-live-proj--empty {
    color:#C0BFBA;font-family:"DM Mono","Courier New",monospace;text-align:right;
}

/* ── Header de tabla ──────────────────────────────── */
.tst-live-thead-v2 th {
    font-size:10px;font-weight:800;text-transform:uppercase;
    letter-spacing:.06em;color:#888780;padding:7px 8px;
    border-bottom:1.5px solid #E4E3DC;white-space:nowrap;
    background:#F7F6F2;
}
.tst-live-thead-v2 th.tst-live-th-r { text-align:right; }
.tst-live-thead-v2 th.tst-live-th-c { text-align:center; }

/* ══════════════════════════════════════════════════
   MOBILE: layout compacto — todo visible sin scroll
   Estrategia: eliminar foto y col. País, bandera emoji
   inline con apellido. Fuente reducida, padding mínimo.
   ══════════════════════════════════════════════════ */

/* ── Versiones desktop/mobile del jugador ─────────────── */
.tst-live-desktop-player { display:flex; }
.tst-live-mobile-player  { display:none; }

/* ── Panel: scroll horizontal con sticky columns ──────── */
.tst-live-panel--on {
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}
.tst-live-table-v2 {
    width:max-content;
    min-width:100%;
}

/* ── Sticky: columnas # y Jugador siempre visibles ─────── */
.tst-live-table-v2 td:nth-child(1),
.tst-live-table-v2 th:nth-child(1) {
    position:sticky;
    left:0;
    z-index:2;
    background:#fff;
}
.tst-live-table-v2 thead th:nth-child(1) {
    z-index:3;
    background:#F7F6F2;
}
.tst-live-table-v2 td:nth-child(2),
.tst-live-table-v2 th:nth-child(2) {
    position:sticky;
    left:42px;
    z-index:2;
    background:#fff;
    box-shadow:3px 0 8px -2px rgba(0,0,0,.15);
}
.tst-live-table-v2 thead th:nth-child(2) {
    z-index:3;
    background:#F7F6F2;
}

/* Filas argentinas — fondo sólido en sticky */
.tst-live-row--arg td:nth-child(1),
.tst-live-row--arg td:nth-child(2) {
    background:#EDF5FB;
}
/* Filas pares (zebra) — fondo sólido en sticky */
.tst-live-table-v2 tr:nth-child(even) td:nth-child(1),
.tst-live-table-v2 tr:nth-child(even) td:nth-child(2) {
    background:#FAFAF8;
}

/* ── Mobile ≤ 640px ──────────────────────────────────── */
@media (max-width: 640px) {
    /* Ocultar foto, mostrar solo nombre + bandera emoji */
    .tst-live-desktop-player { display:none !important; }
    .tst-live-mobile-player {
        display:flex;
        flex-direction:column;
        gap:1px;
    }
    .tst-live-mob-name {
        font-size:12px;
        font-weight:500;
        color:var(--color-text-primary);
        white-space:nowrap;
        line-height:1.3;
    }
    .tst-live-mob-meta {
        font-size:9px;
        color:var(--color-text-tertiary);
        white-space:nowrap;
    }
    .tst-live-mob-meta sub { font-size:8px; vertical-align:baseline; }

    /* Reducir padding general */
    .tst-live-td { padding:6px 6px !important; }
    .tst-live-thead-v2 th { font-size:9px; padding:6px 6px; }

    /* Rank cell */
    .tst-live-rank-cell { padding-top:7px !important; }
    .tst-live-pos { font-size:12px; }
    .tst-live-rk-badge { font-size:7px; padding:1px 3px; margin-top:2px; }
    .tst-live-badge-prev { display:none; }

    /* Datos numéricos */
    .tst-live-pts { font-size:12px; }
    .tst-live-delta { font-size:11px; }

    /* Torneo */
    .tst-live-tourn-name { font-size:11px; }
    .tst-live-tourn-round { font-size:9px; }
    .tst-live-tourn-elim { font-size:8px; }

    /* Proyecciones */
    .tst-live-proj-total { font-size:11px; }
    .tst-live-proj-delta { font-size:9px; }
    .tst-live-proj--empty { font-size:11px; }

    /* Ancho col Jugador en mobile: nombre completo sin foto */
    .tst-live-table-v2 td:nth-child(2),
    .tst-live-table-v2 th:nth-child(2) {
        left:38px;
        min-width:130px;
        max-width:160px;
    }
    .tst-live-table-v2 td:nth-child(1),
    .tst-live-table-v2 th:nth-child(1) {
        min-width:38px;
        max-width:38px;
    }
}

/* ── Hint deslizá (mobile only) ───────────────────── */
.tst-live-scroll-hint {
    display: none;
}
@media (max-width: 640px) {
    .tst-live-scroll-hint {
        display: flex;
        align-items: center;
        gap: 5px;
        padding: 5px 12px 4px;
        background: #F0F6FC;
        border-bottom: 1px solid #D6E3F0;
        font-size: 10px;
        font-weight: 700;
        color: #305180;
        letter-spacing: .03em;
    }
    /* --hidden ya no oculta: el hint es permanente en mobile */
    .tst-live-scroll-hint--hidden {
        /* sin efecto — mantenemos la clase por compatibilidad con el JS existente */
    }
    .tst-live-scroll-hint svg {
        flex-shrink: 0;
        animation: tst-swipe 1.4s ease-in-out infinite;
    }
    @keyframes tst-swipe {
        0%, 100% { transform: translateX(0); }
        40%       { transform: translateX(5px); }
        70%       { transform: translateX(-2px); }
    }
}

/* ════ #tst-rk-css ════ */
/* ═══════════════════════════════════════════
   TST Rankings Widget — Design System v5
═══════════════════════════════════════════ */
.tst-rk{
  font-family:"DM Sans","Helvetica Neue",Arial,sans-serif;
  background:#fff;
  border:1px solid #E4E3DC;
  border-radius:12px;
  overflow:hidden;
  max-width:100%;
  box-shadow:0 1px 3px rgba(0,0,0,.07),0 4px 12px rgba(0,0,0,.06)
}

/* ── Tabs desktop ── */
.tst-rk-tabs{display:flex;border-bottom:2px solid #E4E3DC;background:#F7F6F2}
.tst-rk-mob-switch,.tst-rk-mob-subtabs{display:none}
.tst-rk-tab{
  flex:1;padding:12px 8px;
  background:transparent;border:none;
  font-family:"DM Sans",sans-serif;font-size:12px;font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;
  color:#A8A8A8;cursor:pointer;
  border-bottom:2px solid transparent;margin-bottom:-2px;
  transition:color 150ms cubic-bezier(.4,0,.2,1),border-color 150ms cubic-bezier(.4,0,.2,1),background 150ms
}
.tst-rk-tab:hover{color:#305180!important;background:#fff!important}
.tst-rk-tab--on{background:#fff!important;color:#1E3A5F!important;border-bottom-color:#B8CC30!important}

/* ── Header ── */
.tst-rk-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;
  background:linear-gradient(135deg,#1E3A5F 0%,#254368 100%);
  border-bottom:1px solid rgba(255,255,255,.06)
}
.tst-rk-htitle{
  display:flex;align-items:center;gap:9px;
  font-size:12px;font-weight:900;
  color:#fff;text-transform:uppercase;letter-spacing:.07em
}
.tst-rk-badge{
  font-size:9px;font-weight:800;
  padding:3px 9px;border-radius:4px;letter-spacing:.08em;
  text-transform:uppercase;
}
.tst-rk-badge--atp{background:#E1FA59;color:#1E3A5F}
.tst-rk-badge--wta{background:#6A4C93;color:#E8D9F9}
.tst-rk-hmeta{
  font-size:10px;color:rgba(255,255,255,.45);
  display:flex;align-items:center;gap:8px;
  font-family:"DM Mono","Courier New",monospace
}
.tst-rk-btn-refresh{
  background:rgba(225,250,89,.12);border:1px solid rgba(225,250,89,.2);
  color:#E1FA59;width:26px;height:26px;border-radius:50%;
  cursor:pointer;font-size:14px;line-height:1;
  transition:background 150ms,border-color 150ms;
  display:flex;align-items:center;justify-content:center
}
.tst-rk-btn-refresh:hover{background:rgba(225,250,89,.25);border-color:rgba(225,250,89,.4)}

/* ── Empty ── */
.tst-rk-empty{padding:32px;text-align:center;color:#A8A8A8;font-size:13px}
.tst-rk-empty a{color:#305180;font-weight:700;text-decoration:underline}
.tst-rk-empty-col{padding:14px 12px;font-size:11px;color:#A8A8A8;text-align:center;font-style:italic}

/* ── Ver más / filas ocultas ── */
.tst-rk-row--hidden{display:none}
.tst-rk-ver-mas{
  display:flex;align-items:center;justify-content:center;gap:4px;
  width:100%;padding:9px 12px;
  background:#F7F6F2;border:none;border-top:1px solid #E4E3DC;
  font-size:11px;font-weight:700;color:#305180;
  cursor:pointer;letter-spacing:.03em;text-transform:uppercase;
  transition:background .15s,color .15s;
  position:sticky;bottom:0;z-index:1;
}
.tst-rk-ver-mas:hover{background:#EDF5FB;color:#1E3A5F}
.tst-rk-ver-mas-arrow{font-size:9px;transition:transform .2s}
.tst-rk-ver-mas-count{font-weight:500;color:#A8A8A8;font-size:10px;text-transform:none;letter-spacing:0}

/* ── 3-column grid ── */
.tst-rk-cols{display:grid;grid-template-columns:repeat(3,1fr);align-items:start}
.tst-rk-col{border-right:1px solid #E4E3DC}
.tst-rk-col:last-child{border-right:none}
/* Argentinos & Latam: no expanden el widget más allá del Top 10 */
.tst-rk-col[data-col-idx="1"],.tst-rk-col[data-col-idx="2"]{
  display:flex;flex-direction:column
}
/* El botón Ver más siempre queda pegado al final de la columna */
.tst-rk-ver-mas{margin-top:auto}
.tst-rk-col-hd{
  padding:9px 12px;
  font-size:9px;font-weight:800;
  text-transform:uppercase;letter-spacing:.09em;
  color:#305180;
  background:#F0F6FC;
  border-bottom:1px solid #D6E3F0;
  display:flex;align-items:center;gap:6px;
  white-space:nowrap
}
.tst-rk-col-sub{font-size:9px;color:#A8A8A8;font-weight:500;text-transform:none;letter-spacing:0}

/* ── Rows ── */
.tst-rk-row{
  display:flex;align-items:center;gap:7px;
  padding:8px 10px;
  border-bottom:.5px solid #F0EFE8;
  transition:background 150ms cubic-bezier(.4,0,.2,1);
  min-width:0
}
.tst-rk-row:last-child{border-bottom:none}
.tst-rk-row:hover{background:#F7F6F2}
.tst-rk-row--arg{background:#EDF5FB}
.tst-rk-row--arg:hover{background:#DFF0F9}
.tst-rk-row--lat{background:#FAFAF8}
.tst-rk-row--lat:hover{background:#F4F4F0}

/* ── Position ── */
.tst-rk-pos{
  font-family:"DM Mono","Courier New",monospace;
  font-size:11px;font-weight:700;
  color:#B8B8B0;min-width:20px;
  text-align:right;flex-shrink:0;
  line-height:1
}
.tst-rk-pos--1{color:#F5B021}
.tst-rk-pos--2{color:#9B9B93}
.tst-rk-pos--3{color:#B8794A}
.tst-rk-pos--4{color:#A8A8A0}

/* ── Flag ── */
.tst-rk-flag{flex-shrink:0;border-radius:2px;display:block;box-shadow:0 0 0 1px rgba(0,0,0,.06)}

/* ── Name & points ── */
.tst-rk-name{
  flex:1;font-size:12px;font-weight:600;
  color:#1A1A1A;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0
}
.tst-rk-pts{
  font-family:"DM Mono","Courier New",monospace;
  font-size:11px;color:#A8A8A0;
  flex-shrink:0;white-space:nowrap
}

/* ── Clickable row ── */
.tst-rk-row--clickable{cursor:pointer!important}
.tst-rk-row--clickable:hover{background:#EEF4FB!important}
.tst-rk-row--clickable:hover .tst-rk-name{color:#305180!important;text-decoration:underline!important;text-underline-offset:2px!important}

/* ── Movement indicators ── */
.tst-rk-mov{
  font-size:10px;font-weight:700;
  flex-shrink:0;min-width:14px;text-align:center;
  font-family:"DM Mono","Courier New",monospace
}
.tst-rk-mov--up{color:#2A9D8F}
.tst-rk-mov--dn{color:#E63946}
.tst-rk-mov--eq{color:#E4E3DC}

/* ═══════════════
   MOBILE ≤ 640px
═══════════════ */
@media(max-width:640px){
  .tst-rk-tabs{display:none}
  .tst-rk-header{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px}
  .tst-rk-header-top{display:flex;align-items:center;justify-content:space-between}
  .tst-rk-mob-switch{
    display:flex;
    background:rgba(0,0,0,.2);
    border-radius:8px;overflow:hidden;padding:3px;gap:3px
  }
  .tst-rk-mob-sw{
    flex:1;background:none;border:none;
    color:rgba(255,255,255,.5);
    font-family:"DM Sans",sans-serif;font-size:11px;font-weight:800;
    padding:8px 0;cursor:pointer;
    transition:all 200ms;text-transform:uppercase;letter-spacing:.06em;min-height:38px;
    border-radius:6px;
  }
  .tst-rk-mob-sw--on{background:#E1FA59;color:#1E3A5F}
  .tst-rk-mob-subtabs{
    display:flex;background:#F7F6F2;
    border-bottom:2px solid #E4E3DC
  }
  .tst-rk-mob-stab{
    flex:1;padding:9px 4px;background:transparent;border:none;
    border-bottom:2px solid transparent;margin-bottom:-2px;
    font-family:"DM Sans",sans-serif;font-size:9px;font-weight:800;
    color:#A8A8A8;text-transform:uppercase;letter-spacing:.07em;
    cursor:pointer;transition:all 150ms;min-height:38px
  }
  .tst-rk-mob-stab--on{color:#305180;border-bottom-color:#B8CC30;background:#fff}
  .tst-rk-cols{grid-template-columns:1fr}
  .tst-rk-col{border-right:none}
  .tst-rk-col-hd{display:none}
  /* Cols 2 y 3 ocultas por defecto en mobile — JS las muestra al cambiar tab */
  .tst-rk-col--mob2,.tst-rk-col--mob3{display:none}
  .tst-rk-col--hidden{display:none}
  .tst-rk-row{padding:9px 14px}
}
@media(min-width:641px){.tst-rk-header-top{display:contents}}

/* ════ #tst-arg-mov-css ════ */
.tst-am{font-family:"DM Sans","Helvetica Neue",Arial,sans-serif;background:#fff;border:1px solid #E4E3DC;border-radius:12px;overflow:hidden;max-width:100%;margin-bottom:16px}
.tst-am-hdr{background:#1E3A5F;padding:12px 16px;display:flex;align-items:center;gap:8px}
.tst-am-hdr-badge{background:#E1FA59;color:#1E3A5F;font-size:10px;font-weight:900;padding:2px 8px;border-radius:4px;letter-spacing:.06em;text-transform:uppercase}
.tst-am-hdr-wta .tst-am-hdr-badge{background:#6A4C93;color:#fff}
.tst-am-hdr-title{font-size:12px;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.06em}
.tst-am-hdr-date{font-size:10px;color:rgba(255,255,255,.45);margin-left:auto}
.tst-am-section-hdr{display:flex;align-items:center;gap:6px;padding:10px 14px 6px;background:#F7F6F2;border-bottom:1px solid #E4E3DC;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#305180}
.tst-am-section-hdr--up{color:#2A8A4A}
.tst-am-section-hdr--dn{color:#E63946}
.tst-am-row{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:.5px solid #F0EFE8}
.tst-am-row:last-child{border-bottom:none}
.tst-am-row--clickable{cursor:pointer;transition:background .12s}
.tst-am-row--clickable:hover{background:#EEF3F8}
.tst-am-row--clickable:hover .tst-am-name{color:#305180;text-decoration:underline}
.tst-am-pos{font-family:"DM Mono","Courier New",monospace;font-size:12px;font-weight:700;color:#B8B8B0;min-width:28px;text-align:right;flex-shrink:0}
.tst-am-av{width:32px;height:32px;border-radius:50%;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff}
.tst-am-av img{width:100%;height:100%;object-fit:cover}
.tst-am-info{flex:1;min-width:0}
.tst-am-name{font-size:13px;font-weight:700;color:#1A1A1A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.tst-am-rank{font-size:11px;color:#888780}
.tst-am-mov{font-family:"DM Mono","Courier New",monospace;font-size:13px;font-weight:800;flex-shrink:0;white-space:nowrap}
.tst-am-mov--up{color:#2A8A4A}
.tst-am-mov--dn{color:#E63946}
.tst-am-empty{padding:20px;text-align:center;font-size:12px;color:#A8A8A8}

/* ════ #tst-race-css ════ */
.tst-race-wrap{font-family:"DM Sans","Helvetica Neue",Arial,sans-serif;max-width:100%}
.tst-race-seo-intro{background:#F7F6F2;border:1px solid #E4E3DC;border-radius:12px;padding:22px 26px;margin-bottom:20px;font-size:14px;line-height:1.7;color:#3A3A3A}
.tst-race-seo-intro h1{font-size:22px;font-weight:900;color:#1E3A5F;margin:0 0 8px;letter-spacing:-.02em;line-height:1.3}
.tst-race-seo-intro h1.tst-race-wta{color:#8B1A6B}
.tst-race-seo-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.tst-race-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;letter-spacing:.04em;text-transform:uppercase}
.tst-race-badge--atp{background:#E1FA59;color:#1E3A5F}
.tst-race-badge--wta{background:#FFCEF3;color:#8B1A6B}
.tst-race-badge--semanal{background:#F0EFE9;color:#555}
.tst-race-badge--arg{background:#EDF5FB;color:#1E3A5F;border:1px solid #C0D8EE}
.tst-race-seo-p{margin:0 0 6px;font-size:13.5px;color:#4A4A4A}
.tst-race-seo-p:last-child{margin-bottom:0}
.tst-race-stat-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #E4E3DC}
.tst-race-stat{text-align:center;min-width:80px}
.tst-race-stat-val{display:block;font-family:"DM Mono","Courier New",monospace;font-size:24px;font-weight:700;color:#1E3A5F;line-height:1.1}
.tst-race-stat-val.tst-race-wta{color:#8B1A6B}
.tst-race-stat-lbl{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#A8A8A8;margin-top:2px}
.tst-race-stat-sep{width:1px;background:#E4E3DC;align-self:stretch}
.tst-race-box{border:1px solid #E4E3DC;border-radius:14px;overflow:hidden;background:#fff}
.tst-race-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#1E3A5F 0%,#254368 100%);gap:12px}
.tst-race-header.tst-race-wta{background:linear-gradient(135deg,#8B1A6B 0%,#A0226E 100%)}
.tst-race-header-left{display:flex;align-items:center;gap:10px}
.tst-race-header-right{display:flex;align-items:center;gap:12px}
.tst-race-title{font-size:13px;font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:.07em}
.tst-race-updated{font-size:10px;color:rgba(255,255,255,.4);font-family:"DM Mono","Courier New",monospace}
.tst-race-update-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700;color:rgba(255,255,255,.75);letter-spacing:.03em}
.tst-race-btn-refresh{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff;cursor:pointer;padding:4px 8px;font-size:12px}
.tst-race-tabs{display:flex;overflow-x:auto;border-bottom:2px solid #E4E3DC;background:#FAFAF8;scrollbar-width:none}
.tst-race-tabs::-webkit-scrollbar{display:none}
.tst-race-tab{flex-shrink:0;padding:12px 18px;font-size:12px;font-weight:700;color:#888;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color .15s,border-color .15s;letter-spacing:.03em;text-transform:uppercase}
.tst-race-tab:hover{color:#305180}
.tst-race-tab--on{color:#1E3A5F;border-bottom-color:#1E3A5F}
.tst-race-tab--on.tst-race-wta{color:#8B1A6B;border-bottom-color:#8B1A6B}
.tst-race-search-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid #E4E3DC;background:#fff}
.tst-race-search{flex:1;border:none;outline:none;font-size:13px;font-family:inherit;background:transparent;color:#1E3A5F}
.tst-race-search::placeholder{color:#B0B0A8}
.tst-race-count{font-size:11px;color:#A0A0A0;font-weight:600;white-space:nowrap}
.tst-race-panel{display:none;overflow-x:auto}
.tst-race-panel--on{display:block}
.tst-race-table{width:100%;border-collapse:collapse;font-size:13px}
.tst-race-table col.tst-race-col-rank{width:52px}
.tst-race-table col.tst-race-col-pts{width:90px}
.tst-race-table col.tst-race-col-delta{width:68px}
.tst-race-table col.tst-race-col-prev{width:70px}
.tst-race-th{padding:8px 12px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#6B7280;background:#F7F6F2;border-bottom:1px solid #E4E3DC;white-space:nowrap}
.tst-race-th.tst-tc{text-align:center}.tst-race-th.tst-tr{text-align:right}
.tst-race-td{padding:9px 12px;border-bottom:1px solid #F0EFE9;vertical-align:middle;color:#1E3A5F}
.tst-race-td.tst-tc{text-align:center}.tst-race-td.tst-tr{text-align:right}
.tst-race-row:last-child .tst-race-td{border-bottom:none}
.tst-race-row:hover{background:#F7F6F2!important}
.tst-race-row--arg{background:#EDF5FB}.tst-race-row--arg:hover{background:#DFF0F9!important}
.tst-race-row--lat{background:#FAFAF8}.tst-race-row--lat:hover{background:#F4F4F0!important}
.tst-race-pos{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;font-weight:800;font-size:12px;background:#F0EFE9;color:#1E3A5F}
.tst-race-p1{background:#F5B021!important;color:#fff!important}
.tst-race-p2{background:#9B9B93!important;color:#fff!important}
.tst-race-p3{background:#B8794A!important;color:#fff!important}
.tst-race-tdp{display:flex;align-items:center;gap:10px}
.tst-race-av{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.tst-race-av img{width:36px;height:36px;object-fit:cover;display:block}
.tst-race-ini{font-size:12px;font-weight:900;color:#fff}
.tst-race-pi{display:flex;flex-direction:column;min-width:0}
.tst-race-pname{font-weight:700;font-size:13px;color:#1E3A5F;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tst-race-pm{display:flex;align-items:center;gap:5px;margin-top:2px}
.tst-race-flag{display:inline-block;border-radius:2px;vertical-align:middle}
.tst-race-pc{font-size:11px;color:#888;font-weight:600}
.tst-race-pts{font-family:"DM Mono","Courier New",monospace;font-weight:700;font-size:13px;color:#1E3A5F}
.tst-race-delta--up{color:#16A34A;font-weight:700;font-size:12px}
.tst-race-delta--dn{color:#DC2626;font-weight:700;font-size:12px}
.tst-race-prev{font-family:"DM Mono","Courier New",monospace;font-size:12px;color:#A8A8A0}
.tst-race-empty{padding:24px;text-align:center;font-size:13px;color:#A8A8A0}
.tst-race-pag{display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 16px;border-top:1px solid #E4E3DC;flex-wrap:wrap}
.tst-race-pag-txt{font-size:11px;color:#888;margin-right:8px}
.tst-race-pgn{min-width:30px;height:30px;padding:0 6px;border:1px solid #E4E3DC;border-radius:6px;background:#fff;font-size:12px;font-weight:600;color:#555;cursor:pointer;transition:background .12s,color .12s}
.tst-race-pgn:hover{background:#F0EFE9}
.tst-race-pgn--on{background:#1E3A5F;color:#fff;border-color:#1E3A5F}
.tst-race-pgn--on.tst-race-wta{background:#8B1A6B;border-color:#8B1A6B}
.tst-race-prev-btn,.tst-race-next-btn{padding:0 10px;height:30px;border:1px solid #E4E3DC;border-radius:6px;background:#fff;font-size:13px;cursor:pointer;color:#555}
.tst-race-prev-btn:disabled,.tst-race-next-btn:disabled{opacity:.3;cursor:default}
.tst-race-legend{display:flex;align-items:center;gap:14px;padding:10px 16px;font-size:11px;color:#888;border-top:1px solid #E4E3DC;flex-wrap:wrap}
.tst-race-legend-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:middle}
.tst-race-faq{margin-top:24px;border:1px solid #E4E3DC;border-radius:12px;overflow:hidden;background:#fff}
.tst-race-faq-title{font-weight:900;font-size:14px;color:#1E3A5F;padding:16px 20px;background:#F7F6F2;border-bottom:1px solid #E4E3DC}
.tst-race-faq-item{border-bottom:1px solid #F0EFE9}
.tst-race-faq-item:last-child{border-bottom:none}
.tst-race-faq-q{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;font-weight:700;font-size:13px;color:#1E3A5F;cursor:pointer;gap:12px;user-select:none}
.tst-race-faq-q:hover{background:#F7F6F2}
.tst-race-faq-q-arrow{font-size:10px;color:#B0B0A8;transition:transform .2s;flex-shrink:0}
.tst-race-faq-item--open .tst-race-faq-q-arrow{transform:rotate(180deg)}
.tst-race-faq-a{display:none;padding:0 20px 14px;font-size:13px;line-height:1.7;color:#4A4A4A}
.tst-race-faq-item--open .tst-race-faq-a{display:block}
.tst-race-scroll-hint{display:none;align-items:center;gap:6px;font-size:11px;color:#305180;font-weight:600;padding:6px 16px;background:#EDF5FB;border-bottom:1px solid #C0D8EE}
@media(max-width:600px){
    .tst-race-scroll-hint{display:flex}
    .tst-race-scroll-hint--hidden{display:none!important}
    .tst-race-seo-intro{padding:16px 14px}
    .tst-race-seo-intro h1{font-size:18px}
    .tst-race-header{padding:12px 14px}
    .tst-race-td,.tst-race-th{padding:8px 8px}
    .tst-race-pname{max-width:110px}
}

/* ════ #tst-doubles-css ════ */
.tst-db-wrap {
    font-family:"DM Sans","Helvetica Neue",Arial,sans-serif;
    max-width:100%;
    color:#2A2A2A;
}

/* ── SEO Intro ── */
.tst-db-intro {
    background:#F7F6F2;
    border:1px solid #E4E3DC;
    border-radius:12px;
    padding:22px 26px;
    margin-bottom:20px;
    font-size:14px;
    line-height:1.7;
}
.tst-db-intro h1 {
    font-size:22px;
    font-weight:900;
    color:#1E3A5F;
    margin:0 0 10px;
    letter-spacing:-.02em;
    line-height:1.3;
}
.tst-db-intro p { margin:0 0 6px; font-size:13.5px; color:#4A4A4A; }
.tst-db-badges { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.tst-db-badge {
    display:inline-flex; align-items:center; gap:5px;
    font-size:11px; font-weight:700; padding:4px 10px;
    border-radius:20px; letter-spacing:.04em; text-transform:uppercase;
}
.tst-db-badge--atp { background:#E1FA59; color:#1E3A5F; }
.tst-db-badge--wta { background:#8B5CF6; color:#fff; }
.tst-db-badge--dbl { background:#EDF5FB; color:#1E3A5F; border:1px solid #C0D8EE; }
.tst-db-stat-row {
    display:flex; gap:16px; flex-wrap:wrap;
    margin-top:14px; padding-top:14px;
    border-top:1px solid #E4E3DC;
}
.tst-db-stat { text-align:center; min-width:80px; }
.tst-db-stat-val {
    display:block;
    font-family:"DM Mono","Courier New",monospace;
    font-size:24px; font-weight:700; color:#1E3A5F; line-height:1.1;
}
.tst-db-stat-lbl {
    display:block; font-size:10px; font-weight:700;
    text-transform:uppercase; letter-spacing:.06em;
    color:#A8A8A8; margin-top:2px;
}
.tst-db-stat-sep { width:1px; background:#E4E3DC; align-self:stretch; }

/* ── Box ── */
.tst-db-box {
    border:1px solid #D8D7CE;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 2px 12px rgba(30,58,95,.07);
    margin-bottom:24px;
}

/* ── Header ── */
.tst-db-header {
    display:flex; align-items:center;
    justify-content:space-between;
    padding:16px 20px;
    background:linear-gradient(135deg,#1E3A5F 0%,#254368 100%);
    gap:12px; flex-wrap:wrap;
}
.tst-db-header-left  { display:flex; align-items:center; gap:10px; }
.tst-db-header-right { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.tst-db-title {
    font-size:13px; font-weight:900; color:#fff;
    text-transform:uppercase; letter-spacing:.07em;
}
.tst-db-updated {
    font-size:10px; color:rgba(255,255,255,.45);
    font-family:"DM Mono","Courier New",monospace;
}

/* ── Tabs ATP/WTA ── */
.tst-db-tabs {
    display:flex; border-bottom:2px solid #E4E3DC;
    background:#FAFAF8; overflow-x:auto;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
.tst-db-tabs::-webkit-scrollbar { display:none; }
.tst-db-tab {
    padding:12px 22px; border:none; background:transparent;
    font-size:13px; font-weight:700; color:#7A7A7A; cursor:pointer;
    border-bottom:3px solid transparent; margin-bottom:-2px;
    white-space:nowrap; transition:color .15s,border-color .15s;
}
.tst-db-tab--on      { color:#1E3A5F; border-bottom-color:#1E3A5F; }
.tst-db-tab--wta.tst-db-tab--on { color:#8B5CF6; border-bottom-color:#8B5CF6; }

/* ── Búsqueda ── */
.tst-db-search-bar {
    display:flex; align-items:center; gap:8px;
    padding:10px 16px; background:#fff;
    border-bottom:1px solid #E4E3DC;
}
.tst-db-search {
    flex:1; border:none; outline:none;
    font-size:13px; color:#2A2A2A; background:transparent; min-width:0;
}
.tst-db-search::placeholder { color:#B0B0B0; }
.tst-db-count { font-size:11px; color:#A8A8A8; font-weight:600; white-space:nowrap; }

/* ── Panel/Tabla ── */
.tst-db-panel { display:none; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.tst-db-panel--on { display:block; }

.tst-db-table { width:100%; border-collapse:collapse; font-size:13px; }
.tst-db-table thead th {
    background:#F0EFEA;
    font-size:10px; font-weight:800; text-transform:uppercase;
    letter-spacing:.06em; color:#7A7A7A;
    padding:9px 12px; text-align:center;
    border-bottom:2px solid #D8D7CE; white-space:nowrap;
}
.tst-db-th-left { text-align:left !important; }
.tst-db-table tbody tr { border-bottom:1px solid #F0EFEA; transition:background .1s; }
.tst-db-table tbody tr:hover { background:#FAFAFA; }
.tst-db-table tbody tr.tst-db-row--arg { background:#EDF5FB; }
.tst-db-table tbody tr.tst-db-row--arg:hover { background:#E0EEF8; }
.tst-db-table tbody tr.tst-db-row--lat { background:#FAFAF8; }

.tst-db-td { padding:10px 12px; text-align:center; vertical-align:middle; white-space:nowrap; }
.tst-db-td-left { text-align:left !important; }

/* ── Posición ── */
.tst-db-pos {
    font-family:"DM Mono","Courier New",monospace;
    font-size:14px; font-weight:800; color:#1E3A5F;
    min-width:36px; display:inline-block;
}
.tst-db-p1 { color:#C9A227; }
.tst-db-p2 { color:#9CA3AF; }
.tst-db-p3 { color:#B07040; }

/* ── Jugador ── */
.tst-db-player-cell { display:flex; align-items:center; gap:10px; min-width:180px; }
.tst-db-av {
    width:32px; height:32px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0; font-size:12px; font-weight:900; color:#fff;
    letter-spacing:-.02em;
}
.tst-db-info { min-width:0; }
.tst-db-player-name {
    font-size:13px; font-weight:700; color:#1E3A5F;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    max-width:180px;
}
.tst-db-player-name--short { display:none; }
.tst-db-meta { display:flex; align-items:center; gap:5px; margin-top:2px; }
.tst-db-flag { width:18px; height:13px; vertical-align:middle; flex-shrink:0; }
.tst-db-cc { font-size:10px; font-weight:700; color:#A8A8A8; letter-spacing:.04em; }

/* ── Puntos ── */
.tst-db-pts {
    font-family:"DM Mono","Courier New",monospace;
    font-size:13px; font-weight:700; color:#1E3A5F;
}

/* ── Movimiento ── */
.tst-db-prog { font-size:11px; font-weight:700; }
.tst-db-prog--up { color:#16A34A; }
.tst-db-prog--dn { color:#DC2626; }
.tst-db-prog--eq { color:#94a3b8; }

/* ── Empty ── */
.tst-db-empty { padding:40px 20px; text-align:center; color:#A8A8A8; font-size:14px; }

/* ── Leyenda ── */
.tst-db-legend {
    display:flex; align-items:center; gap:16px; flex-wrap:wrap;
    padding:10px 16px; background:#FAFAF8;
    border-top:1px solid #E4E3DC; font-size:11px; color:#7A7A7A;
}
.tst-db-legend-dot {
    display:inline-block; width:10px; height:10px;
    border-radius:2px; margin-right:4px;
}

/* ── FAQ ── */
.tst-db-faq { margin-top:20px; }
.tst-db-faq-title { font-size:15px; font-weight:800; color:#1E3A5F; margin-bottom:12px; }
.tst-db-faq-item {
    border:1px solid #E4E3DC; border-radius:10px;
    margin-bottom:8px; overflow:hidden;
}
.tst-db-faq-q {
    padding:14px 18px; font-weight:700; font-size:14px; color:#1E3A5F;
    cursor:pointer; display:flex; justify-content:space-between; align-items:center;
    background:#FAFAF8; user-select:none;
}
.tst-db-faq-q:hover { background:#F3F2ED; }
.tst-db-faq-q-arrow { font-size:11px; transition:transform .2s; }
.tst-db-faq-item--open .tst-db-faq-q-arrow { transform:rotate(180deg); }
.tst-db-faq-a {
    display:none; padding:12px 18px; font-size:13px;
    color:#4A4A4A; background:#fff; border-top:1px solid #E4E3DC;
}
.tst-db-faq-item--open .tst-db-faq-a { display:block; }

/* ── Footer SEO ── */
.tst-db-footer {
    background:#F7F6F2; border:1px solid #E4E3DC;
    border-radius:12px; padding:20px 26px; margin-top:20px;
    font-size:13px; color:#4A4A4A; line-height:1.7;
}
.tst-db-footer h2 {
    font-size:14px; font-weight:800; color:#1E3A5F; margin:0 0 10px;
    text-transform:uppercase; letter-spacing:.06em;
    border-bottom:2px solid #E4E3DC; padding-bottom:6px;
}

/* ── Scroll hint (mobile) ── */
.tst-db-scroll-hint {
    display:flex; align-items:center; gap:6px;
    padding:6px 16px; font-size:11px; color:#305180;
    background:#EDF5FB; border-bottom:1px solid #C0D8EE; font-weight:600;
}
@media(min-width:640px){ .tst-db-scroll-hint { display:none; } }

/* ── Responsive ── */
@media(max-width:480px){
    .tst-db-intro { padding:16px 14px; }
    .tst-db-intro h1 { font-size:17px; }
    .tst-db-header { padding:12px 14px; }
    .tst-db-player-name { display:none; }
    .tst-db-player-name--short { display:block; font-size:12px; font-weight:700; color:#1E3A5F; }
}

