/* ================================
   Text emphasis helper
   Used instead of <b> / <strong>
   ================================ */
.emph {
    font-weight: 600;
}

/* ================================
   Case information transitions
   ================================ */
.case-info {
    transition: all 0.3s ease-in-out;
}

/* ================================
   Status indicator pulse animation
   ================================ */
.status-dot {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 1);
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(16, 185, 129, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
    }
}

/* ================================
   Countdown: low-time warning state
   ================================ */
.time.low-time {
    color: #ef4444;
    /* Fallback red if theme variable is missing */
    transform: scale(1.1);
    animation: danger-pulse 1s infinite alternate;
}

/* Highlight the entire time block
   when low-time state is active */
.time-block:has(.low-time) {
    background-color: #fef2f2 !important;
    border: 2px solid #fee2e2;
}

/* Pulsing animation for urgency */
@keyframes danger-pulse {
    from {
        opacity: 1;
    }

    to {
        opacity: 0.7;
    }
}