/* ── Trend Scanner Panel ── */

#tab-trending-coins { padding: 0; }

.tc-header-bar {
    display: flex; align-items: center; justify-content: space-between;
    padding: 8px 12px;
    background: rgba(0,229,255,0.04);
    border-bottom: 1px solid rgba(0,229,255,0.12);
}
.tc-header-left {
    display: flex; align-items: center; gap: 8px;
    font-size: 11px; color: #00e5ff; font-weight: 700; letter-spacing: 0.5px;
}
.tc-live-dot {
    width: 6px; height: 6px; border-radius: 50%; background: #00e5ff;
    animation: tc-pulse 1.5s ease-in-out infinite;
}
@keyframes tc-pulse {
    0%,100% { opacity:1; box-shadow:0 0 4px #00e5ff; }
    50% { opacity:0.3; box-shadow:none; }
}
.tc-header-right { font-size: 10px; color: #555; }

/* ── Table ── */
.tc-table { width:100%; border-collapse:collapse; font-size:11px; }
.tc-table thead th {
    padding: 5px 8px; text-align:left; color:#555; font-weight:600;
    font-size:9px; text-transform:uppercase; letter-spacing:0.4px;
    border-bottom: 1px solid #1a1a2e; user-select:none; white-space:nowrap;
}
.tc-sort-header { cursor:pointer; transition:color .2s; }
.tc-sort-header:hover { color:#00e5ff; }
.tc-sort-header.sort-active { color:#00e5ff; }
.tc-sort-header::after { content:' \25BC'; font-size:7px; opacity:0.3; }
.tc-sort-header.sort-active::after { opacity:1; }
.tc-sort-header.sort-active.sort-asc::after { content:' \25B2'; opacity:1; }
.tc-empty { text-align:center; color:#444; padding:30px; font-size:11px; }

/* ── Rows ── */
.tc-row {
    cursor:pointer; transition:background .15s;
    border-bottom: 1px solid rgba(255,255,255,0.025);
}
.tc-row:hover { background: rgba(255,255,255,0.04); }
.tc-row td { padding: 7px 8px; vertical-align:middle; }

/* Row accent borders by direction */
.tc-row.dir-long-row { border-left: 2px solid rgba(0,230,118,0.3); }
.tc-row.dir-short-row { border-left: 2px solid rgba(255,23,68,0.3); }
.tc-row.tc-row-strong { background: rgba(255,255,255,0.02); }

/* ── Symbol ── */
.tc-symbol { display:flex; align-items:baseline; gap:3px; }
.tc-coin-name { font-weight:700; color:#fff; font-size:12px; }
.tc-coin-pair { font-size:8px; color:#444; }

/* ── Direction Badge ── */
.tc-dir-badge {
    display:inline-block; padding:2px 8px; border-radius:3px;
    font-size:10px; font-weight:700; letter-spacing:0.3px;
}
.tc-dir-badge.dir-long {
    background: rgba(0,230,118,0.12); color:#00e676;
    border: 1px solid rgba(0,230,118,0.25);
}
.tc-dir-badge.dir-short {
    background: rgba(255,23,68,0.12); color:#ff1744;
    border: 1px solid rgba(255,23,68,0.25);
}

/* ── Score + Grade ── */
.tc-score-badge {
    display:inline-block; padding:2px 7px; border-radius:10px;
    font-weight:800; font-size:11px; font-family:'JetBrains Mono',monospace;
}
.tc-score-badge.score-strong {
    background:rgba(255,215,0,0.15); color:#ffd740;
    border:1px solid rgba(255,215,0,0.3);
    animation: tc-glow 2s ease-in-out infinite;
}
.tc-score-badge.score-long {
    background:rgba(0,230,118,0.1); color:#69f0ae;
    border:1px solid rgba(0,230,118,0.2);
}
.tc-score-badge.score-short {
    background:rgba(255,23,68,0.1); color:#ff5252;
    border:1px solid rgba(255,23,68,0.2);
}
@keyframes tc-glow {
    0%,100% { box-shadow:0 0 4px rgba(255,215,0,0.2); }
    50% { box-shadow:0 0 10px rgba(255,215,0,0.4); }
}
.tc-grade-sub {
    display:inline-block; margin-left:4px;
    font-size:8px; font-weight:600; color:#555; letter-spacing:0.3px;
    vertical-align:middle;
}

/* ── Freshness ── */
.tc-fresh-badge {
    display:inline-block; padding:2px 6px; border-radius:3px;
    font-size:9px; font-weight:700; white-space:nowrap;
    font-family:'JetBrains Mono',monospace;
}
.tc-fresh-badge.fresh-very {
    background:rgba(0,230,118,0.12); color:#00e676;
    border:1px solid rgba(0,230,118,0.25);
}
.tc-fresh-badge.fresh-ok {
    background:rgba(0,229,255,0.1); color:#00e5ff;
    border:1px solid rgba(0,229,255,0.2);
}
.tc-fresh-badge.fresh-moderate {
    background:rgba(255,152,0,0.1); color:#ff9800;
    border:1px solid rgba(255,152,0,0.2);
}
.tc-fresh-badge.fresh-late {
    background:rgba(255,23,68,0.08); color:#ff5252;
    border:1px solid rgba(255,23,68,0.15);
}

/* ── Trade Plan ── */
.tc-plan-cell { white-space:nowrap; }
.tc-plan {
    display:inline-flex; align-items:center; gap:4px;
    font-family:'JetBrains Mono',monospace; font-size:10px;
}
.tc-plan-label {
    font-size:8px; font-weight:700; color:#555;
    text-transform:uppercase; letter-spacing:0.3px;
}
.tc-plan-val { color:#bbb; font-weight:500; }
.tc-plan-label.tc-sl { color:#ff5252; }
.tc-plan-val.tc-sl { color:#ff5252; }
.tc-plan-label.tc-tp { color:#69f0ae; }
.tc-plan-val.tc-tp { color:#69f0ae; }
.tc-plan-divider { color:#333; font-size:9px; }
.tc-plan-risk {
    margin-left:3px; padding:1px 4px; border-radius:2px;
    font-size:8px; font-weight:700; color:#ff9800;
    background:rgba(255,152,0,0.1); border:1px solid rgba(255,152,0,0.15);
}

/* ── P/L ── */
.tc-pl { white-space:nowrap; text-align:center; }
.tc-pl-val {
    font-family:'JetBrains Mono',monospace;
    font-size:11px; font-weight:700;
}
.tc-pl-val.positive { color:#00e676; }
.tc-pl-val.negative { color:#ff1744; }

/* ── Reason Tags ── */
.tc-reasons { display:flex; flex-wrap:wrap; gap:2px; }
.tc-reason-tag {
    display:inline-block; padding:1px 5px; border-radius:2px;
    font-size:8px; font-weight:600; white-space:nowrap;
    background:rgba(255,255,255,0.04); color:#666;
    border:1px solid rgba(255,255,255,0.06);
}
.tc-reason-tag.tag-avr  { color:#00e5ff; border-color:rgba(0,229,255,0.15); }
.tc-reason-tag.tag-obv  { color:#26a69a; border-color:rgba(38,166,154,0.15); }
.tc-reason-tag.tag-vol  { color:#ff9800; border-color:rgba(255,152,0,0.15); }
.tc-reason-tag.tag-bb   { color:#ce93d8; border-color:rgba(156,39,176,0.15); }
.tc-reason-tag.tag-rs   { color:#ffd700; border-color:rgba(255,215,0,0.15); }
.tc-reason-tag.tag-ema  { color:#64b5f6; border-color:rgba(100,181,246,0.15); }
.tc-reason-tag.tag-macd { color:#e91e63; border-color:rgba(233,30,99,0.15); }
.tc-reason-tag.tag-rsi  { color:#ab47bc; border-color:rgba(171,71,188,0.15); }
.tc-reason-tag.tag-vroc { color:#ffb74d; border-color:rgba(255,183,77,0.15); }
.tc-reason-tag.tag-fr   { color:#00c853; border-color:rgba(0,200,83,0.15); }
.tc-reason-tag.tag-oi   { color:#29b6f6; border-color:rgba(41,182,246,0.15); }
.tc-reason-tag.tag-htf-up   { color:#00e676; border-color:rgba(0,230,118,0.2); }
.tc-reason-tag.tag-htf-down { color:#ff1744; border-color:rgba(255,23,68,0.2); }
.tc-reason-tag.tag-htf  { color:#555; }

/* ── Start Price ── */
.tc-start-price {
    font-weight:600; color:#63b3ed; font-size:11px;
    font-variant-numeric:tabular-nums;
}
.tc-start-time {
    display:block; font-size:9px; color:#555;
    font-variant-numeric:tabular-nums;
}

/* ── Time ── */
.tc-time { color:#444; font-size:10px; white-space:nowrap; }

/* ── Scrollable ── */
.tc-table-wrapper {
    overflow-y:auto; background:#0a0a0a;
    border-radius:0 0 6px 6px;
}
.tc-table-wrapper::-webkit-scrollbar { width:3px; }
.tc-table-wrapper::-webkit-scrollbar-track { background:transparent; }
.tc-table-wrapper::-webkit-scrollbar-thumb { background:#222; border-radius:2px; }

/* ── Tab Badge ── */
.tc-badge {
    background:rgba(0,229,255,0.15); color:#00e5ff;
    border:1px solid rgba(0,229,255,0.25);
}

/* ── Mobile ── */
@media (max-width: 768px) {
    .tc-header-bar { flex-direction:column; align-items:flex-start; gap:4px; padding:8px 10px; }
    .tc-table { font-size:10px; }
    .tc-table thead { display:none; }
    .tc-table tbody { display:block; }
    .tc-row {
        display:grid !important;
        grid-template-columns: 1fr auto;
        gap: 2px 8px;
        padding:10px 12px; margin-bottom:6px;
        background:rgba(255,255,255,0.02); border-radius:6px;
        border:1px solid rgba(255,255,255,0.04);
    }
    .tc-row.dir-long-row { border-left:3px solid rgba(0,230,118,0.4); }
    .tc-row.dir-short-row { border-left:3px solid rgba(255,23,68,0.4); }
    .tc-row td {
        display:flex; align-items:center;
        padding:2px 0; border:none;
    }
    .tc-row td::before {
        display:none !important;
    }
    /* Row 1: Coin (left) + Side (right) */
    .tc-row td.tc-symbol {
        grid-column: 1; grid-row: 1;
    }
    .tc-row td[data-label="Side"] {
        grid-column: 2; grid-row: 1;
        justify-content: flex-end;
    }
    /* Row 2: Score (left) + Fresh + When (right) */
    .tc-row td[data-label="Score"] {
        grid-column: 1; grid-row: 2;
        gap: 6px;
    }
    .tc-row td[data-label="Fresh"] {
        display:none !important;
    }
    .tc-row td.tc-time {
        grid-column: 2; grid-row: 2;
        justify-content: flex-end;
        font-size: 9px; opacity: 0.5;
    }
    /* Row 3: Plan (full width) */
    .tc-row td.tc-plan-cell {
        grid-column: 1 / -1; grid-row: 3;
    }
    /* Row 4: Start price (left) + Signals (right) */
    .tc-row td.tc-pl {
        grid-column: 1; grid-row: 4;
    }
    .tc-row td[data-label="Signals"] {
        grid-column: 2; grid-row: 4;
        justify-content: flex-end;
    }
    .tc-coin-name { font-size:14px; font-weight:600; }
    .tc-dir-badge { font-size:10px; padding:3px 8px; }
    .tc-score-badge { font-size:10px; }
    .tc-reasons { justify-content:flex-end; flex-wrap:wrap; gap:2px; }
    .tc-reason-tag { font-size:7px; padding:1px 4px; }
    .tc-plan { font-size:9px; }
    .tc-pl-val { font-size:12px; font-weight:600; }
    .tc-table-wrapper { max-height:calc(100vh - 180px); }
}
@media (max-width: 480px) {
    .tc-header-left { font-size:10px; }
    .tc-coin-name { font-size:13px; }
    .tc-reason-tag { font-size:7px; padding:1px 3px; }
    .tc-row { padding:8px 10px; }
}
