/* Ajustes leves sobre o Bootstrap. */
body { font-size: 0.95rem; }
.navbar-brand { letter-spacing: .3px; }
.card { border: 0; }
.table > :not(caption) > * > * { padding: .55rem .75rem; }
dt { font-weight: 600; color: #555; }
code { color: #0d6efd; }
main { max-width: 1280px; margin: 0 auto; }

/* Tooltip flutuante do grafico de proventos. */
.prov-tooltip {
    position: fixed; z-index: 1080; display: none; max-width: 340px;
    background: #fff; border: 1px solid #ccc; border-radius: 6px;
    box-shadow: 0 6px 20px rgba(0,0,0,.16); padding: .5rem .65rem;
    font-size: .8rem; pointer-events: none;
}
.prov-tooltip table td { padding: .1rem .2rem; border: 0; }
.prov-stack:hover rect[fill]:not([fill="transparent"]) { opacity: .88; }

/* Submenus (dropdown aninhado) no menu de navegacao. */
.dropdown-submenu { position: relative; }
.dropdown-submenu > .dropdown-toggle::after {
    position: absolute; right: .8rem; top: .8rem; transform: rotate(-90deg);
}
.dropdown-submenu > .dropdown-menu {
    top: 0; left: 100%; margin-top: -.35rem; margin-left: .1rem; min-width: 13rem;
}
@media (max-width: 991.98px) {
    /* Navbar recolhida: submenu vira lista recuada, sem posicionamento absoluto. */
    .dropdown-submenu > .dropdown-menu {
        position: static; left: 0; margin: 0 0 .25rem 1rem;
        box-shadow: none; border: 0; border-left: 2px solid var(--bs-border-color, #dee2e6);
    }
    .dropdown-submenu > .dropdown-toggle::after { transform: rotate(0); position: static; margin-left: .4rem; }
}
