/* frontend/assets/custom.css */

/* --- Fontes e Estilos Base --- */
body {
font-family: 'Inter', sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
overflow-x: hidden; /* Previne scroll horizontal */
}

/* --- Variáveis de Tema --- */
:root {
--primary-color: #0D4C85; /* RE/MAX Blue */
--secondary-color: #DC1D2E; /* RE/MAX Red */

--light-bg: #f8f9fa;
--light-text: #212529;
--light-card-bg: #ffffff;
--light-navbar-bg: #ffffff;
--light-border: rgba(0,0,0,.1);

--dark-bg: #121212;
--dark-text: #e2e8f0;
--dark-card-bg: #1e1e1e;
--dark-navbar-bg: #1e1e1e;
--dark-border: rgba(255,255,255,.15);
}

/* --- FUNDO DA PÁGINA DE LOGIN --- */
.login-page-bg {
    background: linear-gradient(-45deg, var(--primary-color), var(--secondary-color), var(--primary-color), var(--secondary-color));
    background-size: 400% 400%;
    animation: gradient 15s ease infinite;
    color: var(--light-text);
}

@keyframes gradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* --- Aplicação do Tema --- */
body {
    background-color: var(--light-bg);
    color: var(--light-text);
}
.card{
    background-color: var(--light-card-bg) !important;
    border-color: var(--light-border) !important;
}

.navbar, .modal-content {
    background-color: var(--light-card-bg) !important;
    color: var(--light-text) !important;
    border-color: var(--light-border) !important;
}
.dropdown-menu {
    background-color: var(--light-card-bg);
}
.dropdown-item:hover {
    background-color: var(--light-bg);
}

body.dark-theme {
    background-color: var(--dark-bg);
    color: var(--dark-text);
}
body.dark-theme .card,
body.dark-theme .navbar,
body.dark-theme .modal-content {
    background-color: var(--dark-card-bg) !important;
    color: var(--dark-text) !important;
    border-color: var(--dark-border) !important;
}
body.dark-theme .dropdown-menu {
    background-color: var(--dark-card-bg);
}
body.dark-theme .dropdown-item {
    color: var(--dark-text);
}
body.dark-theme .dropdown-item:hover {
    background-color: #333;
}
body.dark-theme .table {
    color: var(--dark-text);
}
body.dark-theme .form-control, body.dark-theme .Select-control {
    background-color: #333;
    color: var(--dark-text);
    border-color: var(--dark-border);
}

body.dark-theme select,
body.dark-theme select option,
body.dark-theme .Select-menu-outer,
body.dark-theme .Select-option {
    color: #FFF !important;
    background-color: #333 !important;
}

/* --- Layout Principal e Sidebar --- */
#sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 250px;
    padding: 1rem;
    transition: all 0.3s;
    z-index: 1030;
    background-color: var(--primary-color);
    color: white;
}

#page-content {
    margin-left: 250px;
    transition: margin-left 0.3s;
    width: calc(100% - 250px);
}

.logo-container {
    background-color: white;
    border-radius: 8px;
}

/* --- CORREÇÃO DO Z-INDEX DA NAVBAR --- */
/*
  Aumentamos o z-index da navbar para garantir que ela
  e seu dropdown fiquem sempre acima da barra de filtros.
*/
.navbar.sticky-top {
    z-index: 1030;
}
/* --- FIM DA CORREÇÃO --- */


@media (max-width: 992px) {
    #sidebar {
        transform: translateX(-100%);
        transition: transform 0.3s ease-in-out;
    }
    #page-content {
        margin-left: 0;
        width: 100%;
    }
    #main-container.sidebar-toggled #sidebar {
        transform: translateX(0);
    }
    #sidebar #sidebar-close-btn {
        display: block !important;
        position: absolute;
        top: 1rem;
        right: 1rem;
        background-color: var(--primary-color);
        color: white;
        border: none;
        z-index: 10000;
    }
    #sidebar #sidebar-close-btn i {
        font-size: 1rem;
    }
}

@media (min-width: 993px) {
    #sidebar #sidebar-close-btn {
        display: none !important;
    }
}

/* --- Links da Sidebar --- */
#sidebar .nav-link,
#sidebar .nav-link-custom {
    color: #FFFFFF !important;
}
#sidebar .nav-link:hover, 
#sidebar .nav-link.active,
#sidebar .nav-link-custom:hover, 
#sidebar .nav-link-custom.active {
    background-color: rgba(255, 255, 255, 0.1);
}
#sidebar .nav-link-sub {
    color: rgba(255, 255, 255, 0.7);
    padding: 0.5rem 1rem 0.5rem 2.5rem;
    font-size: 0.9em;
}

#submenu-analise-arrow {
    transition: transform 0.3s;
}
#submenu-analise-arrow.rotate-180 {
    transform: rotate(180deg);
}

.bg-remax-blue {
    background: linear-gradient(135deg, var(--primary-color) 0%, #0b3a6a 100%);
}

/* --- CORREÇÃO PARA TABELAS NO MODO ESCURO --- */
body.dark-theme .dash-spreadsheet-container .dash-spreadsheet-inner table,
body.dark-theme .dash-spreadsheet-container .dash-header th,
body.dark-theme .dash-spreadsheet-container .dash-cell {
    color: var(--light-text) !important;
}
body.dark-theme .dash-spreadsheet-container .dash-header th {
    background-color: #f8f9fa !important;
}
body.dark-theme .dash-spreadsheet-container .dash-cell {
    background-color: var(--light-card-bg) !important;
    border-color: var(--light-border) !important;
}
body.dark-theme .previous-page,
body.dark-theme .next-page,
body.dark-theme .page-number,
body.dark-theme .first-page,
body.dark-theme .last-page {
    background-color: #333 !important;
    color: var(--dark-text) !important;
    border: 1px solid var(--dark-border) !important;
}
body.dark-theme .current-page-number {
    background-color: var(--primary-color) !important;
    color: white !important;
}

/* Corrige a cor do texto no menu de perfil para o tema escuro */
body.dark-theme .dropdown-menu .fw-bold {
    color: var(--dark-text) !important;
}
body.dark-theme .dropdown-menu .text-muted {
    color: #adb5bd !important;
}

.navbar .dropdown-menu {
    position: absolute !important;
}

/* --- ESTILOS PARA A BARRA DE FILTROS FLUTUANTE --- */
#filter-bar-container {
    position: -webkit-sticky;
    position: sticky;
    top: 1.5rem;
    z-index: 1020;
}

/* --- ESTILOS PARA INPUTS NO TEMA ESCURO --- */
body.dark-theme #filter-property-id,
body.dark-theme #similar-property-id {
    color: #FFFFFF;
}
body.dark-theme #filter-property-id::placeholder,
body.dark-theme #similar-property-id::placeholder {
    color: rgba(255, 255, 255, 0.7);
    opacity: 1;
}


/* --- CORREÇÃO DO BOTÃO DE FECHAR DO MODAL NO TEMA ESCURO --- */
body.dark-theme .modal-header .btn-close {
    filter: invert(1) brightness(2);
}
