/* Reset de .sticky-top para aplicar tema corretamente */
.sticky-top {
    background: transparent !important;
    background-color: transparent !important;
}

html[data-theme="dark"] .sticky-top {
    background-color: transparent !important;
    background: transparent !important;
}

/* Variáveis para tema claro (padrão) */
:root {
    --primary-color: #4e73df;
    --secondary-color: #6f42c1;
    --success-color: #1cc88a;
    --info-color: #36b9cc;
    --warning-color: #f6c23e;
    --danger-color: #e74a3b;
    --light-color: #f8f9fc;
    --dark-color: #666;
    --body-bg: #f8f9fc;
    --body-color: #444;
    --card-bg: #ffffff;
    --card-border: #e3e6f0;
    --header-bg: #ffffff;
    --footer-bg: #f8f9fc;
    --input-bg: #ffffff;
    --input-border: #d1d3e2;
    --input-color: #6e707e;
    --navbar-bg: #ffffff;
    --navbar-color: #6e707e;
    --dropdown-bg: #ffffff;
    --dropdown-color: #444;
    --dropdown-hover-bg: #eaecf4;
}

/* Variáveis para tema escuro */
[data-theme="dark"] {
    --primary-color: #6f8efd;
    --secondary-color: #9370db;
    --success-color: #2ecc89;
    --info-color: #48cae4;
    --warning-color: #f9c74f;
    --danger-color: #e76f51;
    --body-bg: #2e3440;
    --body-color: #d8dee9;
    --card-bg: #3b4252;
    --card-border: #4c566a;
    --header-bg: #3b4252;
    --footer-bg: #3b4252;
    --input-bg: #434c5e;
    --input-border: #4c566a;
    --input-color: #eceff4;
    --navbar-bg: #3b4252;
    --navbar-color: #eceff4;
    --dropdown-bg: #434c5e;
    --dropdown-color: #d8dee9;
    --dropdown-hover-bg: #4c566a;
}

/* Aplicação das variáveis de tema */
body {
    background-color: var(--body-bg);
    color: var(--body-color);
}

.navbar {
    background-color: var(--navbar-bg) !important;
}

.navbar-brand,
.navbar-nav .nav-link {
    color: var(--navbar-color) !important;
}

[data-theme="dark"] .navbar {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.3) 0%, rgba(118, 75, 162, 0.3) 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
}

[data-theme="dark"] .navbar-brand,
[data-theme="dark"] .navbar-nav .nav-link {
    color: #eceff4 !important;
}

.card {
    background-color: var(--card-bg);
    border-color: var(--card-border);
}

.card-header {
    background-color: var(--header-bg);
    border-bottom-color: var(--card-border);
    color: var(--body-color);
}

.form-control {
    background-color: var(--input-bg);
    border-color: var(--input-border);
    color: var(--input-color);
}

.form-control::placeholder {
    color: var(--input-color);
    opacity: 0.8 !important;
}

.form-control:focus {
    background-color: var(--input-bg);
    border-color: var(--primary-color);
    color: var(--input-color);
    box-shadow: 0 0 0 0.2rem rgba(111, 142, 253, 0.25);
}

.form-label {
    color: var(--body-color);
}

.dropdown-menu {
    background-color: var(--dropdown-bg);
    border-color: var(--card-border);
}

.dropdown-item {
    color: var(--dropdown-color);
}

.dropdown-item:hover {
    background-color: var(--dropdown-hover-bg);
    color: var(--dropdown-color);
}

footer {
    background-color: var(--footer-bg) !important;
}

.list-group-item {
    background-color: var(--card-bg);
    border-color: var(--card-border);
    color: var(--body-color);
}

.list-group-item.active {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

/* Ajustes para modo de impressão */
@media print {
    [data-theme="dark"] {
        --body-bg: #ffffff;
        --body-color: #000000;
        --card-bg: #ffffff;
        --card-border: #dddddd;
    }
    
    .navbar, .btn, .theme-toggle, .back-to-top {
        display: none !important;
    }
}

/* Glassmorphism enhancements */
.form-control {
    border: 2px solid var(--input-border);
}

[data-theme="dark"] .form-control {
    border: 2px solid rgba(76, 86, 106, 0.5);
}

.card-header {
    border-bottom: 1px solid var(--card-border);
}

.btn-glass {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: var(--body-color);
    transition: all 0.3s ease;
}

.btn-glass:hover {
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(12px);
    transform: translateY(-2px);
}

[data-theme="dark"] .btn-glass {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .btn-glass:hover {
    background: rgba(255, 255, 255, 0.1);
}

/* Dark theme for hero section */
[data-theme="dark"] .hero-section {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.2) 0%, rgba(118, 75, 162, 0.2) 100%) !important;
    color: var(--body-color);
}

