/* ============================================
   DARK THEME STYLES FOR SIGP
   ============================================ */

/* IMPORTANTE: Header e Footer mantêm cores personalizadas do sistema */
/* Não aplicar tema dark em: 
   - .kt-header (Header principal)
   - .kt-footer (Footer)
   - .kt-aside (Menu lateral - preserva cores do sistema)
   - .bg-contabil, .bg-nota-fiscal, etc. (Classes de cor personalizadas)
*/

/* Root variables for easy theme management */
:root {
    --bg-primary: #ffffff;
    --bg-secondary: #f8f9fa;
    --bg-tertiary: #e9ecef;
    --text-primary: #212529;
    --text-secondary: #6c757d;
    --border-color: #dee2e6;
    --input-bg: #ffffff;
    --input-border: #ced4da;
    --modal-bg: #ffffff;
    --modal-content-bg: #ffffff;
    --table-bg: #ffffff;
    --table-hover: #f8f9fa;
    --card-bg: #ffffff;
    --shadow: rgba(0, 0, 0, 0.1);
}

/* Dark theme variables */
body.dark-theme {
    --bg-primary: #1a1a1a;
    --bg-secondary: #2d2d2d;
    --bg-tertiary: #3a3a3a;
    --text-primary: #e0e0e0;
    --text-secondary: #b0b0b0;
    --border-color: #404040;
    --input-bg: #2d2d2d;
    --input-border: #404040;
    --modal-bg: #1a1a1a;
    --modal-content-bg: #2d2d2d;
    --table-bg: #2d2d2d;
    --table-hover: #3a3a3a;
    --card-bg: #2d2d2d;
    --shadow: rgba(0, 0, 0, 0.5);
}

/* ============================================
   EXCLUSÕES - Preservar cores personalizadas
   ============================================ */

/* Header, Footer e Aside mantêm suas cores originais */
body.dark-theme .kt-header,
body.dark-theme .kt-header *,
body.dark-theme .kt-footer,
body.dark-theme .kt-footer *,
body.dark-theme .kt-aside,
body.dark-theme .kt-aside * {
    /* Não aplicar variáveis de tema dark */
    /* As cores personalizadas serão mantidas */
}

/* Preservar classes de background personalizadas */
body.dark-theme .bg-contabil,
body.dark-theme .bg-nota-fiscal,
body.dark-theme .bg-licitacao,
body.dark-theme .bg-folha,
body.dark-theme .bg-efdreinf,
body.dark-theme .bg-fiscal,
body.dark-theme [class*="bg-"],
body.dark-theme [class*="header-"] {
    /* Cores personalizadas do sistema preservadas */
}

/* ============================================
   GENERAL ELEMENTS
   ============================================ */

body.dark-theme {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

/* ============================================
   PORTLETS & CARDS
   ============================================ */

body.dark-theme .kt-portlet {
    background-color: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    box-shadow: 0 0 10px var(--shadow) !important;
}

body.dark-theme .kt-portlet__head {
    background-color: var(--bg-secondary) !important;
    border-bottom-color: var(--border-color) !important;
}

body.dark-theme .kt-portlet__body {
    background-color: var(--card-bg) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .kt-portlet h2,
body.dark-theme .kt-portlet h3,
body.dark-theme .kt-portlet h4,
body.dark-theme .kt-portlet label {
    color: var(--text-primary) !important;
}

/* ============================================
   FORMS & INPUTS
   ============================================ */

body.dark-theme .form-control {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .form-control:focus {
    background-color: var(--input-bg) !important;
    border-color: #4a90e2 !important;
    color: var(--text-primary) !important;
}

body.dark-theme .form-control::placeholder {
    color: var(--text-secondary) !important;
}

body.dark-theme .form-control:disabled,
body.dark-theme .form-control[readonly] {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-secondary) !important;
    opacity: 0.7;
}

body.dark-theme label {
    color: var(--text-primary) !important;
}

body.dark-theme .txtobs {
    color: #ff6b6b !important;
}

/* ============================================
   SELECT2 DROPDOWN
   ============================================ */

body.dark-theme .select2-container--default .select2-selection--single {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
}

body.dark-theme .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--text-primary) !important;
}

body.dark-theme .select2-dropdown {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
}

body.dark-theme .select2-container--default .select2-results__option {
    background-color: var(--input-bg) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .select2-container--default .select2-results__option[aria-selected=true] {
    background-color: var(--bg-secondary) !important;
}

body.dark-theme .select2-search--dropdown .select2-search__field {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--text-primary) !important;
}

