/* Arquivo CSS personalizado */

/* Regras desativadas temporariamente
input[type="time"]::-webkit-inner-spin-button,
input[type="time"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="time"] {
    -moz-appearance: textfield;
}
*/

input[type="time"]::-webkit-inner-spin-button {
    display: none;
}

input[type="time"]::-webkit-clear-button,
input[type="time"]::-webkit-calendar-picker-indicator {
    display: none;
}

/* Estilos para o menu pai e filho */

/* Menu ativo */
.metismenu li.active>a {
    color: var(--bs-primary) !important;
    background-color: transparent !important;
}

.metismenu li.active>a i {
    color: var(--bs-primary);
}

/* Estilo padrão do submenu (sem forçar display) */
.metismenu .sub-menu {
    background-color: transparent;
}

.metismenu .sub-menu li>a {
    padding-left: 2.5rem;
    color: var(--bs-gray-600) !important;
    font-weight: normal;
    background-color: transparent !important;
}

/* Hover no submenu */
.metismenu .sub-menu li>a:hover {
    color: var(--bs-primary) !important;
    background-color: transparent !important;
}

/* Item ativo do submenu */
.metismenu .sub-menu li.active>a {
    color: var(--bs-primary) !important;
    background-color: transparent !important;
    font-weight: 500;
}

/* Menu pai fica com cor padrão quando não tem submenu ativo */
.metismenu li.mm-active>a {
    color: inherit !important;
    background-color: transparent !important;
}

.metismenu li.mm-active>a i {
    color: inherit;
}

/* Quando tem submenu ativo, destaca o menu pai (apenas cor, sem display) */
.metismenu li.mm-active:has(.active)>a,
.metismenu li.mm-active:has(.active)>a i {
    color: var(--bs-primary) !important;
}

/* Removido: regras que forçavam display de submenus (deixa o JS controlar mm-collapse/mm-show) */
/* .metismenu li:has(> a[data-key="Organização"]) .sub-menu { display: none; } */
/* .metismenu li:has(> a[data-key="Organização"]).mm-active .sub-menu { display: block; } */
/* @supports not (selector(:has(*))) { ... } */
/* .metismenu li.mm-active > ul.sub-menu { display: block !important; } */
/* .metismenu > li:not(.mm-active) > .sub-menu { display: none !important; } */
/* .metismenu > li.mm-active { position: relative; z-index: 2; } */
/* .metismenu > li.mm-active > .sub-menu { display: block !important; } */

/* 
 * Custom CSS para corrigir problemas de exibição no modo escuro
 */

/* Regras para exibir a logo correta no modo escuro */
[data-bs-theme="dark"] .vertical-menu .logo-dark {
    display: none !important;
}

[data-bs-theme="dark"] .vertical-menu .logo-light {
    display: block !important;
}

/* Regras para a página de autenticação */
[data-bs-theme="dark"] .auth-logo-dark {
    display: none !important;
}

[data-bs-theme="dark"] .auth-logo-light {
    display: block !important;
}

/* Sidebar: usar sempre logo clara */
.vertical-menu .navbar-brand-box .logo-dark { display: none !important; }
.vertical-menu .navbar-brand-box .logo-light { display: block !important; }

/* Removido: não alterar logos do header por tema */

/* Removido: não alterar logos do topnav por tema */

/* Removido: manter logos originais fora da sidebar */

/* Regras específicas para o menu recolhido */
.vertical-menu-btn-sm .navbar-brand-box .logo-dark .logo-sm {
    display: block !important;
}

.vertical-menu-btn-sm .navbar-brand-box .logo-dark .logo-lg {
    display: none !important;
}

.vertical-menu-btn-sm .navbar-brand-box .logo-light .logo-sm {
    display: block !important;
}

.vertical-menu-btn-sm .navbar-brand-box .logo-light .logo-lg {
    display: none !important;
}

/* Regras para o menu recolhido no modo escuro */
[data-bs-theme="dark"] .vertical-menu-btn-sm .navbar-brand-box .logo-dark {
    display: none !important;
}

[data-bs-theme="dark"] .vertical-menu-btn-sm .navbar-brand-box .logo-light {
    display: block !important;
}

/* Regras para o menu recolhido no modo claro */
[data-bs-theme="light"] .vertical-menu-btn-sm .navbar-brand-box .logo-light {
    display: none !important;
}

[data-bs-theme="light"] .vertical-menu-btn-sm .navbar-brand-box .logo-dark {
    display: block !important;
}