[data-theme="dark"] section {
    background-color: var(--body-bg);
}

[data-theme="dark"] .card {
    background: rgba(59, 66, 82, 0.6);
    border: 1px solid rgba(111, 142, 253, 0.2);
}

[data-theme="dark"] .text-muted {
    color: rgba(216, 222, 233, 0.7) !important;
}

[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5 {
    color: var(--body-color);
}

/* Dark theme navbar dropdown */
[data-theme="dark"] .dropdown-menu {
    background-color: #434c5e;
    border-color: #4c566a;
}

[data-theme="dark"] .dropdown-item {
    color: #d8dee9;
}

[data-theme="dark"] .dropdown-item:hover {
    background-color: #4c566a;
    color: #88c0d0;
}
/* Tema escuro para seção Como Funciona na home */
html[data-theme="dark"] section:has(.card) .card {
    background: rgba(75, 86, 106, 0.6) !important;
    border: 1px solid rgba(111, 142, 253, 0.2);
}

/* Footer em tema escuro com gradient como header */
html[data-theme="dark"] footer {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.3) 0%, rgba(118, 75, 162, 0.3) 100%) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* Tabelas em tema escuro */
html[data-theme="dark"] .table {
    /* Sobrescreve as variáveis do Bootstrap para tabelas listradas */
    --bs-table-striped-bg: transparent !important;
    --bs-table-hover-bg: rgba(102, 126, 234, 0.15) !important;
    --bs-table-accent-bg: transparent !important;
    --bs-table-bg: transparent !important;
    --bs-table-striped-color: #d8dee9 !important;
    --bs-table-hover-color: #d8dee9 !important;
    --bs-table-active-bg: transparent !important;
    --bs-table-active-color: #d8dee9 !important;
    --bs-table-color: #d8dee9 !important;
    --bs-table-border-color: rgba(111, 142, 253, 0.15) !important;
    background-color: transparent !important;
    color: #d8dee9 !important;
}

/* Força transparência em TODAS as linhas de tabela */
html[data-theme="dark"] .table tbody tr {
    background-color: transparent !important;
    border-bottom: 1px solid rgba(111, 142, 253, 0.15) !important;
}

html[data-theme="dark"] .table tbody tr:nth-child(odd) {
    background-color: transparent !important;
}

html[data-theme="dark"] .table tbody tr:nth-child(even) {
    background-color: transparent !important;
}

/* Especificidade dupla para Bootstrap striped */
html[data-theme="dark"] .table.table-striped tbody tr {
    background-color: transparent !important;
}

html[data-theme="dark"] .table.table-striped tbody tr:nth-of-type(odd) {
    background-color: transparent !important;
}

html[data-theme="dark"] .table.table-striped tbody tr:nth-of-type(even) {
    background-color: transparent !important;
}

/* Especificidade tripla para quando está dentro de card */
html[data-theme="dark"] .card .table.table-striped tbody tr,
html[data-theme="dark"] .table-responsive .table.table-striped tbody tr {
    background-color: transparent !important;
}

/* Header da tabela */
html[data-theme="dark"] .table thead {
    background-color: rgba(102, 126, 234, 0.3) !important;
    border-bottom: 2px solid rgba(111, 142, 253, 0.5) !important;
}

html[data-theme="dark"] .table thead th {
    background-color: transparent !important;
    border-bottom: none !important;
    color: #eceff4 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    font-size: 0.85rem;
}

/* Células de dados */
html[data-theme="dark"] .table tbody td {
    color: #d8dee9 !important;
    border-color: rgba(111, 142, 253, 0.15) !important;
    background-color: transparent !important;
}

/* Hover em ANY table type */
html[data-theme="dark"] .table tbody tr:hover {
    background-color: rgba(102, 126, 234, 0.15) !important;
    color: #d8dee9 !important;
}

html[data-theme="dark"] .table.table-hover tbody tr:hover {
    background-color: rgba(102, 126, 234, 0.15) !important;
    color: #d8dee9 !important;
}

