/**
 * Planasys - Tema Escuro
 * Correções e estilos específicos para o tema escuro
 */

/* Cores principais */
:root {
    --dark-bg: #1a2234;
    --dark-bg-light: #2b3b4e;
    --dark-border: #3d5169;
    --dark-text: #e9ecef;
    --dark-text-muted: #adb5bd;
    --accent-green: #64df91;
    --accent-green-dark: #52c97f;
}

/* Correções para campos de formulário */
body.dark .form-floating > .form-control-plaintext ~ label::after,
body.dark .form-floating > .form-control:focus ~ label::after,
body.dark .form-floating > .form-control:not(:placeholder-shown) ~ label::after,
body.dark .form-floating > .form-select ~ label::after {
    background-color: var(--dark-bg-light);
}

body.dark .form-floating > .form-control:focus ~ label,
body.dark .form-floating > .form-control:not(:placeholder-shown) ~ label {
    color: var(--accent-green);
    background-color: transparent;
}

body.dark .form-control {
    background-color: var(--dark-bg-light);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

body.dark .form-control:focus,
body.dark .form-control:active {
    background-color: var(--dark-bg-light);
    color: var(--dark-text);
    border-color: var(--accent-green);
    box-shadow: 0 0 0 0.25rem rgba(100, 223, 145, 0.25);
}

body.dark .form-floating label {
    color: var(--dark-text-muted);
}

body.dark .form-control::placeholder {
    color: rgba(233, 236, 239, 0.5);
}

body.dark .form-control:focus::placeholder {
    color: rgba(233, 236, 239, 0.7);
}

/* Input groups */
body.dark .input-group-text {
    background-color: var(--dark-bg-light);
    border-color: var(--dark-border);
    color: var(--dark-text-muted);
}

/* Botões */
body.dark .btn-primary {
    background-color: var(--accent-green);
    border-color: var(--accent-green);
    color: var(--dark-bg);
}

body.dark .btn-primary:hover,
body.dark .btn-primary:focus {
    background-color: var(--accent-green-dark);
    border-color: var(--accent-green-dark);
    color: var(--dark-bg);
}

/* Modais */
body.dark .modal-content {
    background-color: var(--dark-bg);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

body.dark .modal-header,
body.dark .modal-footer {
    border-color: var(--dark-border);
}

/* Tabelas */
body.dark .table {
    color: var(--dark-text);
    border-color: var(--dark-border);
}

body.dark .table-striped>tbody>tr:nth-of-type(odd)>* {
    background-color: rgba(255, 255, 255, 0.05);
    color: var(--dark-text);
}

body.dark .table-hover>tbody>tr:hover>* {
    background-color: rgba(100, 223, 145, 0.1);
    color: var(--dark-text);
}

/* Alertas de erro */
body.dark .alert-danger {
    background-color: #3d5169;
    border-color: #ff6b6b;
    color: #ff6b6b;
}

body.dark .alert-danger i {
    color: #ff6b6b;
}

/* DataTables */
body.dark .dataTables_wrapper .dataTables_length,
body.dark .dataTables_wrapper .dataTables_filter,
body.dark .dataTables_wrapper .dataTables_info,
body.dark .dataTables_wrapper .dataTables_processing,
body.dark .dataTables_wrapper .dataTables_paginate {
    color: var(--dark-text);
}

body.dark .dataTables_wrapper .dataTables_paginate .paginate_button {
    color: var(--dark-text) !important;
}

body.dark .dataTables_wrapper .dataTables_paginate .paginate_button.current,
body.dark .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--accent-green);
    color: var(--dark-bg) !important;
    border-color: var(--accent-green);
}

body.dark .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--accent-green-dark);
    color: var(--dark-bg) !important;
    border-color: var(--accent-green-dark);
}

/* Select */
body.dark select.form-select {
    background-color: var(--dark-bg-light);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

body.dark select.form-select:focus {
    border-color: var(--accent-green);
    box-shadow: 0 0 0 0.25rem rgba(100, 223, 145, 0.25);
} 

/* Select2 no tema escuro */
body.dark .select2-container--bootstrap-5 .select2-selection {
    background-color: var(--dark-bg-light);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

body.dark .select2-container--bootstrap-5.select2-container--focus .select2-selection,
body.dark .select2-container--bootstrap-5.select2-container--open .select2-selection {
    border-color: var(--accent-green);
    box-shadow: 0 0 0 0.25rem rgba(100, 223, 145, 0.25);
}

body.dark .select2-container--bootstrap-5 .select2-dropdown {
    background-color: var(--dark-bg-light);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

body.dark .select2-container--bootstrap-5 .select2-dropdown .select2-results__option {
    color: var(--dark-text);
    background-color: var(--dark-bg-light);
}

body.dark .select2-container--bootstrap-5 .select2-dropdown .select2-results__option--highlighted {
    background-color: var(--accent-green);
    color: var(--dark-bg);
}

body.dark .select2-container--bootstrap-5 .select2-dropdown .select2-results__option--selected {
    background-color: rgba(100, 223, 145, 0.2);
    color: var(--dark-text);
}

body.dark .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    color: var(--dark-text);
}

body.dark .select2-container--bootstrap-5 .select2-search--dropdown .select2-search__field {
    background-color: var(--dark-bg);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

body.dark .select2-container--bootstrap-5 .select2-selection__placeholder {
    color: var(--dark-text-muted);
}

/* Ajuste para Select2 quando o dropdown é anexado ao body */
body.dark .select2-container--bootstrap-5 .select2-dropdown.select2-dropdown--below,
body.dark .select2-container--bootstrap-5 .select2-dropdown.select2-dropdown--above {
    background-color: var(--dark-bg-light);
    border-color: var(--dark-border);
}

/* Garantir que o texto de busca seja visível */
body.dark .select2-search--dropdown .select2-search__field {
    background-color: var(--dark-bg-light);
    color: var(--dark-text);
    border-color: var(--dark-border);
}

/* Ajuste para o placeholder e texto no select */
body.dark .select2-container--bootstrap-5 .select2-selection--single {
    background-color: var(--dark-bg-light);
    color: var(--dark-text);
}

/* Garantir que a caixa de busca seja visível */
body.dark .select2-search.select2-search--dropdown {
    background-color: var(--dark-bg-light);
} 