/* ============================================
   MODALS
   ============================================ */

body.dark-theme .modal-content {
    background-color: var(--modal-content-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .modal-header {
    background-color: var(--bg-secondary) !important;
    border-bottom-color: var(--border-color) !important;
}

body.dark-theme .modal-body {
    background-color: var(--modal-content-bg) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .modal-footer {
    background-color: var(--bg-secondary) !important;
    border-top-color: var(--border-color) !important;
}

body.dark-theme .modal-body h4,
body.dark-theme .modal-body h2 {
    color: var(--text-primary) !important;
}

body.dark-theme .close {
    color: var(--text-primary) !important;
    text-shadow: none !important;
}

/* ============================================
   TABLES
   ============================================ */

body.dark-theme .table {
    background-color: var(--table-bg) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .table thead th {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

body.dark-theme .table td,
body.dark-theme .table th {
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .table-hover tbody tr:hover {
    background-color: var(--table-hover) !important;
}

body.dark-theme .table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--bg-secondary) !important;
}

/* ============================================
   CUSTOM EMPENHO STYLES
   ============================================ */

body.dark-theme .escondeUndOrcamentaria {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .data-item {
    color: var(--text-primary) !important;
}

body.dark-theme hr {
    border-color: var(--border-color) !important;
}

body.dark-theme #modal-content {
    background-color: var(--modal-content-bg) !important;
    color: var(--text-primary) !important;
}

/* ============================================
   BUTTONS
   ============================================ */

body.dark-theme .btn-outline-brand {
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

body.dark-theme .btn-outline-brand:hover {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
}

body.dark-theme .btn-metal {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

body.dark-theme .btn-metal:hover {
    background-color: var(--bg-secondary) !important;
}

/* Keep success, danger, info, warning buttons with original colors */
body.dark-theme .btn-success,
body.dark-theme .btn-danger,
body.dark-theme .btn-info,
body.dark-theme .btn-warning {
    /* Original button colors maintained for visibility */
}

/* ============================================
   ALERTS & VALIDATION
   ============================================ */

body.dark-theme .alert {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .field-validation-error,
body.dark-theme .txtvalida {
    color: #ff6b6b !important;
}

body.dark-theme .text-muted {
    color: var(--text-secondary) !important;
}

/* ============================================
   BADGES
   ============================================ */

body.dark-theme .badge-primary {
    background-color: #4a90e2 !important;
    color: #ffffff !important;
}

body.dark-theme #badgeFornecedoresSelecionados {
    background-color: #4a90e2 !important;
    color: #ffffff !important;
}

/* ============================================
   SUBHEADER & BREADCRUMB
   ============================================ */

body.dark-theme .kt-subheader__main,
body.dark-theme .kt-subheader__toolbar {
    color: var(--text-primary) !important;
}

/* ============================================
   LOADER
   ============================================ */

body.dark-theme #loaderDivSelecionaridLoa {
    background-color: var(--bg-primary) !important;
}

body.dark-theme .loadList {
    background-color: var(--bg-primary) !important;
}

/* ============================================
   PAGINATION
   ============================================ */

body.dark-theme .pagination .page-link {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .pagination .page-link:hover {
    background-color: var(--bg-tertiary) !important;
}

body.dark-theme .pagination .page-item.active .page-link {
    background-color: #4a90e2 !important;
    border-color: #4a90e2 !important;
}

/* ============================================
   SPECIAL CASES
   ============================================ */

body.dark-theme p {
    color: var(--text-primary) !important;
}

body.dark-theme small {
    color: var(--text-secondary) !important;
}

body.dark-theme a {
    color: #4a90e2 !important;
}

body.dark-theme a:hover {
    color: #357abd !important;
}

/* ============================================
   LICITACAO DETAILS
   ============================================ */

body.dark-theme .escondeDetalhesLicitacao {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* ============================================
   INPUT GROUP
   ============================================ */

body.dark-theme .input-group-text {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--input-border) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .input-group-append .btn,
body.dark-theme .input-group-prepend .btn {
    border-color: var(--input-border) !important;
}

/* ============================================
   IFRAME MODAL
   ============================================ */

body.dark-theme #myModal {
    background-color: rgba(0, 0, 0, 0.8) !important;
}

body.dark-theme #meuIframe {
    background-color: var(--modal-content-bg) !important;
}

/* ============================================
   RESPONSIVE ADJUSTMENTS
   ============================================ */

@media (max-width: 768px) {
    body.dark-theme .kt-portlet {
        margin-bottom: 1rem;
    }
}
