/* Fundo branco sólido para modo Light */
body:not(.dark-mode) {
    background-color: #FFFFFF !important;
    min-height: 100vh;
    color: #333;
}

/* ============================================
   ESTILOS PARA MODO LIGHT - PALETA NOVA
   ============================================ */

/* Navbar branca sólida no modo Light */
body:not(.dark-mode) .navbar-light,
body:not(.dark-mode) .navbar.bg-light {
    background-color: #FFFFFF !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    border-bottom: 1px solid #E5E7EB;
}

/* Links da navbar no modo Light */
body:not(.dark-mode) .navbar-light .navbar-nav .nav-link {
    color: #1F2937 !important;
    font-weight: 500;
    transition: color 0.3s ease;
}

body:not(.dark-mode) .navbar-light .navbar-nav .nav-link:hover {
    color: #2262EC !important;
}

body:not(.dark-mode) .navbar-light .navbar-nav .nav-link.active {
    color: #2262EC !important;
    font-weight: 600;
}

/* Botão de tema no modo Light */
body:not(.dark-mode) #theme-toggle {
    color: #1F2937 !important;
}

body:not(.dark-mode) #theme-toggle:hover {
    color: #2262EC !important;
}

/* Navbar toggler no modo Light */
body:not(.dark-mode) .navbar-toggler {
    border-color: #D1D5DB;
}

body:not(.dark-mode) .navbar-toggler:focus {
    box-shadow: 0 0 0 0.2rem rgba(34, 98, 236, 0.25);
    border-color: #2262EC;
}

/* Navbar brand no modo Light */
body:not(.dark-mode) .navbar-brand {
    color: #1F2937 !important;
    font-weight: 700;
}

body:not(.dark-mode) .navbar-brand:hover {
    color: #2262EC !important;
}

/* Textos principais no modo Light */
body:not(.dark-mode) h1,
body:not(.dark-mode) h2,
body:not(.dark-mode) h3,
body:not(.dark-mode) h4,
body:not(.dark-mode) h5,
body:not(.dark-mode) h6 {
    color: #1F2937 !important;
    font-weight: 600;
}

body:not(.dark-mode) p {
    color: #374151 !important;
}

/* Textos secundários e labels no modo Light */
body:not(.dark-mode) .text-muted,
body:not(.dark-mode) small,
body:not(.dark-mode) .form-text {
    color: #6B7280 !important;
}

body:not(.dark-mode) label,
body:not(.dark-mode) .form-label {
    color: #1F2937 !important;
    font-weight: 500;
}

/* Labels de checkbox e radio no modo Light */
body:not(.dark-mode) label input[type="checkbox"],
body:not(.dark-mode) label input[type="radio"] {
    margin-right: 0.5rem;
}

body:not(.dark-mode) label:not(.form-label) {
    color: #374151 !important;
    font-weight: 400;
}

/* Links no modo Light - azul principal */
body:not(.dark-mode) a:not(.btn):not(.nav-link):not(.back-link):not(.legal-back-link) {
    color: #2262EC !important;
    text-decoration: none;
    transition: color 0.3s ease, text-decoration 0.3s ease;
    font-weight: 500;
}

body:not(.dark-mode) a:not(.btn):not(.nav-link):not(.back-link):not(.legal-back-link):hover {
    color: #1E56D9 !important;
    text-decoration: underline;
}

/* Links alternativos */
body:not(.dark-mode) a.link-primary:not(.btn):not(.nav-link) {
    color: #2262EC !important;
    font-weight: 500;
}

body:not(.dark-mode) a.link-primary:not(.btn):not(.nav-link):hover {
    color: #1E56D9 !important;
    text-decoration: underline;
}

/* Links de voltar - estilo azul */
body:not(.dark-mode) .back-link {
    color: #2262EC !important;
    background-color: transparent !important;
    padding: 0.5rem 1rem !important;
    border-radius: 6px !important;
    display: inline-block !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
    text-align: center !important;
    margin-top: 2rem !important;
}

body:not(.dark-mode) .back-link:hover {
    background-color: #F0F5FF !important;
    color: #1E56D9 !important;
    text-decoration: underline !important;
}

/* Links legais de voltar */
body:not(.dark-mode) .legal-back-link {
    color: #2262EC !important;
    background-color: transparent !important;
    padding: 0.75rem 1.5rem !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
}

