/**
 * Estilos Customizados do Painel de Monitoramento
 * Arquivo: css/style.css
 */

body.bg-main-dark {
    background-color: #0f1115 !important;
    color: #e3e6ed;
}

body.bg-login-dark {
    background-color: #14161a !important;
    background-image: radial-gradient(circle at center, #1a1d24 0%, #0f1115 100%);
}

.card-custom {
    background-color: #16191f !important;
    border: 1px solid #2c313d !important;
    border-radius: 10px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card-custom:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.login-card {
    max-width: 420px;
    width: 100%;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.pulse-online {
    display: inline-block;
    width: 12px;
    height: 12px;
    background-color: #198754;
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(25, 135, 84, 0.7);
    animation: statusPulseAnimation 1.6s infinite ease-in-out;
}

@keyframes statusPulseAnimation {
    0% {
        transform: scale(0.9);
        box-shadow: 0 0 0 0 rgba(25, 135, 84, 0.7);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 8px rgba(25, 135, 84, 0);
    }
    100% {
        transform: scale(0.9);
        box-shadow: 0 0 0 0 rgba(25, 135, 84, 0);
    }
}

.refresh-indicator {
    font-size: 0.85rem;
    color: #6c757d;
    font-family: var(--bs-font-monospace);
}

.tracking-wider {
    letter-spacing: 0.06em;
}

.table-hover tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.03) !important;
}

.table th {
    font-weight: 600;
    letter-spacing: 0.03em;
}

/* Otimização de segurança para tabelas e containers em telas compactas */
.text-break {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}