/* ==========================================================
   Shared Tips Card-List  —  used on all plan + jackpot pages
   ========================================================== */

/* ── Container ─────────────────────────────────────────── */
.tl-list {
    display: flex;
    flex-direction: column;
    background: linear-gradient(135deg, rgba(30,41,59,0.6), rgba(15,23,42,0.75));
    border-radius: 10px;
    overflow: hidden;
}

/* ── Column-header bar ──────────────────────────────────── */
.tl-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    background: rgba(251,191,36,0.08);
}
.tl-header-badge { flex-shrink: 0; width: 52px; }
.tl-header-info  { flex: 1; }
.tl-header-action{ flex-shrink: 0; min-width: 90px; text-align: right; }
.tl-header span {
    font-size: 0.65rem;
    font-weight: 700;
    color: rgba(251,191,36,0.75);
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

/* ── Data row ───────────────────────────────────────────── */
.tl-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    transition: background 0.15s ease;
}
.tl-list .tl-row:last-child { border-bottom: none; }
.tl-row:hover { background: rgba(255,255,255,0.04); }

/* ── Left badge  (time / number / draw) ────────────────── */
.tl-badge {
    flex-shrink: 0;
    width: 52px;
    text-align: center;
    background: rgba(255,255,255,0.07);
    border-radius: 7px;
    padding: 5px 3px;
    line-height: 1.25;
}
.tl-badge .tl-main {
    display: block;
    font-size: 0.82rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.2px;
}
.tl-badge .tl-sub {
    display: block;
    font-size: 0.62rem;
    color: rgba(255,255,255,0.42);
    margin-top: 1px;
}

/* ── Match info block ───────────────────────────────────── */
.tl-info {
    flex: 1;
    min-width: 0;
}
.tl-match {
    font-size: 0.88rem;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* locked variant */
.tl-match.locked {
    color: rgba(255,255,255,0.45);
    font-weight: 500;
    font-size: 0.82rem;
}
.tl-match.locked i { margin-right: 0.3rem; }

/* ── Right action / status ──────────────────────────────── */
.tl-action {
    flex-shrink: 0;
    display: flex;
    justify-content: flex-end;
}
.tl-lock-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: rgba(251,191,36,0.1);
    border: 1px solid rgba(251,191,36,0.3);
    color: #fbbf24;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
}
.tl-lock-pill i { font-size: 0.65rem; }

/* Unlocked tip pill - visible prediction */
.tl-tip-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: rgba(34,197,94,0.15);
    border: 1px solid rgba(34,197,94,0.5);
    color: #22c55e;
    font-size: 0.75rem;
    font-weight: 800;
    padding: 5px 12px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    white-space: nowrap;
}
.tl-tip-pill i { 
    font-size: 0.65rem; 
    color: #22c55e;
}

/* ── Total-odds footer row ──────────────────────────────── */
.tl-total-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.7rem 1rem;
    background: rgba(251,191,36,0.07);
    border-top: 1px solid rgba(251,191,36,0.2);
}
.tl-total-label {
    font-size: 0.78rem;
    font-weight: 700;
    color: rgba(255,255,255,0.7);
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.tl-total-value {
    font-size: 1.1rem;
    font-weight: 900;
    color: #fbbf24;
}

/* ══════════════════════════════════════════════════════════
   Previous-period table  (jackpot pages)
   ══════════════════════════════════════════════════════════ */
.prev-list {
    display: flex;
    flex-direction: column;
}
.prev-list-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    transition: background 0.12s;
}
.prev-list-row:last-child { border-bottom: none; }
.prev-list-row:hover { background: rgba(255,255,255,0.03); }

/* Time + date badge */
.prev-list-badge {
    flex-shrink: 0;
    width: 48px;
    text-align: center;
}
.prev-list-badge .pl-time,
.prev-list-badge .prev-list-time {
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    color: #fbbf24;
}
.prev-list-badge .pl-date,
.prev-list-badge .prev-list-date {
    display: block;
    font-size: 0.62rem;
    color: rgba(255,255,255,0.38);
    margin-top: 1px;
}

