.main-content {
    padding: 2rem;
}

.small-caps {
    font-variant-caps: small-caps;
}

.text-justify {
    text-align: justify;
}

/* Melhoria 2: Novo estilo para o banner */
.nerd-banner {
    background-color: #1a1a1d; /* Um cinza bem escuro */
    color: #0f0; /* Verde "terminal" */
    border: 1px solid #0a0; /* Borda sutil verde */
    border-left: 5px solid #0f0; /* Destaque esquerdo */
    padding: 1.0rem 1.0rem;
    border-radius: 0.3rem;
    margin-bottom: 2rem;
    font-family: 'Courier New', Courier, monospace; /* Fonte monoespaçada */
    box-shadow: 0 0 15px rgba(0, 255, 0, 0.2); /* Sombra verde sutil */
}
.nerd-banner h2 {
    font-size: 1.0rem;
    margin-bottom: 0.5rem;
    text-shadow: 0 0 5px #0f0;
}
.nerd-banner p {
    font-size: 0.8rem;
    margin-bottom: 0;
    opacity: 0.9;
}
.nerd-banner .console-cursor { /* Simula um cursor piscando */
    display: inline-block;
    background-color: #0f0;
    width: 10px;
    height: 1.0rem;
    animation: blink 1s step-end infinite;
    margin-left: 5px;
    vertical-align: bottom;
}
@keyframes blink {
    from, to { background-color: transparent }
    50% { background-color: #0f0; }
}

/* Ajuste para cards no tema escuro (Bootstrap pode já cuidar bem, mas podemos refinar) */
.card {
    border: 1px solid rgba(255, 255, 255, 0.125); /* Borda padrão do tema dark */
}
.card .text-primary { color: #0d6efd !important; } /* Forçar cores se necessário */
.card .text-success { color: #198754 !important; }
.card .text-danger { color: #dc3545 !important; }
.card .text-gray-300 { color: rgba(255, 255, 255, 0.4) !important; } /* Ajuste para ícones */
.card .h5 { color: #adb5bd; } /* Cor mais suave para números */

.dropdown-submenu {
    position: relative;
}

@media screen and (min-width:800px) {
    .dropdown-submenu .dropdown-menu {
        left: -100%;
    }
}

.dropdown-submenu .dropdown-menu {
    top: 0;
    margin-top: -1px;
}

.verde-grafico {
    color: #44A5A6 !important;
}

div.modal-header.bg-light.text-black button.btn-close {
    filter: none !important;
}

.risco-cor {
    display: inline-block;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    /* margin-right: 5px; */
    vertical-align: baseline;
}

:root {
    /* Laranja Escuro Customizado */
    --bs-orange-rgb: 214, 81, 0;
    --bs-orange: #D65100;

    /* Amarelo Ouro (substituto para warning em contextos específicos) */
    --bs-gold-rgb: 255, 179, 0;
    --bs-gold: #FFB300;
}
.text-orange {
    color: var(--bs-orange) !important;
}
.text-gold {
    color: var(--bs-gold) !important;
}
.badge.bg-soft-orange {
    background-color: rgba(var(--bs-orange-rgb), 0.15) !important;
}
.badge.bg-soft-gold {
    background-color: rgba(var(--bs-gold-rgb), 0.15) !important;
}

select[readonly] {
    background: #eee; /* Simular campo inativo */
    color: #000;
    pointer-events: none;
    touch-action: none;
}

.legend-card {
    transition: box-shadow 0.3s ease-in-out;
}
.legend-card:hover {
    box-shadow: 0 .5rem 1rem rgba(0, 255, 0, 0.1) !important;
}
.legend-item {
    display: flex;
    align-items: center;
    padding: 0.75rem 0;
    font-size: 0.85rem;
}
.legend-item i {
    font-size: 1rem;
}