body:not(.dark-mode) .legal-back-link:hover {
    background-color: #F0F5FF !important;
    color: #1E56D9 !important;
    text-decoration: underline !important;
}

/* Botões primários no modo Light - azul #2262EC */
body:not(.dark-mode) .btn-primary {
    background-color: #2262EC !important;
    border: none;
    color: #F3FCFF !important;
    box-shadow: 0 2px 8px rgba(34, 98, 236, 0.25);
    transition: all 0.3s ease;
    font-weight: 500;
}

body:not(.dark-mode) .btn-primary:hover {
    background-color: #1E56D9 !important;
    box-shadow: 0 4px 12px rgba(34, 98, 236, 0.35);
    transform: translateY(-1px);
    color: #F3FCFF !important;
}

body:not(.dark-mode) .btn-primary:active {
    background-color: #1A4BC6 !important;
    transform: translateY(0);
}

/* Botões secundários no modo Light - cinza claro */
body:not(.dark-mode) .btn-secondary {
    background-color: #F3F4F6 !important;
    border: 1px solid #D1D5DB;
    color: #374151 !important;
    transition: all 0.3s ease;
    font-weight: 500;
}

body:not(.dark-mode) .btn-secondary:hover {
    background-color: #E5E7EB !important;
    border-color: #9CA3AF;
    color: #1F2937 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transform: translateY(-1px);
}

body:not(.dark-mode) .btn-secondary:active {
    background-color: #D1D5DB !important;
    transform: translateY(0);
}

/* Cards no modo Light - fundo azul muito claro #F0F5FF */
body:not(.dark-mode) .card {
    background-color: #F0F5FF !important;
    border: 1px solid #E0E7FF;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    border-radius: 8px;
}

body:not(.dark-mode) .card-title {
    color: #1F2937 !important;
    font-weight: 600;
}

body:not(.dark-mode) .card-text {
    color: #374151 !important;
}

body:not(.dark-mode) .card-text strong,
body:not(.dark-mode) .card strong,
body:not(.dark-mode) strong,
body:not(.dark-mode) b {
    color: #1F2937 !important;
    font-weight: 600;
}

/* Destaques com laranja e amarelo */
body:not(.dark-mode) .highlight-orange {
    color: #FF9000 !important;
    font-weight: 600;
}

body:not(.dark-mode) .highlight-yellow {
    color: #FFE522 !important;
    font-weight: 600;
}

body:not(.dark-mode) .bg-highlight-orange {
    background-color: #FFF4E6 !important;
    color: #B45309 !important;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
}

body:not(.dark-mode) .bg-highlight-yellow {
    background-color: #FFFBEB !important;
    color: #92400E !important;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
}

/* Form controls no modo Light */
body:not(.dark-mode) .form-control,
body:not(.dark-mode) .form-select {
    background-color: #FFFFFF;
    border: 1px solid #D1D5DB;
    color: #1F2937;
}

body:not(.dark-mode) .form-control:focus,
body:not(.dark-mode) .form-select:focus {
    background-color: #FFFFFF;
    border-color: #2262EC;
    box-shadow: 0 0 0 0.2rem rgba(34, 98, 236, 0.25);
    color: #1F2937;
}

/* Alerts no modo Light */
body:not(.dark-mode) .alert {
    background-color: #FFFFFF;
    border: 1px solid #E5E7EB;
    color: #374151;
}

body:not(.dark-mode) .alert-success {
    background-color: #F0FDF4;
    border-color: #86EFAC;
    color: #166534;
}

body:not(.dark-mode) .alert-danger {
    background-color: #FEF2F2;
    border-color: #FCA5A5;
    color: #991B1B;
}

body:not(.dark-mode) .alert-warning {
    background-color: #FFFBEB;
    border-color: #FFE522;
    color: #92400E;
}

body:not(.dark-mode) .alert-info {
    background-color: #F0F5FF;
    border-color: #2262EC;
    color: #1E40AF;
}

/* Text muted no modo Light */
body:not(.dark-mode) .text-muted {
    color: #6B7280 !important;
}

/* Container principal - garantir legibilidade */
body:not(.dark-mode) .container,
body:not(.dark-mode) .container-fluid {
    position: relative;
    z-index: 1;
}