/* Match name */
.prev-list-info {
    flex: 1;
    min-width: 0;
}
.prev-list-match {
    flex: 1;
    min-width: 0;
    font-size: 0.85rem;
    font-weight: 600;
    color: rgba(255,255,255,0.88);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Meta cluster (tip pill + result) */
.prev-list-meta {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Tip pill */
.prev-list-tip {
    flex-shrink: 0;
}
.prev-tip-pill {
    display: inline-block;
    padding: 2px 8px;
    background: rgba(30,41,59,0.9);
    border: 1px solid rgba(251,191,36,0.4);
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    white-space: nowrap;
}

/* Result + outcome */
.prev-list-result {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.6);
    white-space: nowrap;
}
.pl-score {
    font-size: 0.8rem;
    font-weight: 600;
    color: rgba(255,255,255,0.6);
    display: block;
}
.pl-outcome-won  { display: inline-flex; align-items: center; gap: 0.25rem; color: #22c55e; font-size: 0.75rem; font-weight: 700; }
.pl-outcome-lost { display: inline-flex; align-items: center; gap: 0.25rem; color: #ef4444; font-size: 0.75rem; font-weight: 700; }
.pl-outcome-pend { color: rgba(255,255,255,0.35); font-size: 0.75rem; }

/* Column header for prev list */
.prev-list-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.45rem 1rem;
    background: rgba(255,255,255,0.02);
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.prev-list-header .plh-badge { flex-shrink: 0; width: 48px; }
.prev-list-header .plh-info  { flex: 1; }
.prev-list-header .plh-tip   { flex-shrink: 0; min-width: 52px; }
.prev-list-header .plh-res   { flex-shrink: 0; min-width: 72px; text-align: right; }
.prev-list-header span {
    font-size: 0.62rem;
    font-weight: 700;
    color: rgba(255,255,255,0.35);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 600px) {
    /* Tips list mobile layout - single line, smaller */
    .tl-row, .tl-header {
        padding: 0.45rem 0.5rem;
        gap: 0.3rem;
    }
    .tl-badge {
        width: 38px;
        padding: 3px 2px;
    }
    .tl-badge .tl-main { font-size: 0.7rem; }
    .tl-badge .tl-sub { font-size: 0.55rem; }
    .tl-header-badge { width: 38px; }
    .tl-info {
        flex: 1;
        min-width: 0;
    }
    .tl-match {
        font-size: 0.72rem;
    }
    .tl-action {
        min-width: 70px;
    }
    .tl-lock-pill {
        font-size: 0.58rem;
        padding: 2px 6px;
    }
    .tl-tip-pill {
        font-size: 0.58rem;
        padding: 2px 6px;
    }
    .tl-total-row { padding: 0.5rem 0.5rem; }
    .tl-total-label { font-size: 0.65rem; }
    .tl-total-value { font-size: 0.9rem; }

    /* Previous list mobile layout */
    .prev-list-row, .prev-list-header {
        padding: 0.4rem 0.5rem;
        gap: 0.3rem;
    }
    .prev-list-badge { width: 36px; }
    .prev-list-badge .pl-time,
    .prev-list-badge .prev-list-time { font-size: 0.68rem; }
    .prev-list-badge .pl-date,
    .prev-list-badge .prev-list-date { font-size: 0.54rem; }
    .prev-list-header .plh-badge { width: 36px; }
    .prev-list-info {
        flex: 1;
        min-width: 0;
    }
    .prev-list-match {
        font-size: 0.72rem;
    }
    .prev-list-meta {
        gap: 0.3rem;
    }
    .prev-tip-pill { font-size: 0.58rem; padding: 2px 5px; }
    .prev-list-result { font-size: 0.65rem; }
    .pl-score { font-size: 0.68rem; }
    .pl-outcome-won, .pl-outcome-lost { font-size: 0.62rem; }
}

@media (max-width: 360px) {
    .tl-row, .tl-header { padding: 0.35rem 0.4rem; gap: 0.25rem; }
    .tl-badge { width: 32px; }
    .tl-badge .tl-main { font-size: 0.65rem; }
    .tl-header-badge { width: 32px; }
    .tl-match { font-size: 0.65rem; }
    .tl-action { min-width: 60px; }
    .tl-lock-pill { font-size: 0.52rem; padding: 2px 5px; }
    .tl-tip-pill { font-size: 0.52rem; padding: 2px 5px; }

    .prev-list-row, .prev-list-header { padding: 0.3rem 0.4rem; gap: 0.25rem; }
    .prev-list-badge { width: 30px; }
    .prev-list-header .plh-badge { width: 30px; }
    .prev-list-match { font-size: 0.65rem; }
    .prev-tip-pill { font-size: 0.52rem; }
    .prev-list-result { font-size: 0.58rem; }
}
