/*
 * Tema SCIDADES - Secretaria das Cidades do Ceará
 * Paleta de cores extraída do site oficial
 *
 * Verde Escuro (header):  #1B6B2A
 * Verde Médio (sidebar):  #1D7A30
 * Verde Claro (botões):   #39A845
 * Laranja (acento):       #F7941D
 * Branco:                 #FFFFFF
 */

/* ==============================
   SIDEBAR - Fundo Branco (Estilo SUITE Ceará)
   ============================== */
.sidebar[data-color="green"]:after,
.sidebar:after {
    background: #FFFFFF !important;
}

.sidebar .logo {
    border-bottom: 1px solid #E3E3E3;
}

.sidebar .logo:after {
    display: none;
}

.sidebar .logo a.simple-text {
    color: #42464D;
}

/* Estilização base do item (para a barra verde contida nele) */
.sidebar .nav li>a,
.sidebar .nav li:first-child>a {
    position: relative;
    margin-left: 0 !important;
    border-radius: 0 5px 5px 0 !important;
}

/* Pseudo-elemento da barrinha verde, invisível por padrão */
.sidebar .nav li>a::before,
.sidebar .nav li>a[data-toggle="collapse"]::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%) scaleY(0);
    width: 4px;
    height: 100%;
    background-color: #1B6B2A;
    transition: transform 0.3s ease-in-out;
}

/* Animação crescendo a barra ao passar o mouse */
.sidebar .nav li>a:hover::before {
    transform: translateY(-50%) scaleY(1);
}

/* Hover no fundo do item da sidebar */
.sidebar .nav li>a:hover {
    background-color: #f5f5f5;
}

/* Item ativo na sidebar: barra fica fixa e fundo verde-claro */
.sidebar .nav li.active>a,
.sidebar .nav li.active>a[data-toggle="collapse"] {
    background-color: #f0f7f1 !important;
}

.sidebar .nav li.active>a::before,
.sidebar .nav li.active>a[data-toggle="collapse"]::before {
    transform: translateY(-50%) scaleY(1);
}

/* Ícones da sidebar */
.sidebar .nav li a i {
    color: #6c757d !important;
}

.sidebar .nav li.active>a i {
    color: #1B6B2A !important;
}

/* Texto da sidebar */
.sidebar .nav li a p {
    color: #4a4a4a !important;
    font-weight: 500;
}

.sidebar .nav li.active>a p {
    color: #1B6B2A !important;
    font-weight: 700;
}

/* ==============================
   NAVBAR SUPERIOR - Cinza Escuro
   ============================== */
.navbar.navbar-absolute,
.navbar.bg-primary {
    background-color: #42464D !important;
    border-bottom: 5px solid #82B142 !important;
    /* Borda Verde típica do Ceará */
}

.navbar .navbar-brand,
.navbar .navbar-nav .nav-link {
    color: #FFFFFF !important;
}

/* Formulário de Busca na Navbar */
.navbar .form-control {
    background-color: #FFFFFF !important;
    border-radius: 30px;
    padding-left: 20px;
    color: #333;
}

.navbar .input-group-text {
    background-color: #FFFFFF !important;
    border-radius: 0 30px 30px 0;
    border: none;
}

/* ==============================
   BOTÕES - Verde e Laranja
   ============================== */
.btn-primary {
    background-color: #1B6B2A !important;
    border-color: #1B6B2A !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #145A22 !important;
    border-color: #145A22 !important;
}

.btn-success {
    background-color: #39A845 !important;
    border-color: #39A845 !important;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    background-color: #2E8C38 !important;
    border-color: #2E8C38 !important;
}

.btn-warning {
    background-color: #F7941D !important;
    border-color: #F7941D !important;
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
    background-color: #E5830A !important;
    border-color: #E5830A !important;
}

.btn-info {
    background-color: #39A845 !important;
    border-color: #39A845 !important;
}

.btn-info:hover,
.btn-info:focus,
.btn-info:active {
    background-color: #2E8C38 !important;
    border-color: #2E8C38 !important;
}

/* ==============================
   CARDS - Detalhes verdes
   ============================== */
