.bg-dark-subtle {
    background-color: #1a1d20 !important;
}

.bg-outline-tech {
    background-color: #212529;
    border: 1px solid #343a40;
    color: #198754;
}

.card {
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.card:hover {
    transform: translateY(-3px);
    border-color: #198754 !important;
}

html {
    scroll-behavior: smooth;
}

.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.status-dot.online {
    background-color: #198754;
    box-shadow: 0 0 0 0 rgba(25, 135, 84, 0.7);
    animation: pulse-dot 2s infinite;
}

.status-dot.offline {
    background-color: #6c757d;
}

@keyframes pulse-dot {
    0% {
        box-shadow: 0 0 0 0 rgba(25, 135, 84, 0.5);
    }
    70% {
        box-shadow: 0 0 0 6px rgba(25, 135, 84, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(25, 135, 84, 0);
    }
}