/* _content/SAM.Web/Components/Layout/MainLayout.razor.rz.scp.css */
/* ==================================================
   SAM.gov Scanner - CSS Global
   Suporte a Dark Mode e Light Mode
   ================================================== */

/* Reset e variáveis globais - PREMIUM GOLD THEME */
:root[b-ejpruyk6b2] {
    --color-bg-dark: #0A0A0C;
    --color-bg-card: #1A1A1D;
    --color-bg-card-hover: #2C2C31;
    --color-accent: #D4AF37;
    --color-accent-hover: #FFD700;
    --color-text-light: #F5F5F5;
    --color-text-muted: #A8A8A8;
    --color-success: #2ECC71;
    --color-danger: #FF5C5C;
    --color-warning: #F2C94C;
    --color-info: #56CCF2;
}

/* ===== Forçar cores corretas para evitar texto preto no modo escuro ===== */
.dark-mode[b-ejpruyk6b2],
.dark-mode *:not(input):not(select):not(textarea)[b-ejpruyk6b2] {
    color: inherit;
}

.dark-mode body[b-ejpruyk6b2],
.dark-mode div[b-ejpruyk6b2],
.dark-mode span[b-ejpruyk6b2],
.dark-mode p[b-ejpruyk6b2],
.dark-mode h1[b-ejpruyk6b2],
.dark-mode h2[b-ejpruyk6b2],
.dark-mode h3[b-ejpruyk6b2],
.dark-mode h4[b-ejpruyk6b2],
.dark-mode h5[b-ejpruyk6b2],
.dark-mode h6[b-ejpruyk6b2],
.dark-mode label[b-ejpruyk6b2],
.dark-mode li[b-ejpruyk6b2],
.dark-mode td[b-ejpruyk6b2],
.dark-mode th[b-ejpruyk6b2],
.dark-mode strong[b-ejpruyk6b2],
.dark-mode a:not(.btn)[b-ejpruyk6b2] {
    color: var(--text-primary, #ffffff) !important;
}

/* Textos específicos no modo escuro - usar cores vibrantes */
.dark-mode .text-dark[b-ejpruyk6b2],
.dark-mode .black-text[b-ejpruyk6b2] {
    color: #4ade80 !important;
}

.dark-mode .text-muted[b-ejpruyk6b2],
.dark-mode small[b-ejpruyk6b2] {
    color: var(--text-secondary, #a0a0b0) !important;
}

/* Bootstrap Overrides para Dark Mode */
.dark-mode .modal-body[b-ejpruyk6b2],
.dark-mode .modal-content[b-ejpruyk6b2] {
    color: var(--text-primary, #ffffff);
    background: var(--bg-secondary, #2d2d44);
}

.dark-mode .modal-header[b-ejpruyk6b2] {
    color: var(--text-primary, #ffffff);
}

.dark-mode .form-control[b-ejpruyk6b2],
.dark-mode .form-select[b-ejpruyk6b2] {
    color: var(--text-primary, #ffffff);
    background-color: var(--bg-primary, #1a1a2e);
    border-color: var(--border-color);
}

.dark-mode .form-control[b-ejpruyk6b2]::placeholder {
    color: var(--text-muted, #707080);
}

.dark-mode .list-group-item[b-ejpruyk6b2] {
    color: var(--text-primary, #ffffff);
    background-color: var(--bg-primary, #1a1a2e);
    border-color: var(--border-light);
}

.dark-mode .alert[b-ejpruyk6b2] {
    color: var(--text-primary, #ffffff);
}

.dark-mode .card[b-ejpruyk6b2],
.dark-mode .card-body[b-ejpruyk6b2] {
    color: var(--text-primary, #ffffff);
    background-color: var(--bg-secondary, #2d2d44);
}

.dark-mode .dropdown-menu[b-ejpruyk6b2] {
    background-color: var(--bg-secondary, #2d2d44);
    border-color: var(--border-color);
}

.dark-mode .dropdown-item[b-ejpruyk6b2] {
    color: var(--text-primary, #ffffff);
}

.dark-mode .dropdown-item:hover[b-ejpruyk6b2] {
    background-color: var(--bg-tertiary, #3d3d54);
}

/* ===== Forçar cores corretas para Light Mode ===== */
.light-mode body[b-ejpruyk6b2],
.light-mode div[b-ejpruyk6b2],
.light-mode span[b-ejpruyk6b2],
.light-mode p[b-ejpruyk6b2],
.light-mode h1[b-ejpruyk6b2],
.light-mode h2[b-ejpruyk6b2],
.light-mode h3[b-ejpruyk6b2],
.light-mode h4[b-ejpruyk6b2],
.light-mode h5[b-ejpruyk6b2],
.light-mode h6[b-ejpruyk6b2],
.light-mode label[b-ejpruyk6b2],
.light-mode li[b-ejpruyk6b2],
.light-mode td[b-ejpruyk6b2],
.light-mode th[b-ejpruyk6b2] {
    color: var(--text-primary, #1a1a2e);
}

.light-mode .text-muted[b-ejpruyk6b2],
.light-mode small[b-ejpruyk6b2] {
    color: var(--text-secondary, #4a5568) !important;
}

/* ===== Page Base Styles ===== */
.page[b-ejpruyk6b2] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: var(--bg-primary, var(--color-bg-dark));
    color: var(--text-primary, var(--color-text-light));
}

/* Header */
header[b-ejpruyk6b2] {
    background: var(--bg-secondary, linear-gradient(135deg, var(--color-bg-dark) 0%, #16162a 100%));
    border-bottom: 1px solid var(--border-color, rgba(196, 248, 76, 0.2));
    padding: 15px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.company-name[b-ejpruyk6b2] {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--text-primary, var(--color-text-light));
    display: flex;
    align-items: center;
    gap: 10px;
}

.company-name .logo[b-ejpruyk6b2] {
    color: var(--accent, var(--color-accent));
}

.app-title[b-ejpruyk6b2] {
    font-size: 0.9rem;
    color: var(--accent, var(--color-accent));
    font-weight: 500;
}

/* Sidebar/Navigation */
.sidebar[b-ejpruyk6b2] {
    background-color: var(--bg-secondary, var(--color-bg-card));
    width: 250px;
    padding: 20px;
    border-right: 1px solid var(--border-color, rgba(196, 248, 76, 0.1));
}

.nav-link[b-ejpruyk6b2] {
    color: var(--text-secondary, var(--color-text-muted));
    padding: 12px 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 5px;
    transition: all 0.3s ease;
    text-decoration: none;
}

.nav-link:hover[b-ejpruyk6b2] {
    background-color: var(--bg-tertiary, var(--color-bg-card-hover));
    color: var(--text-primary, var(--color-text-light));
}

.nav-link.active[b-ejpruyk6b2] {
    background-color: var(--accent, var(--color-accent));
    color: var(--bg-primary, var(--color-bg-dark));
    font-weight: 600;
}

/* Main content */
main[b-ejpruyk6b2] {
    flex: 1;
    padding: 30px;
    background-color: var(--bg-primary, var(--color-bg-dark));
}

article[b-ejpruyk6b2] {
    max-width: 1400px;
    margin: 0 auto;
}

/* Footer */
footer[b-ejpruyk6b2] {
    background: var(--bg-secondary, linear-gradient(135deg, #16162a 0%, var(--color-bg-dark) 100%));
    border-top: 1px solid var(--border-color, rgba(196, 248, 76, 0.2));
    padding: 20px 30px;
    text-align: center;
}

.footer-content[b-ejpruyk6b2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
}

.copyright[b-ejpruyk6b2] {
    color: var(--text-muted, var(--color-text-muted));
    font-size: 0.85rem;
}

.footer-links[b-ejpruyk6b2] {
    display: flex;
    gap: 20px;
}

.footer-link[b-ejpruyk6b2] {
    color: var(--text-muted, var(--color-text-muted));
    text-decoration: none;
    font-size: 0.85rem;
    transition: color 0.3s ease;
}

.footer-link:hover[b-ejpruyk6b2] {
    color: var(--accent, var(--color-accent));
}

/* Responsive */
@media (max-width: 768px) {
    header[b-ejpruyk6b2] {
        flex-direction: column;
        gap: 10px;
    }
    
    .footer-content[b-ejpruyk6b2] {
        flex-direction: column;
        gap: 15px;
    }
}

/* Scrollbar customizada */
[b-ejpruyk6b2]::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

[b-ejpruyk6b2]::-webkit-scrollbar-track {
    background: var(--bg-primary, var(--color-bg-dark));
}

[b-ejpruyk6b2]::-webkit-scrollbar-thumb {
    background: var(--bg-secondary, var(--color-bg-card));
    border-radius: 4px;
}

[b-ejpruyk6b2]::-webkit-scrollbar-thumb:hover {
    background: var(--accent, var(--color-accent));
}

/* ===== Correções de input/select para ambos os temas ===== */
input[b-ejpruyk6b2], select[b-ejpruyk6b2], textarea[b-ejpruyk6b2] {
    color: var(--text-primary) !important;
    background-color: var(--bg-primary) !important;
    border-color: var(--border-color) !important;
}

input[b-ejpruyk6b2]::placeholder {
    color: var(--text-muted) !important;
}

/* ===== Buttons ===== */
.btn-primary[b-ejpruyk6b2] {
    background-color: var(--accent) !important;
    border-color: var(--accent) !important;
    color: var(--bg-primary) !important;
}

.btn-primary:hover[b-ejpruyk6b2] {
    background-color: var(--accent-hover) !important;
    border-color: var(--accent-hover) !important;
}

.btn-secondary[b-ejpruyk6b2] {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

.btn-success[b-ejpruyk6b2] {
    background-color: var(--success) !important;
    border-color: var(--success) !important;
}

.btn-danger[b-ejpruyk6b2] {
    background-color: var(--danger) !important;
    border-color: var(--danger) !important;
}

/* ===== Table Fixes ===== */
.table[b-ejpruyk6b2] {
    color: var(--text-primary);
}

.table thead th[b-ejpruyk6b2] {
    color: var(--accent);
    background-color: var(--bg-primary);
    border-color: var(--border-color);
}

.table tbody td[b-ejpruyk6b2] {
    color: var(--text-primary);
    background-color: var(--bg-secondary);
    border-color: var(--border-light);
}

.table-hover tbody tr:hover td[b-ejpruyk6b2] {
    background-color: var(--bg-tertiary);
}

/* ===== MODO ESCURO - Correção de texto preto nas tabelas ===== */
.dark-mode .table tbody td[b-ejpruyk6b2],
.dark-mode .table tbody td span[b-ejpruyk6b2],
.dark-mode .table tbody td strong[b-ejpruyk6b2],
.dark-mode .table tbody td small[b-ejpruyk6b2],
.dark-mode .table tbody td div[b-ejpruyk6b2],
.dark-mode .table th[b-ejpruyk6b2],
.dark-mode .table td[b-ejpruyk6b2] {
    color: #D4AF37 !important;
}

.dark-mode .table td .text-muted[b-ejpruyk6b2],
.dark-mode .table td small.text-muted[b-ejpruyk6b2] {
    color: #A8A8A8 !important;
}

.dark-mode .table tbody td .text-danger[b-ejpruyk6b2],
.dark-mode .table tbody td span.text-danger[b-ejpruyk6b2] {
    color: #FF5C5C !important;
}

.dark-mode .table tbody td .opp-title[b-ejpruyk6b2],
.dark-mode .table tbody td .opp-id[b-ejpruyk6b2] {
    color: #D4AF37 !important;
}

.dark-mode .table tbody td .agency-name[b-ejpruyk6b2] {
    color: #D4AF37 !important;
}

.dark-mode .table tbody td .archive-reason[b-ejpruyk6b2] {
    color: #A8A8A8 !important;
}

/* Correção para campo de busca no modo escuro */
.dark-mode input.form-control[b-ejpruyk6b2],
.dark-mode select.form-select[b-ejpruyk6b2],
.dark-mode textarea.form-control[b-ejpruyk6b2] {
    color: #D4AF37 !important;
    background-color: #1a1a2e !important;
    border-color: #D4AF37 !important;
}

.dark-mode input.form-control[b-ejpruyk6b2]::placeholder {
    color: #A8A8A8 !important;
}

.dark-mode .form-control:focus[b-ejpruyk6b2],
.dark-mode .form-select:focus[b-ejpruyk6b2] {
    color: #D4AF37 !important;
    background-color: #1a1a2e !important;
    border-color: #FFD700 !important;
    box-shadow: 0 0 0 0.2rem rgba(212, 175, 55, 0.25) !important;
}

/* ===== Badge Fixes ===== */
.badge[b-ejpruyk6b2] {
    color: var(--text-primary);
}

.badge.bg-primary[b-ejpruyk6b2] {
    background-color: var(--accent) !important;
    color: var(--bg-primary) !important;
}

.badge.bg-secondary[b-ejpruyk6b2] {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

.badge.bg-success[b-ejpruyk6b2] {
    background-color: var(--success) !important;
}

.badge.bg-danger[b-ejpruyk6b2] {
    background-color: var(--danger) !important;
}

.badge.bg-warning[b-ejpruyk6b2] {
    background-color: var(--warning) !important;
    color: var(--bg-primary) !important;
}

.badge.bg-info[b-ejpruyk6b2] {
    background-color: var(--info) !important;
}

/* ===== Padronização dos Botões Verdes ===== */
.btn-success[b-ejpruyk6b2],
.btn-primary.btn-green[b-ejpruyk6b2],
button.btn-success[b-ejpruyk6b2],
a.btn-success[b-ejpruyk6b2] {
    background-color: #4ade80 !important;
    border-color: #4ade80 !important;
    color: #1a1a2e !important;
    font-weight: 600 !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.btn-success:hover[b-ejpruyk6b2],
.btn-primary.btn-green:hover[b-ejpruyk6b2] {
    background-color: #22c55e !important;
    border-color: #22c55e !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(74, 222, 128, 0.4) !important;
}

.btn-success:disabled[b-ejpruyk6b2],
.btn-primary.btn-green:disabled[b-ejpruyk6b2] {
    background-color: #86efac !important;
    border-color: #86efac !important;
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* Botões pequenos mantém proporção */
.btn-success.btn-sm[b-ejpruyk6b2] {
    padding: 8px 16px !important;
    min-height: 36px !important;
    font-size: 0.875rem !important;
}

/* Botões grandes */
.btn-success.btn-lg[b-ejpruyk6b2] {
    padding: 14px 28px !important;
    min-height: 52px !important;
    font-size: 1.125rem !important;
}

/* ===== Loading Spinner Styles ===== */
.spinner-analyzing[b-ejpruyk6b2] {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 3px solid rgba(74, 222, 128, 0.3);
    border-radius: 50%;
    border-top-color: #4ade80;
    animation: spin-b-ejpruyk6b2 0.8s linear infinite;
}

@keyframes spin-b-ejpruyk6b2 {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Loading row indicator */
.analyzing-row[b-ejpruyk6b2] {
    position: relative;
    background: rgba(74, 222, 128, 0.1) !important;
}

.analyzing-row[b-ejpruyk6b2]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, #4ade80 0%, #22c55e 100%);
    animation: pulse-b-ejpruyk6b2 1.5s ease-in-out infinite;
}

@keyframes pulse-b-ejpruyk6b2 {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.analyzing-indicator[b-ejpruyk6b2] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: rgba(74, 222, 128, 0.15);
    border: 1px solid rgba(74, 222, 128, 0.3);
    border-radius: 20px;
    color: #4ade80;
    font-weight: 600;
    font-size: 0.85rem;
}

.analyzing-indicator .spinner-analyzing[b-ejpruyk6b2] {
    width: 16px;
    height: 16px;
    border-width: 2px;
}