.card .card-header .card-category {
    color: #1B6B2A;
}

.card-stats .card-footer .stats i {
    color: #39A845;
}

/* ==============================
   GRÁFICO HEADER
   ============================== */
.card-chart .card-header {
    background: transparent !important;
}

/* ==============================
   LINKS E ACENTOS
   ============================== */
a {
    color: #1B6B2A;
}

a:hover {
    color: #39A845;
}

/* ==============================
   PAGINAÇÃO
   ============================== */
.page-item.active .page-link {
    background-color: #1B6B2A !important;
    border-color: #1B6B2A !important;
}

.page-link {
    color: #1B6B2A;
}

.page-link:hover {
    color: #39A845;
}

/* ==============================
   TABELAS - Cabeçalho verde
   ============================== */
.table thead th {
    border-bottom-color: #39A845;
    color: #1B6B2A;
}

.table>tbody>tr>td {
    border-top-color: #e8f5e9;
}

/* ==============================
   FORMULÁRIOS - Focus verde
   ============================== */
.form-control:focus {
    border-color: #39A845 !important;
    box-shadow: 0 0 0 0.2rem rgba(57, 168, 69, 0.25) !important;
}

.has-success:after {
    color: #39A845;
}

/* ==============================
   BREADCRUMB / FAIXA VERDE
   ============================== */