/* Financial section em tema escuro */
html[data-theme="dark"] .financial-section {
    background-color: rgba(59, 66, 82, 0.8) !important;
    border-color: rgba(111, 142, 253, 0.3) !important;
}

html[data-theme="dark"] .financial-section h6 {
    color: #6f8efd !important;
}

html[data-theme="dark"] .financial-item {
    border-bottom-color: rgba(111, 142, 253, 0.15) !important;
}

/* Indicadores de performance em tema escuro */
html[data-theme="dark"] .indicator-value {
    color: #eceff4 !important;
}

html[data-theme="dark"] .indicator-icon {
    color: #6f8efd !important;
}

/* Form Navigation Sticky - Tema Escuro */
html[data-theme="dark"] #form-nav.form-nav,
html[data-theme="dark"] #form-nav.form-nav.sticky-top,
html[data-theme="dark"] nav#form-nav {
    background-color: rgba(46, 52, 64, 0.95) !important;
    background: rgba(46, 52, 64, 0.95) !important;
    border-bottom: 2px solid rgba(111, 142, 253, 0.4) !important;
    padding: 0.75rem 0 !important;
    margin-bottom: 2rem !important;
    backdrop-filter: blur(10px) !important;
    z-index: 990 !important;
}

html[data-theme="dark"] #form-nav.form-nav .nav-wrapper {
    display: flex !important;
    gap: 0.5rem !important;
    overflow-x: auto !important;
    flex-wrap: wrap !important;
    padding: 0 1rem !important;
}

html[data-theme="dark"] #form-nav.form-nav .nav-link {
    white-space: nowrap !important;
    padding: 0.5rem 1rem !important;
    border-radius: 6px !important;
    color: #d8dee9 !important;
    text-decoration: none !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
    background-color: transparent !important;
    background: transparent !important;
}

html[data-theme="dark"] #form-nav.form-nav .nav-link:hover {
    background-color: rgba(102, 126, 234, 0.2) !important;
    background: rgba(102, 126, 234, 0.2) !important;
    color: #6f8efd !important;
}

html[data-theme="dark"] #form-nav.form-nav .nav-link.active {
    background-color: rgba(102, 126, 234, 0.35) !important;
    background: rgba(102, 126, 234, 0.35) !important;
    color: #6f8efd !important;
    border-bottom: 3px solid #6f8efd !important;
}

/* Form Navigation Sticky - Tema Claro */
body:not([data-theme="dark"]) #form-nav.form-nav,
body:not([data-theme="dark"]) #form-nav.form-nav.sticky-top,
body:not([data-theme="dark"]) nav#form-nav {
    background-color: rgba(248, 249, 252, 0.95) !important;
    background: rgba(248, 249, 252, 0.95) !important;
    border-bottom: 2px solid rgba(78, 115, 223, 0.3) !important;
    padding: 0.75rem 0 !important;
    margin-bottom: 2rem !important;
    backdrop-filter: blur(10px) !important;
    z-index: 990 !important;
}

body:not([data-theme="dark"]) #form-nav.form-nav .nav-wrapper {
    display: flex !important;
    gap: 0.5rem !important;
    overflow-x: auto !important;
    flex-wrap: wrap !important;
    padding: 0 1rem !important;
}

body:not([data-theme="dark"]) #form-nav.form-nav .nav-link {
    white-space: nowrap !important;
    padding: 0.5rem 1rem !important;
    border-radius: 6px !important;
    color: #666 !important;
    text-decoration: none !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
    background-color: transparent !important;
    background: transparent !important;
}

body:not([data-theme="dark"]) #form-nav.form-nav .nav-link:hover {
    background-color: rgba(78, 115, 223, 0.15) !important;
    background: rgba(78, 115, 223, 0.15) !important;
    color: #4e73df !important;
}

body:not([data-theme="dark"]) #form-nav.form-nav .nav-link.active {
    background-color: rgba(78, 115, 223, 0.2) !important;
    background: rgba(78, 115, 223, 0.2) !important;
    color: #4e73df !important;
    border-bottom: 3px solid #4e73df !important;
}

/* Scroll margin para seções do formulário não ficarem debaixo do menu */
#info-basicas,
#descricao,
#produtos,
#mercado,
#marketing,
#operacional,
#financeiro,
#financeiro-detalhado,
#acao,
#contingencia {
    scroll-margin-top: 120px;
}