/* Textos em containers sem cards */
body:not(.dark-mode) .container > h1,
body:not(.dark-mode) .container > h2,
body:not(.dark-mode) .container > h3,
body:not(.dark-mode) .container > h4,
body:not(.dark-mode) .container > h5,
body:not(.dark-mode) .container > h6,
body:not(.dark-mode) .container-fluid > h1,
body:not(.dark-mode) .container-fluid > h2,
body:not(.dark-mode) .container-fluid > h3,
body:not(.dark-mode) .container-fluid > h4,
body:not(.dark-mode) .container-fluid > h5,
body:not(.dark-mode) .container-fluid > h6 {
    color: #1F2937 !important;
}

body:not(.dark-mode) .container > p,
body:not(.dark-mode) .container-fluid > p {
    color: #374151 !important;
}

/* Páginas legais - ajustes específicos */
body:not(.dark-mode) .legal-content,
body:not(.dark-mode) .legal-section-content {
    color: #374151 !important;
}

body:not(.dark-mode) .legal-content p,
body:not(.dark-mode) .legal-section-content p {
    color: #374151 !important;
}

body:not(.dark-mode) .legal-content a,
body:not(.dark-mode) .legal-section-content a {
    color: #2262EC !important;
    font-weight: 500;
}

body:not(.dark-mode) .legal-content a:hover,
body:not(.dark-mode) .legal-section-content a:hover {
    color: #1E56D9 !important;
    text-decoration: underline;
}

body:not(.dark-mode) .legal-title,
body:not(.dark-mode) .legal-section-title {
    color: #1F2937 !important;
}

body:not(.dark-mode) .legal-intro {
    color: #6B7280 !important;
}

/* Links em listas */
body:not(.dark-mode) li > a:not(.btn):not(.nav-link) {
    color: #2262EC !important;
    font-weight: 500;
}

body:not(.dark-mode) li > a:not(.btn):not(.nav-link):hover {
    color: #1E56D9 !important;
    text-decoration: underline;
}

/* Textos em divs e spans */
body:not(.dark-mode) div:not(.card):not(.alert):not(.navbar) {
    color: inherit;
}

/* Garantir que textos em formulários tenham contraste */
body:not(.dark-mode) form p,
body:not(.dark-mode) form label:not(.form-label) {
    color: #374151 !important;
}

/* Botões de link no modo Light */
body:not(.dark-mode) .btn-link {
    color: #2262EC !important;
    font-weight: 500;
    text-decoration: none;
}

body:not(.dark-mode) .btn-link:hover {
    color: #1E56D9 !important;
    text-decoration: underline;
}

/* Textos em alertas */
body:not(.dark-mode) .alert p {
    color: inherit;
}

/* Estilos para modo escuro */
body.dark-mode {
    background-color: #0d1117;
    color: #c9d1d9;
}

body.dark-mode .navbar {
    background-color: #010409 !important;
    border-bottom: 1px solid #161b22;
}

body.dark-mode .navbar-light {
    background-color: #010409 !important;
}

body.dark-mode .navbar-light .navbar-nav .nav-link {
    color: #c9d1d9 !important;
}

body.dark-mode .navbar-light .navbar-nav .nav-link:hover {
    color: #007D3F !important;
}

/* Estilos para o botão hambúrguer (navbar-toggler) no modo escuro */
body.dark-mode .navbar-toggler {
    border-color: #21262d;
    background-color: transparent;
}

body.dark-mode .navbar-toggler:focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 125, 63, 0.25);
    border-color: #007D3F;
}

body.dark-mode .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28201, 209, 217, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

body.dark-mode .card {
    background-color: #0d1117;
    border-color: #21262d;
    color: #c9d1d9;
}

body.dark-mode .form-control,
body.dark-mode .form-select {
    background-color: #0d1117;
    border-color: #21262d;
    color: #c9d1d9;
}

body.dark-mode .form-control:focus,
body.dark-mode .form-select:focus {
    background-color: #0d1117;
    border-color: #007D3F;
    color: #c9d1d9;
    box-shadow: 0 0 0 0.2rem rgba(0, 125, 63, 0.25);
}

body.dark-mode .btn-primary {
    background-color: #007D3F;
    border-color: #007D3F;
    color: #ffffff !important;
}

body.dark-mode .btn-primary:hover {
    background-color: #006a33;
    border-color: #006a33;
    color: #ffffff !important;
}