/* Regras para garantir que o menu fique estendido em telas acima de 1100px */
@media (min-width: 1101px) {
    /* Impedir que o menu seja recolhido automaticamente */
    body:not([data-sidebar-size="sm"]) {
        min-height: 100vh;
    }
    
    /* Garantir que o menu esteja sempre expandido em telas grandes */
    body:not([data-sidebar-size="sm"]) .vertical-menu {
        width: 270px !important;
    }
    
    /* Ajustar o conteúdo principal quando o menu estiver expandido */
    body:not([data-sidebar-size="sm"]) .main-content {
        margin-left: 270px !important;
    }
    
    /* Garantir que o menu não seja recolhido ao recarregar a página */
    body:not([data-sidebar-size="sm"]) .navbar-header {
        padding-left: 270px !important;
    }
}

/* Garantir que a largura do menu seja consistente em todos os layouts */
.vertical-menu {
    width: 270px !important;
}

body[data-sidebar-size=sm] .vertical-menu {
    width: 70px !important;
}

/* Ajustar o conteúdo principal para acomodar a largura do menu */
.main-content {
    margin-left: 270px;
    margin-right: 0;
}

[dir="rtl"] .main-content {
    margin-right: 270px;
    margin-left: 0;
}

body[data-sidebar-size=sm] .main-content {
    margin-left: 70px;
    margin-right: 0;
}

[dir="rtl"] body[data-sidebar-size=sm] .main-content {
    margin-right: 70px;
    margin-left: 0;
}

/* Regras para garantir consistência no modo escuro */
[data-bs-theme="dark"] {
    /* Cores de fundo e texto padrão */
    --bs-body-bg: #1a1a1a;
    --bs-body-color: #e4e4e4;
    
    /* Cores para cards e containers */
    --bs-card-bg: #242424;
    --bs-card-border-color: #2d2d2d;
    
    /* Cores para inputs e controles de formulário */
    --bs-input-bg: #2d2d2d;
    --bs-input-border-color: #3d3d3d;
    --bs-input-color: #e4e4e4;
    
    /* Cores para tabelas */
    --bs-table-bg: #242424;
    --bs-table-border-color: #2d2d2d;
    --bs-table-striped-bg: #2a2a2a;
    
    /* Cores para botões outline */
    --bs-btn-outline-light-color: #e4e4e4;
    --bs-btn-outline-light-border-color: #3d3d3d;
}

/* Ajustes específicos para componentes no modo escuro */
[data-bs-theme="dark"] .card {
    background-color: var(--bs-card-bg);
    border-color: var(--bs-card-border-color);
}

[data-bs-theme="dark"] .form-control {
    background-color: var(--bs-input-bg);
    border-color: var(--bs-input-border-color);
    color: var(--bs-input-color);
}

[data-bs-theme="dark"] .table {
    background-color: var(--bs-table-bg);
    border-color: var(--bs-table-border-color);
}

[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) {
    background-color: var(--bs-table-striped-bg);
}

[data-bs-theme="dark"] .btn-outline-light {
    color: var(--bs-btn-outline-light-color);
    border-color: var(--bs-btn-outline-light-border-color);
}

/* Ajustes para gráficos e visualizações no modo escuro */
[data-bs-theme="dark"] .chart-container {
    background-color: var(--bs-card-bg);
    border-color: var(--bs-card-border-color);
}

[data-bs-theme="dark"] .chart-title,
[data-bs-theme="dark"] .chart-label {
    color: var(--bs-body-color);
}

/* Ajustes para o menu lateral no modo escuro */
[data-bs-theme="dark"] .vertical-menu {
    background-color: var(--bs-card-bg);
    border-color: var(--bs-card-border-color);
}

[data-bs-theme="dark"] .metismenu .menu-item {
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .metismenu .sub-menu li > a {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .metismenu .sub-menu li > a:hover {
    color: var(--bs-primary) !important;
}

/* Removido: não customizar header/topnav no modo escuro aqui */

/* Cores principais */
:root {
  --guia360-primary: #0a2a5e; /* azul escuro semelhante ao ícone */
  --guia360-primary-dark: #071d42; /* ainda mais escuro para hover */
  --guia360-primary-contrast: #ffffff; /* branco */
}

/* Header: sem overrides aqui para manter o estilo original */

/* Sidebar vertical */
.vertical-menu {
  background-color: var(--guia360-primary) !important;
  color: var(--guia360-primary-contrast) !important;
}
.vertical-menu .navbar-brand-box { background-color: transparent !important; }
.vertical-menu .logo-dark { display: none !important; }
.vertical-menu .logo-light { display: block !important; }
/* Garante mesma regra independente do tema */
html[data-bs-theme="dark"] .vertical-menu .logo-dark { display: none !important; }
html[data-bs-theme="dark"] .vertical-menu .logo-light { display: block !important; }

/* Links do menu lateral */
.vertical-menu #sidebar-menu a,
.vertical-menu #sidebar-menu .menu-item,
.vertical-menu #sidebar-menu i {
  color: var(--guia360-primary-contrast) !important;
}

/* Icones do menu lateral */
.vertical-menu #sidebar-menu i.nav-icon { color: var(--guia360-primary-contrast) !important; }

/* Hover e ativo no menu lateral */
.vertical-menu #sidebar-menu > ul > li > a:hover,
.vertical-menu #sidebar-menu > ul > li.mm-active > a {
  background-color: var(--guia360-primary-dark) !important;
  color: var(--guia360-primary-contrast) !important;
}
.vertical-menu #sidebar-menu .sub-menu li a:hover,
.vertical-menu #sidebar-menu .sub-menu li.active > a {
  color: var(--guia360-primary-contrast) !important;
}

