/* Portal FRZ no Monitoramento: a navbar escura vira a barra única (seletor de módulo + menu).
   Paleta oficial: laranja #ff6600 / off white #e3e3e3 / cinza #434343 */
body.com-topbar .frz-main { margin-left: 0; }
body.com-topbar .navbar.bg-dark { background: #434343 !important; padding-top: 0; padding-bottom: 0; min-height: 52px; }
body.com-topbar .navbar > .container-fluid { align-items: stretch; }
body.com-topbar .navbar-collapse { align-items: stretch; }

.tb-modulo { position: relative; margin-right: 14px; display: flex; align-items: center; }
.tb-modulo-btn { background: none; border: 0; color: #e3e3e3; font-weight: 700; font-size: 18px; cursor: pointer; padding: 6px 8px; border-radius: 6px; }
.tb-modulo-btn:hover { background: #363636; }
.tb-modulo-btn small { font-weight: 400; font-size: 12px; opacity: .75; }
.tb-modulo-painel { display: none; position: absolute; top: 100%; left: 0; width: 240px; background: #fff; border-radius: 6px;
    box-shadow: 0 6px 24px rgba(0,0,0,.25); padding: 6px 0; z-index: 1100; }
.tb-modulo-painel.aberto { display: block; }
.tb-modulo-painel a { display: flex; gap: 12px; align-items: center; padding: 10px 16px; color: #555; text-decoration: none; font-size: 14px; }
.tb-modulo-painel a:hover { background: #f4f4f4; }
.tb-modulo-painel a.atual { background: #fff1e8; color: #222; font-weight: 600; box-shadow: inset 3px 0 0 #ff6600; }
.tb-modulo-painel .ic { width: 22px; text-align: center; font-size: 17px; }

.tb-li { display: flex; align-items: stretch; }
.tb-menu { display: flex; gap: 2px; align-items: stretch; }
.tb-item { position: relative; display: flex; }
.tb-btn, .tb-solo { background: none; border: 0; border-bottom: 3px solid transparent; color: #e3e3e3; font-size: 14px;
    padding: 0 14px; cursor: pointer; text-decoration: none; display: flex; align-items: center; gap: 4px; }
.tb-btn:hover, .tb-item.aberto > .tb-btn, .tb-solo:hover { background: #505050; border-bottom-color: #ff6600; color: #fff; }
.tb-sub { display: none; position: absolute; top: 100%; left: 0; min-width: 240px; max-height: 80vh; overflow-y: auto;
    background: #505050; box-shadow: 0 6px 18px rgba(0,0,0,.3); z-index: 1100; }
.tb-item.aberto > .tb-sub { display: block; }
.tb-a { display: block; padding: 10px 16px; color: #e3e3e3; text-decoration: none; font-size: 14px; border-left: 3px solid transparent; white-space: nowrap; }
.tb-a:hover { background: #5e5e5e; border-left-color: #ff6600; color: #fff; }
.tb-a i { margin-right: 6px; }

@media (max-width: 991px) {
    .tb-li, .tb-menu, .tb-item { display: block; }
    .tb-btn, .tb-solo { padding: 10px 14px; width: 100%; }
    .tb-sub { position: static; box-shadow: none; }
}