body.dark-mode .btn-secondary {
    background-color: #6c757d;
    border-color: #6c757d;
    color: #ffffff !important;
}

body.dark-mode .btn-secondary:hover {
    background-color: #5a6268;
    border-color: #5a6268;
    color: #ffffff !important;
}

/* Estilos para todos os botões (exceto btn-link) */
body.dark-mode .btn:not(.btn-link) {
    color: #ffffff !important;
}

body.dark-mode .btn-lg:not(.btn-link) {
    color: #ffffff !important;
}

body.dark-mode .btn-sm:not(.btn-link) {
    color: #ffffff !important;
}

body.dark-mode button.btn:not(.btn-link) {
    color: #ffffff !important;
}

body.dark-mode a.btn:not(.btn-link) {
    color: #ffffff !important;
}

body.dark-mode .btn:not(.btn-link) * {
    color: #ffffff !important;
}

body.dark-mode .btn-primary *,
body.dark-mode .btn-secondary * {
    color: #ffffff !important;
}

body.dark-mode .btn-primary.btn-lg,
body.dark-mode .btn-secondary.btn-lg {
    color: #ffffff !important;
}

body.dark-mode .btn-primary.btn-lg *,
body.dark-mode .btn-secondary.btn-lg * {
    color: #ffffff !important;
}

body.dark-mode a.btn-primary,
body.dark-mode a.btn-secondary {
    color: #ffffff !important;
}

body.dark-mode button.btn-primary,
body.dark-mode button.btn-secondary {
    color: #ffffff !important;
}

body.dark-mode .alert {
    background-color: #0d1117;
    border-color: #21262d;
    color: #c9d1d9;
}

body.dark-mode .alert-danger {
    background-color: #4a1f1f;
    border-color: #6b2a2a;
    color: #ffcccc;
}

body.dark-mode .alert-success {
    background-color: #1f4a1f;
    border-color: #2a6b2a;
    color: #ccffcc;
}

body.dark-mode .alert-warning {
    background-color: #3d2f1f;
    border-color: #5a4426;
    color: #ffd9b3;
}

body.dark-mode #ai-disclaimer .alert-warning {
    background-color: #3d2f1f;
    border-color: #5a4426;
    border-left-color: #ffc107;
    color: #ffd9b3;
}

body.dark-mode #ai-disclaimer .alert-link {
    color: #ffd9b3;
    text-decoration: underline;
}

body.dark-mode #ai-disclaimer .alert-link:hover {
    color: #fff;
}

body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6 {
    color: #c9d1d9;
}

body.dark-mode #result,
body.dark-mode #insights,
body.dark-mode #sentiment-result {
    color: #c9d1d9;
}

body.dark-mode #result p,
body.dark-mode #insights p {
    color: #b1bac4;
}

body.dark-mode .form-label {
    color: #c9d1d9;
}

body.dark-mode #theme-toggle {
    color: #c9d1d9;
}

body.dark-mode #theme-toggle:hover {
    color: #007D3F;
}

body.dark-mode a:not(.btn) {
    color: #007D3F;
}

body.dark-mode a:not(.btn):hover {
    color: #006a33;
}

body.dark-mode .text-center {
    color: #c9d1d9;
}

body.dark-mode .card-title {
    color: #c9d1d9;
}

body.dark-mode .card-text {
    color: #b1bac4;
}

body.dark-mode .card-text strong {
    color: #c9d1d9;
}

body.dark-mode .card strong {
    color: #c9d1d9;
}

body.dark-mode strong {
    color: #c9d1d9;
}

body.dark-mode .text-muted {
    color: #8b949e !important;
}

body.dark-mode .btn-link {
    color: #c9d1d9;
}

body.dark-mode .btn-link:hover {
    color: #007D3F;
}

body.dark-mode input[type="checkbox"] {
    filter: invert(1) hue-rotate(180deg);
}

body.dark-mode .g-recaptcha {
    filter: invert(1) hue-rotate(180deg);
}

/* Estilos para páginas legais */
body.dark-mode .legal-content a {
    color: #007D3F;
}

body.dark-mode .legal-content a:hover {
    color: #00a050;
}

/* Transição suave entre modos */
body {
    transition: background-color 0.3s ease, color 0.3s ease;
}

.navbar,
.card,
.form-control,
.form-select,
.btn,
.alert {
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

