/* Раздел «Киты» (#99). Отдельный файл: style.css уже больше 13 тыс. строк.
   Таблицы, пилюли и пустые состояния — общие классы (tgsrc-table, filter-pill, tgsrc-empty). */

.wh-note {
    margin: 4px 0 10px;
    font-size: 12px;
    color: #8b949e;
    line-height: 1.45;
}

.wh-sync {
    margin: 0 0 12px;
    padding: 8px 12px;
    border: 1px solid rgba(210, 153, 34, 0.35);
    border-radius: 8px;
    background: rgba(210, 153, 34, 0.08);
    color: #d29922;
    font-size: 12.5px;
}

.wh-block { margin: 0 0 18px; }

.wh-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0 0 8px;
}

.wh-h { font-size: 13px; font-weight: 700; color: #c9d1d9; }

.wh-filters { margin: 0 0 8px; }

.wh-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
}

.wh-card {
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.02);
}

.wh-card-ex { font-weight: 700; font-size: 13px; margin: 0 0 6px; color: #c9d1d9; }

.wh-card-row {
    display: grid;
    grid-template-columns: 64px 1fr auto;
    align-items: baseline;
    gap: 8px;
    font-size: 12px;
    padding: 2px 0;
}
.wh-card-row span { color: #8b949e; }
.wh-card-row b { font-family: 'JetBrains Mono', monospace; font-weight: 600; white-space: nowrap; }
.wh-card-row small { color: #6e7681; white-space: nowrap; }
.wh-net { border-top: 1px solid rgba(255, 255, 255, 0.06); margin-top: 4px; padding-top: 5px; }

/* Приток на биржу — красный: монеты пришли туда, где их продают; отток — зелёный */
.wh-in { color: #f85149; }
.wh-out { color: #3fb950; }

.wh-table td small { color: #6e7681; margin-left: 4px; }
.wh-num { text-align: right; }
.wh-dim td { opacity: 0.45; }

.wh-kind {
    display: inline-block;
    padding: 0 6px;
    border-radius: 4px;
    font-size: 10.5px;
    font-family: inherit;
    background: rgba(139, 148, 158, 0.15);
    color: #8b949e;
}
.wh-kind-whale_exchange { background: rgba(88, 166, 255, 0.15); color: #58a6ff; }
.wh-kind-exchange_exchange { background: rgba(163, 113, 247, 0.15); color: #a371f7; }
.wh-kind-custodian_exchange { background: rgba(210, 153, 34, 0.15); color: #d29922; }

.wh-addr, .wh-ext, .wh-link { color: #58a6ff; text-decoration: none; cursor: pointer; }
.wh-addr:hover, .wh-ext:hover, .wh-link:hover { text-decoration: underline; }
.wh-ext { margin-left: 4px; }

@media (max-width: 640px) {
    .wh-stats { grid-template-columns: 1fr; }
    .wh-card-row { grid-template-columns: 56px 1fr auto; }
}

/* График нетто-потока (#102) */
.wh-chart-ctl { display: flex; gap: 10px; flex-wrap: wrap; }
.wh-chart-hint { font-size: 11.5px; color: #6e7681; margin: 0 0 6px; }
.wh-chart-box { position: relative; height: 220px; }
@media (max-width: 640px) { .wh-chart-box { height: 180px; } }

.wh-detail { inset: 0; margin: auto; color: #c9d1d9; background: #161b22; width: min(1000px, calc(100vw - 32px)); max-height: 85vh; overflow: auto; }
.wh-detail::backdrop { background: rgba(0, 0, 0, 0.65); }
.wh-detail-address { overflow-wrap: anywhere; max-width: 320px; }
.wh-detail-button { background: none; border: 0; font: inherit; padding: 4px; }
.wh-detail h2 { font-size: 16px; margin: 0; }
.wh-detail td { white-space: normal; min-width: 160px; }

#view-whales { min-width: 0; }
.wh-filters .tgs-fgroup { min-width: 0; max-width: 100%; }
