/* Fundo escuro para linhas de tabela, inclusive linhas destacadas */
.table tr, .table td, .table th {
    background-color: #14263b !important;
}
.table tr.bg-light, .table tr.bg-white, .table tr[style*="background:#fff"],
.table td.bg-light, .table td.bg-white, .table td[style*="background:#fff"] {
    background-color: #1a2a4f !important;
    color: #eaf6ff !important;
    font-weight: 700;
    text-shadow: 0 1px 2px #000a;
}
.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #1a2a4f !important;
}
.table-striped > tbody > tr:nth-of-type(even) {
    background-color: #14263b !important;
}
/* Contraste e legibilidade para linhas de tabelas e status */
.table tr, .table td, .table th {
    color: #eaf6ff !important;
    font-weight: 500;
    text-shadow: 0 1px 2px #000a;
}

.table tr.bg-light, .table tr.bg-white, .table tr[style*="background:#fff"],
.table td.bg-light, .table td.bg-white, .table td[style*="background:#fff"] {
    color: #1a2a4f !important;
    font-weight: 700;
    text-shadow: 0 1px 0 #fff8, 0 0 2px #0002;
}

/* Badge de status com contraste */
.badge-status {
    font-size: 1rem;
    font-weight: 700;
    padding: 0.45em 1.1em;
    border-radius: 1.5em;
    box-shadow: 0 2px 8px #0002;
    letter-spacing: 0.02em;
}
.badge-status.sucesso, .badge-status.saudavel {
    background: linear-gradient(90deg, #1ecb6b 60%, #0e9c47 100%);
    color: #fff;
}
.badge-status.falha, .badge-status.erro {
    background: linear-gradient(90deg, #e53935 60%, #b71c1c 100%);
    color: #fff;
}
.badge-status.atencao, .badge-status.alerta {
    background: linear-gradient(90deg, #f4a261 60%, #e76f51 100%);
    color: #fff;
}

/* Para status em células de tabela */
.table .badge-status {
    margin: 0 auto;
    display: block;
}
body {
    margin: 0;
    min-height: 100vh;
    /* Fundo com gradiente para efeito 3D */
    background: linear-gradient(135deg, #0a1a33 0%, #1a2a4f 100%);
    position: relative;
    /* Sombra removida para deixar o fundo limpo */
}

/* Fundo das bolinhas */
#bolinhas-bg {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

/* Bolinhas animadas */
.bolinha {
    position: absolute;
    border-radius: 50%;
    /* Gradiente radial para efeito 3D */
    background: radial-gradient(circle at 30% 30%, #5fa8e6 60%, #3a6ea5 80%, #1a2a4f 100%);
    opacity: 0.8;
    animation: mover 8s linear infinite;
    /* Sombra para efeito de profundidade */
    box-shadow: 0 8px 24px 0 #1a2a4f99, 0 2px 8px 0 #0008;
    filter: drop-shadow(0 0 8px #5fa8e6cc);
    will-change: transform, opacity;
    /* Garante que fique atrás do conteúdo */
    z-index: 0;
}

@keyframes mover {
    0% {
        transform: translateY(0) scale(1);
        opacity: 0;
    }
    50% {
        opacity: 0.8;
    }
    100% {
        transform: translateY(-100vh) scale(1.2);
        opacity: 0;
    }
}
