/* status indicator — small breathing dot in the top-right corner
   Green = working hours (Mon–Fri 9:00–18:00 MSK)
   Red   = off-hours otherwise
   JS toggles .is-online / .is-offline classes based on Europe/Moscow time.
   Added 2026-08-01. */

.status-indicator {
    position: fixed;
    top: 38px;            /* vertical center of ~84px navbar (42px) − half the dot (4px) */
    right: 14px;
    z-index: 99999;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    /* fallback color before JS runs */
    background: #6b7280;
    box-shadow: 0 0 6px rgba(107, 114, 128, 0.5);
    transition: background-color 0.4s ease, box-shadow 0.4s ease;
    animation: status-breathe 2.4s ease-in-out infinite;
    pointer-events: none;
}

.status-indicator.is-online {
    background: #22c55e;
    box-shadow: 0 0 6px rgba(34, 197, 94, 0.9), 0 0 12px rgba(34, 197, 94, 0.45);
}

.status-indicator.is-offline {
    background: #ef4444;
    box-shadow: 0 0 6px rgba(239, 68, 68, 0.9), 0 0 12px rgba(239, 68, 68, 0.45);
}

@keyframes status-breathe {
    0%, 100% { transform: scale(1);    opacity: 1; }
    50%      { transform: scale(1.45); opacity: 0; }
}

/* Honour reduced-motion preference — keep the color, drop the pulse. */
@media (prefers-reduced-motion: reduce) {
    .status-indicator { animation: none; }
}

/* On small viewports the navbar's hamburger toggle sits at the same x-position
   and would overlap with the dot. Push the dot below the collapsed navbar. */
@media (max-width: 767px) {
    .status-indicator {
        top: 100px;
    }
}
