/* Section: CEX Flow — per-window exchange flow cards + venue rows.
   Follows the dashboard section vocabulary (dark card, mono numerics). */

.section--cex-flow {
    margin-top: 28px;
}
.section--cex-flow .cx-meta {
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 0.7rem;
    color: var(--color-text-muted, #9ca3af);
    margin-left: 10px;
}
.section--cex-flow .cx-sub {
    font-size: 0.8rem;
    color: var(--color-text-muted, #9ca3af);
    margin: 4px 0 14px;
}

.cx-windows {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}
.cx-card {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 12px 14px;
}
.cx-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}
.cx-window {
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--color-text-primary, #f3f4f6);
}
.cx-verdict {
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 0.64rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 2px 8px;
    border-radius: 999px;
}
.cx-verdict--bullish { color: #6ee7a8; background: rgba(34, 197, 94, 0.12); }
.cx-verdict--bearish { color: #f87171; background: rgba(239, 68, 68, 0.12); }
.cx-verdict--neutral { color: var(--color-text-muted, #9ca3af); background: rgba(255, 255, 255, 0.06); }

.cx-net {
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 1.15rem;
    font-weight: 700;
}
.cx-net--out { color: #6ee7a8; }
.cx-net--in  { color: #f87171; }
.cx-net-label {
    display: block;
    font-size: 0.66rem;
    font-weight: 400;
    color: var(--color-text-muted, #9ca3af);
    margin-top: 2px;
}
.cx-split {
    display: flex;
    gap: 12px;
    margin: 10px 0;
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 0.72rem;
    color: var(--color-text-secondary, #d1d5db);
}
.cx-venue {
    display: flex;
    justify-content: space-between;
    padding: 3px 0;
    border-top: 1px dashed rgba(255, 255, 255, 0.06);
    font-size: 0.74rem;
}
.cx-venue-name { color: var(--color-text-secondary, #d1d5db); }
.cx-venue-net {
    font-family: var(--font-mono, ui-monospace, monospace);
}
.cx-venue-net--out { color: #6ee7a8; }
.cx-venue-net--in  { color: #f87171; }
