/**
 * Customizações e Sobrescrições de Estilos
 * 
 * Este arquivo contém personalizações de estilos para otimizar
 * o uso do espaço da tela e melhorar a experiência do usuário
 */

/* ========================================
   Page Header - Redução de Altura e Fontes
   ======================================== */

/* Reduzir padding geral do page-header */
.page-header.filled {
    padding: 15px 30px 10px 30px !important; /* Top: 15px, Right: 30px, Bottom: 10px, Left: 30px */
    margin-bottom: 10px !important; /* Reduzido de 30px para 10px */
}

/* Reduzir tamanho do título principal */
.page-header h1,
.page-header h2 {
    font-size: 16px !important; /* Reduzido de 24px para 16px */
    line-height: 1.1 !important;
    font-weight: 500 !important; /* Peso médio ao invés de light */
}

.page-header h3,
.page-header h4,
.page-header h5,
.page-header h6 {
    font-size: 14px !important; /* Reduzido de 24px para 14px */
    line-height: 1.1 !important;
}

/* Ajustar breadcrumb */
.page-header .list-page-breadcrumb {
    margin-top: 2px !important; /* Reduzido de 14px para 2px */
}

.page-header .list-page-breadcrumb li {
    font-size: 10px !important; /* Reduzido de 12px para 10px */
    padding-left: 3px !important; /* Reduzido de 6px para 3px */
}

/* Ajustar espaçamento de parágrafos e listas no header */
.page-header p,
.page-header ul {
    margin-top: 3px !important; /* Reduzido de 6px para 3px */
}

/* Ajustar página completa (full-block) */
.page-header.full-block {
    margin-top: -30px !important; /* Mantém colado na barra superior */
}

/* ========================================
   Ajustes Responsivos
   ======================================== */

/* Em telas menores, reduzir ainda mais */
@media (max-width: 768px) {
    .page-header.filled {
        padding: 8px 15px !important;
    }
    
    .page-header h1,
    .page-header h2 {
        font-size: 14px !important;
    }
    
    .page-header h3,
    .page-header h4,
    .page-header h5,
    .page-header h6 {
        font-size: 12px !important;
    }
    
    .page-header .list-page-breadcrumb {
        margin-top: 3px !important;
        text-align: left !important;
    }
}

/* ========================================
   Widget Headers - Ajustes complementares
   ======================================== */

/* Reduzir também headers de widgets para manter consistência */
.widget-header h3 {
    font-size: 16px !important;
    margin-bottom: 5px !important;
}

.widget-header p {
    font-size: 12px !important;
    margin-bottom: 0 !important;
}

/* ========================================
   Tabelas - Otimização de espaço
   ======================================== */

/* Reduzir padding das células da tabela */
.table > thead > tr > th,
.table > tbody > tr > td {
    padding: 8px !important; /* Padrão geralmente é 12px ou mais */
}

/* Ajustar altura das linhas */
.table > tbody > tr {
    height: auto !important;
}

/* ========================================
   Tabelas - Quebra de Texto
   ======================================== */

/* Quebra de texto apenas quando necessário (sem quebrar letra por letra) */
.table td,
.dataTable td {
    word-wrap: break-word !important;
    word-break: normal !important; /* Mudado de break-word para normal */
    white-space: normal !important;
    overflow-wrap: break-word !important;
    max-width: 300px !important; /* Largura máxima mais generosa */
}

/* Para tabelas específicas que precisam de mais controle */
#datatable_autores_processo td {
    word-wrap: break-word !important;
    word-break: normal !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    max-width: 250px !important;
}

/* Evitar overflow horizontal apenas quando necessário */
.table-responsive {
    overflow-x: auto;
}

/* Colunas de ações mantém tamanho adequado (exceto #datatable principal) */
.table:not(#datatable) td:last-child,
.dataTable:not(#datatable) td:last-child {
    min-width: 120px !important;
    white-space: nowrap !important; /* Não quebrar botões */
}

/* ========================================
   Containers e Espaçamentos Gerais
   ======================================== */

/* Reduzir margin-bottom padrão de containers */
.widget-wrap {
    margin-bottom: 20px !important; /* Reduzido de 30px */
}

.widget-container {
    padding: 15px !important; /* Reduzido se necessário */
}

/* ========================================
   Botões no Header - Ajuste de tamanho
   ======================================== */

.data-action-bar .btn {
    padding: 6px 12px !important; /* Levemente reduzido */
    font-size: 13px !important;
}

/* ========================================
   Formulários no Header
   ======================================== */

.page-header .form-control {
    height: 30px !important; /* Reduzir altura de inputs */
    font-size: 13px !important;
    padding: 4px 8px !important;
}

.page-header select.form-control {
    height: 30px !important;
}

/* ========================================
   Transições suaves
   ======================================== */

.page-header,
.page-header * {
    transition: all 0.2s ease-in-out;
}

/* ========================================
   Layout - Footer sempre no final
   ======================================== */

/* Garantir altura mínima para visualização completa */
html {
    height: 100%;
}

body {
    min-height: 100%;
    height: auto;
    overflow-y: auto;
}

/* Main container ocupa toda altura disponível */
.main-container {
    min-height: calc(100vh - 50px); /* Desconta altura real do footer + padding */
    padding-bottom: 0 !important;
}

/* Widget wrap com altura mínima */
.widget-wrap {
    min-height: 500px;
}

/* Widget container com altura mínima */
.widget-container {
    min-height: 450px;
}

/* Footer - ajustar largura para acompanhar header full-block */
.footer-container {
    position: relative !important;
    bottom: auto !important;
    margin-top: auto;
}

/* ========================================
   Botões de Ação nas Tabelas
   ======================================== */

/* Reduzir tamanho dos botões dentro das tabelas */
.table .btn,
#datatable .btn,
.datatable .btn,
.table-striped .btn,
.table-bordered .btn {
    padding: 3px 8px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
}

/* Botões específicos de ação (editar, excluir, visualizar) */
.table .btn-sm,
.table .btn-xs {
    padding: 2px 6px !important;
    font-size: 10px !important;
}

/* Ícones dentro dos botões de tabela */
.table .btn i,
.table .btn .fa {
    font-size: 11px !important;
    margin-right: 2px;
}

/* Ajustar grupos de botões nas tabelas */
.table .btn-group .btn {
    padding: 2px 6px !important;
}

/* Coluna de ações do DataTable - forçar largura mínima */
#datatable th:last-child,
#datatable td:last-child {
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    white-space: normal !important;
    text-align: center !important;
    padding: 5px 2px !important;
}