/* Scrollbar da sidebar se houver */
.sidebar-menu-scroll [data-simplebar] .simplebar-content,
.sidebar-menu-scroll .simplebar-content { color: var(--guia360-primary-contrast) !important; }

/* Ajuste de dropdown no topo (para manter contraste) */
#page-topbar .dropdown-menu { color: #212529; }
#page-topbar .dropdown-item { color: #212529; }

/* Botões outline claros no topo */
#page-topbar .btn-outline-light { color: var(--guia360-primary-contrast) !important; border-color: #e5e5e5 !important; }

/* Título de página dentro do topo, quando existir */
#page-topbar .page-title-box h4,
#page-topbar .page-title-box,
#page-topbar .page-title,
#page-topbar .avatar-title {
  color: var(--guia360-primary-contrast) !important;
}

/* Ajuste para o toggle do menu (hamburguer) */
.vertical-menu-btn i { color: var(--guia360-primary-contrast) !important; }

/* Alternância tema claro/escuro: força contraste do side com texto branco */
html[data-bs-theme='dark'] .vertical-menu {
  background-color: var(--guia360-primary) !important;
}
html[data-bs-theme='dark'] .vertical-menu #sidebar-menu a {
  color: var(--guia360-primary-contrast) !important;
}

/* Banner da frase no header */
.frase-banner {
  width: calc(100% - 2rem) !important;
  margin-left: 1rem !important;
  margin-right: 1rem !important;
  border-radius: 12px !important;
}

html[data-bs-theme="light"] .frase-banner {
  /* texto usa azul primário da marca no modo claro */
  color: var(--guia360-primary) !important;
}

html[data-bs-theme="dark"] .frase-banner {
  /* texto branco no modo escuro para contraste */
  color: #fff !important;
}

/* Forçar cor do texto do banner da frase com maior especificidade */
html[data-bs-theme="light"] #page-topbar .avatar-title.frase-banner,
html[data-bs-theme="light"] .page-title-box .avatar-title.frase-banner,
html[data-bs-theme="light"] .avatar-title.frase-banner {
  color: var(--guia360-primary) !important;
}

html[data-bs-theme="dark"] #page-topbar .avatar-title.frase-banner,
html[data-bs-theme="dark"] .page-title-box .avatar-title.frase-banner,
html[data-bs-theme="dark"] .avatar-title.frase-banner {
  color: #fff !important;
}

/* Garantir que a área do header não tenha padding lateral que crie “cantos” visíveis */
.navbar-header {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* O container do conteúdo interno do header mantém espaçamento com gap, não nas bordas */
#page-topbar .page-title-box { padding-left: 0 !important; padding-right: 0 !important; }
/* preserva o espaçamento interno padrão dos demais elementos à direita */

/* Sanduíche do menu lateral (vertical-menu-btn) por estado do menu) */
/* Padrão: menu expandido -> ícone branco */
.vertical-menu-btn i {
  color: var(--guia360-primary-contrast) !important; /* branco */
}
/* Menu retraído (small) -> ícone azul primário */
body[data-sidebar-size="sm"] .vertical-menu-btn i {
  color: var(--guia360-primary) !important;
}

/* Modo escuro + menu retraído: ícone branco (sobrepõe a regra de retraído azul) */
html[data-bs-theme="dark"] body[data-sidebar-size="sm"] .vertical-menu-btn i {
  color: var(--guia360-primary-contrast) !important; /* branco */
}

/* Mobile: hamburger do header sempre em azul primário (fundo claro) */
@media (max-width: 991.98px) {
	.vertical-menu-btn i { color: var(--guia360-primary) !important; }
}

/* Mobile + Dark mode: forçar branco para melhor contraste */
@media (max-width: 991.98px) {
	html[data-bs-theme="dark"] .vertical-menu-btn i { color: var(--guia360-primary-contrast) !important; }
}
