/**
 * Header topbar — clock, uptime, live traffic, period totals (next to Search IP).
 */

#layout-wrapper .dgs-topbar .navbar-header {
    flex-wrap: nowrap;
    gap: 0.25rem;
}

.dgs-topbar-metrics {
    gap: 0.5rem;
    padding: 0.28rem 0.75rem;
    border-radius: 11px;
    border: 1px solid var(--dgs-metrics-border, rgba(148, 163, 184, 0.18));
    background: var(--dgs-metrics-bg, rgba(8, 12, 22, 0.62));
    overflow: hidden;
}

.dgs-tbm-group {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 0.84rem;
    color: var(--dgs-metrics-label, #94a3b8);
}

.dgs-tbm-group i {
    font-size: 1rem;
    color: #64748b;
}

.dgs-tbm-label {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.dgs-tbm-val {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--dgs-metrics-value, #f8fafc);
    font-variant-numeric: tabular-nums;
}

.dgs-tbm-out .dgs-tbm-val {
    color: #6ee7b7;
}

.dgs-tbm-out i {
    color: #34d399;
}

.dgs-tbm-in .dgs-tbm-val {
    color: #93c5fd;
}

.dgs-tbm-in i {
    color: #60a5fa;
}

.dgs-tbm-sep {
    width: 1px;
    height: 24px;
    background: rgba(148, 163, 184, 0.25);
    flex: 0 0 auto;
}

.dgs-tbm-traffic-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex: 0 1 auto;
    min-width: 0;
    padding: 0.28rem 0.65rem;
    border-radius: 9px;
    border: 1px solid rgba(96, 165, 250, 0.35);
    background: rgba(59, 130, 246, 0.12);
    color: #dbeafe;
    font: inherit;
    font-size: 0.8rem;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

.dgs-tbm-traffic-btn:hover {
    background: rgba(59, 130, 246, 0.22);
    border-color: rgba(96, 165, 250, 0.55);
}

.dgs-tbm-traffic-btn i {
    color: #60a5fa;
    font-size: 0.9rem;
}

.dgs-tbm-traffic-label {
    font-weight: 700;
    letter-spacing: 0.03em;
}

.dgs-tbm-traffic-totals {
    display: inline-flex;
    gap: 0.25rem;
    min-width: 0;
    overflow: hidden;
}

.dgs-tbm-pill {
    padding: 0.14rem 0.42rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.65);
    border: 1px solid rgba(148, 163, 184, 0.16);
    font-size: 0.72rem;
    font-weight: 600;
    color: #e2e8f0;
    white-space: nowrap;
}

@keyframes dgs-alert-pulse-warn {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.55);
    }
    50% {
        box-shadow: 0 0 0 7px rgba(245, 158, 11, 0);
    }
}

@keyframes dgs-alert-pulse-critical {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(244, 63, 94, 0.65);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(244, 63, 94, 0);
    }
}

.dgs-tbm-bans-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
    padding: 0.28rem 0.7rem;
    border-radius: 9px;
    border: 1px solid rgba(244, 63, 94, 0.45);
    background: rgba(244, 63, 94, 0.14);
    color: #fecdd3;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

.dgs-tbm-bans-btn:hover {
    background: rgba(244, 63, 94, 0.24);
    border-color: rgba(244, 63, 94, 0.65);
}

.dgs-tbm-bans-btn i {
    font-size: 1.05rem;
    color: #fb7185;
}

.dgs-tbm-bans-count {
    color: #fda4af;
}

.dgs-tbm-alert-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
    padding: 0.28rem 0.7rem;
    border-radius: 9px;
    border: 1px solid rgba(59, 130, 246, 0.4);
    background: rgba(59, 130, 246, 0.14);
    color: #bfdbfe;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.dgs-tbm-alert-btn i {
    font-size: 1.05rem;
    color: #60a5fa;
}

.dgs-tbm-alert-btn.is-warn {
    border-color: rgba(245, 158, 11, 0.7);
    background: rgba(245, 158, 11, 0.2);
    color: #fde68a;
    animation: dgs-alert-pulse-warn 1.6s ease-in-out infinite;
}

.dgs-tbm-alert-btn.is-warn i {
    color: #fbbf24;
}

.dgs-tbm-alert-btn.is-critical {
    border-color: rgba(244, 63, 94, 0.75);
    background: rgba(244, 63, 94, 0.22);
    color: #fecdd3;
    animation: dgs-alert-pulse-critical 1.15s ease-in-out infinite;
}

.dgs-tbm-alert-btn.is-critical i {
    color: #fb7185;
}

#dgsTrafficHistoryModal .dgs-traffic-tabs .nav-link {
    color: #94a3b8;
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(148, 163, 184, 0.15);
    margin: 0 0.15rem;
    border-radius: 8px;
    font-size: 0.8rem;
    font-weight: 600;
}

#dgsTrafficHistoryModal .dgs-traffic-tabs .nav-link.active {
    color: #fff;
    background: rgba(59, 130, 246, 0.35);
    border-color: rgba(96, 165, 250, 0.45);
}

#dgsTrafficHistoryModal .dgs-traffic-stat-card {
    background: rgba(15, 23, 42, 0.75);
    border: 1px solid rgba(148, 163, 184, 0.14);
}

@media (max-width: 1399px) {
    .dgs-tbm-pill[data-topbar="sum-30d"] {
        display: none;
    }
}

@media (max-width: 1199px) {
    .dgs-tbm-pill[data-topbar="sum-7d"],
    .dgs-tbm-pill[data-topbar="sum-10d"] {
        display: none;
    }

    .dgs-topbar-metrics {
        max-width: 52%;
    }
}