/* Dropdown de ações compacto */
#datatable .dropdown {
    display: inline-block;
}

#datatable .dropdown .btn {
    padding: 4px 8px !important;
    font-size: 12px !important;
}

#datatable .dropdown .dropdown-toggle::after {
    display: none; /* Remove a seta do dropdown para economizar espaço */
}

/* ========================================
   Conteúdo Principal - Redução de Fontes
   ======================================== */

/* Reduzir fonte geral do conteúdo principal */
.main-container {
    font-size: 12px !important; /* Reduzido de 14px padrão */
}

.widget-content,
.widget-container {
    font-size: 12px !important;
}

/* Labels e textos descritivos */
.main-container label {
    font-size: 12px !important;
    font-weight: 500;
}

/* Parágrafos no conteúdo principal */
.main-container p {
    font-size: 12px !important;
    line-height: 1.4 !important;
}

/* Listas */
.main-container ul li,
.main-container ol li {
    font-size: 12px !important;
}

/* ========================================
   Footer - Redução de Fontes
   ======================================== */

/* Reduzir fonte do footer */
.footer-container {
    font-size: 11px !important;
}

.footer-container p,
.footer-container span,
.footer-meta {
    font-size: 11px !important;
    margin: 0;
    padding: 5px 0;
}

/* Ajustar altura do footer */
.footer-container {
    padding: 8px 15px !important;
}

/* ========================================
   Formulários - Ajuste de Tamanhos
   ======================================== */

/* Inputs e selects menores */
.form-control {
    height: 32px !important;
    font-size: 12px !important;
    padding: 5px 10px !important;
}

select.form-control {
    height: 32px !important;
}

/* Textareas */
textarea.form-control {
    font-size: 12px !important;
    padding: 5px 10px !important;
    height: auto !important;
}

/* Botões addon - Ajustar para altura do form-control */
.j-forms .widget .addon-btn {
    height: 32px !important;
    line-height: 32px !important;
}

/* ========================================
   Ajustes Específicos DataTables
   ======================================== */

/* Paginação */
.dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: 3px 8px !important;
    font-size: 11px !important;
}

/* Info e filtros */
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_length label {
    font-size: 11px !important;
}

/* Inputs de busca e seleção */
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    height: 26px !important;
    font-size: 11px !important;
    padding: 3px 6px !important;
}

/* ========================================
   Forçar exibição da scrollbar
   ======================================== */

/* Garantir que scrollbar sempre apareça */
html {
    overflow-y: scroll !important;
}

body {
    overflow-y: auto !important;
}

/* Estilizar scrollbar para navegadores Webkit (Chrome, Safari, Edge) */
::-webkit-scrollbar {
    width: 12px !important;
    height: 12px !important;
}

::-webkit-scrollbar-track {
    background: #f1f1f1 !important;
}

::-webkit-scrollbar-thumb {
    background: #888 !important;
    border-radius: 6px !important;
}

::-webkit-scrollbar-thumb:hover {
    background: #555 !important;
}

/* Para Firefox */
* {
    scrollbar-width: auto !important;
    scrollbar-color: #888 #f1f1f1 !important;
}

/* ========================================
   Select2 - Ajuste de Altura
   ======================================== */

/* Ajustar altura dos campos Select2 para corresponder ao form-control padrão (32px) */
.select2-container--default .select2-selection--single {
    height: 32px !important;
    padding: 5px 10px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 22px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 30px !important;
}

.select2-container--default .select2-selection--multiple {
    min-height: 32px !important;
    padding: 3px 8px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    padding: 0 !important;
}

/* ========================================
   Input de Moeda - Prefixo R$
   ======================================== */

/* Container para inputs de moeda com prefixo R$ */
.input-money-prefix {
    position: relative;
    display: block;
}

.input-money-prefix::before {
    content: "R$";
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #555;
    font-size: 12px;
    font-weight: 500;
    z-index: 1;
    pointer-events: none;
}

.input-money-prefix .form-control,
.input-money-prefix input {
    padding-left: 30px !important;
}