/* ─── Ticker / Announcement bar ─────────────────────────────────── */
.ticker-bar {
    display: flex; align-items: center;
    background: var(--bg-surface);
    border-bottom: 1px solid var(--border-light);
    height: 34px; overflow: hidden; position: relative;
}
.ticker-icon {
    flex-shrink: 0; width: 30px; height: 100%;
    display: flex; align-items: center; justify-content: center;
    color: var(--primary); border-right: 1px solid var(--border-light);
}
.ticker-icon svg { width: 15px; height: 15px; }
.ticker-wrapper { flex: 1; overflow: hidden; position: relative; }
.ticker-content {
    display: flex; white-space: nowrap;
    animation: ticker-scroll 28s linear infinite;
    color: var(--text-secondary); font-size: 0.775rem;
}
.ticker-content span { padding-right: 40px; }
@keyframes ticker-scroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.ticker-bar:hover .ticker-content { animation-play-state: paused; }
.ticker-mail {
    flex-shrink: 0; width: 34px; height: 100%;
    display: flex; align-items: center; justify-content: center;
    border-left: 1px solid var(--border-light);
    color: var(--primary); position: relative;
    transition: background var(--transition);
}
.ticker-mail svg { width: 15px; height: 15px; }
.ticker-mail:hover { background: var(--primary-faint); }
.ticker-mail-badge {
    position: absolute; top: 4px; right: 3px;
    width: 13px; height: 13px;
    background: var(--danger); color: #fff;
    border-radius: 50%; font-size: 0.5625rem; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
}