.panel-header {
    background: transparent !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Forçar remoção de cor do painel header do NowUI apenas no sm */
.panel-header-sm {
    background: transparent !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Permitir o carregamento da versão grande do panel para exibição de dashboard principal */
.panel-header-lg {
    height: 380px !important;
    padding-top: 100px !important;
    padding-bottom: 45px !important;
    background: linear-gradient(135deg, #1B6B2A 0%, #39A845 100%) !important;
}

.main-panel > .panel-header-lg+.content {
    margin-top: -20px !important;
    /* Move o conteúdo para cima sobrepondo o panel header levemente */
    padding: 0 15px !important;
}

/* ==============================
   SIDEBAR - Seções/Submenus
   ============================== */
.sidebar .nav li>a[data-toggle="collapse"] {
    background: transparent !important;
    border-radius: 4px;
    margin: 2px 10px 2px 0 !important;
    color: #4a4a4a !important;
}

/* Recuo para todos os submenus de 2º nível (Ex: itens dentro de GERAL, GOPAS, GERAQ, GEAFI) */
.sidebar .nav .collapse .nav li>a {
    padding-left: 20px !important;
    /* Base padding (10px) + Recuo desejado (10px) */
}

/* Recuo para links finais de 3º nível (Ex: "Social" e "Dossiê" dentro da categoria "Social" do "GOPAS") */
.sidebar .nav .collapse .nav .collapse .nav li>a {
    padding-left: 35px !important;
    /* Reflete a hierarquia adicionando mais recuo visual */
}

.sidebar .nav li>a[data-toggle="collapse"]:hover {
    background: #f5f5f5 !important;
}

.sidebar .nav .collapse .nav {
    margin-top: 0;
    margin-left: 0;
    /* Removido o recuo para alinhar com o menu pai */
}

/* DataTables - botões de exportação */
.dt-buttons {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
}

.dt-buttons .dt-button {
    border: none !important;
    border-radius: 20px;
    padding: 7px 18px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
    cursor: pointer;
    transition: all 0.25s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.dt-buttons .dt-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.dt-buttons .dt-button:active {
    transform: translateY(0);
}

/* Excel - verde */
.dt-buttons .btn-export-excel {
    background-color: #217346 !important;
    color: #FFFFFF !important;
}

.dt-buttons .btn-export-excel:hover {
    background-color: #1a5c38 !important;
}

/* PDF - vermelho */
.dt-buttons .btn-export-pdf {
    background-color: #D32F2F !important;
    color: #FFFFFF !important;
}

.dt-buttons .btn-export-pdf:hover {
    background-color: #B71C1C !important;
}

/* Print - cinza */
.dt-buttons .btn-export-print {
    background-color: #546E7A !important;
    color: #FFFFFF !important;
}

.dt-buttons .btn-export-print:hover {
    background-color: #37474F !important;
}

/* ==============================
   TABELAS - Estilo elegante global
   ============================== */

/* Cabeçalhos de tabela */
.card .table thead th {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid #1B6B2A;
    padding: 12px 8px;
}

.card .table thead th.text-right {
    width: 20%;
}

.card .table td.text-right {
    white-space: nowrap;
}

/* Hover nas linhas */
.card .table tbody tr {
    transition: background-color 0.2s ease;
}

.card .table tbody tr:hover {
    background-color: rgba(27, 107, 42, 0.04);
}

/* Células */
.card .table tbody td {
    padding: 10px 8px;
    vertical-align: middle;
    font-size: 13px;
}

/* Botões de ação nas tabelas - estilo global */
.card .table td a[style*="font-size: 30px"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 14px !important;
    margin: 0 2px;
    transition: all 0.25s ease;
    text-decoration: none !important;
    color: #fff !important;
    background-color: #546E7A;
}

.card .table td a[style*="font-size: 30px"]:hover {
    transform: scale(1.12);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
}

/* Cores por tipo de ícone */
.card .table td a[style*="font-size: 30px"]:has(.fa-eye) {
    background-color: #17a2b8;
}

.card .table td a[style*="font-size: 30px"]:has(.fa-eye):hover {
    background-color: #138496;
}

.card .table td a[style*="font-size: 30px"]:has(.fa-pen) {
    background-color: #39A845;
}

.card .table td a[style*="font-size: 30px"]:has(.fa-pen):hover {
    background-color: #2E8C38;
}

.card .table td a[style*="font-size: 30px"]:has(.fa-file-pdf) {
    background-color: #D32F2F;
}

.card .table td a[style*="font-size: 30px"]:has(.fa-file-pdf):hover {
    background-color: #B71C1C;
}

.card .table td a[style*="font-size: 30px"]:has(.now-ui-icons) {
    background-color: #F7941D;
}

.card .table td a[style*="font-size: 30px"]:has(.now-ui-icons):hover {
    background-color: #E5830A;
}

/* Espaçamento nas colunas de ações */
.card .table td.text-right a[style*="font-size: 30px"] {
    margin: 0 2px;
}

/* Badge de famílias */
.badge-familias {
    display: inline-block;
    background: #f0f7f1;
    color: #1B6B2A;
    font-weight: 700;
    font-size: 13px;
    padding: 4px 12px;
    border-radius: 20px;
    min-width: 50px;
    text-align: center;
}

/* Badge de status */
.badge-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    letter-spacing: 0.3px;
}

.badge-status i {
    font-size: 10px;
}

.status-ativo {
    background-color: #e8f5e9;
    color: #2e7d32;
}

.status-inativo {
    background-color: #ffebee;
    color: #c62828;
}

/* Botões de ação com classes (localidades) */
.btn-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 14px;
    margin: 0 2px;
    transition: all 0.25s ease;
    text-decoration: none !important;
    color: #fff !important;
}

.btn-action:hover {
    transform: scale(1.12);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
}

.btn-action-info {
    background-color: #17a2b8;
}

.btn-action-info:hover {
    background-color: #138496;
}

.btn-action-success {
    background-color: #39A845;
}

.btn-action-success:hover {
    background-color: #2E8C38;
}

.btn-action-warning {
    background-color: #F7941D;
}

.btn-action-warning:hover {
    background-color: #E5830A;
}

.btn-action-danger {
    background-color: #D32F2F;
}

.btn-action-danger:hover {
    background-color: #B71C1C;
}

/* ==============================
   LABELS
   ============================== */
.card label {
    color: #1B4D24 !important;
    font-weight: 600;
}

/* ==============================
   SCROLLBAR CUSTOMIZADA
   ============================== */
.sidebar-wrapper::-webkit-scrollbar {
    width: 4px;
}

.sidebar-wrapper::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.1);
}

.sidebar-wrapper::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 4px;
}

/* ==============================
   ESPAÇAMENTO DE CONTEÚDO (Ao remover o Panel Header antigo)
   ============================== */
.main-panel>.content {
    margin-top: 0 !important;
    padding-top: 105px !important;
}