:root {
    --cor-primaria: #1e40af;
    --cor-secundaria: #3b82f6;
}

body {
    font-family: 'Inter', system-ui, sans-serif;
    background-color: #f8fafc;
}

/* Customizações Tailwind */
.bg-primaria {
    background-color: var(--cor-primaria) !important;
}

.text-primaria {
    color: var(--cor-primaria) !important;
}

.border-primaria {
    border-color: var(--cor-primaria) !important;
}

.hover\:bg-secundaria:hover {
    background-color: var(--cor-secundaria) !important;
}

/* Utils */
.glass-effect {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
}

.fade-in {
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Loading Spinner */
.spinner {
    border: 3px solid rgba(0,0,0,0.1);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border-left-color: var(--cor-secundaria);
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Custom Scrollbar for Sidebar */
.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: transparent; 
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2); 
    border-radius: 10px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.4); 
}
/* Firefox */
.custom-scrollbar {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

/* 
 * Ajustes de UI solicitados:
 * 1. Maior contraste no fundo (Apenas no Light Mode, para não quebrar o Dark Mode)
 * 2. Inputs com cantos mais retos e mais espaço interno 
 * 3. Garantir contraste das cores de fontes (Textos e Labels não sumirem)
 */

:root:not(.dark) body {
    background-color: #E2E8F0 !important;
}

/* Forçar a cor da fonte do body e labels para um cinza mais escuro e legível no light mode */
:root:not(.dark) body .text-body,
:root:not(.dark) body label {
    color: #333A48 !important; 
}

/* Forçar Títulos para cor escura no light mode evitando que sumam na cor branca */
:root:not(.dark) body h1,
:root:not(.dark) body h2,
:root:not(.dark) body h3,
:root:not(.dark) body h4,
:root:not(.dark) body h5,
:root:not(.dark) body h6 {
    color: #1C2434 !important;
}

/* Customizações gerais de Inputs (Tamanho e Arredondamento) */
input[type="text"], 
input[type="email"], 
input[type="password"], 
input[type="number"], 
input[type="date"], 
select, 
textarea {
    border-radius: 4px !important; /* cantos quase retos */
    padding-top: 0.65rem !important;
    padding-bottom: 0.65rem !important;
    padding-right: 1rem !important;
    padding-left: 1rem; /* left default, sem important para deixar o tailwind sobrescrever caso tenha .pl-10 */
}

/* Força padding-left maior para inputs de busca (ícones internos) */
input[type="text"].pl-10 {
    padding-left: 2.5rem !important;
}

/* 
 * =============================================================
 * MODERN TABLE LAYOUT (Premium SaaS Design)
 * =============================================================
 */
.modern-table {
    border-collapse: separate !important;
    border-spacing: 0 8px !important; /* Espaço entre linhas */
    width: 100%;
}

/* --- THEAD (Cabeçalho - Cápsulas/Pílulas) --- */
.modern-table thead tr {
    background: transparent !important;
    border: none !important;
}

.modern-table thead th {
    font-weight: 600 !important;
    padding: 14px 16px !important;
    border: none !important;
    text-align: left;
}

.modern-table thead th:first-child {
    border-top-left-radius: 8px !important;
    border-bottom-left-radius: 8px !important;
}
.modern-table thead th:last-child {
    border-top-right-radius: 8px !important;
    border-bottom-right-radius: 8px !important;
}

/* Light Mode - Tons azuis pastéis no Thead */
:root:not(.dark) .modern-table thead th {
    background-color: #E0E7FF !important; /* Indigo sutil */
    color: #1E3A8A !important;
}

/* Light Mode - Linhas e Hover */
:root:not(.dark) .modern-table tbody tr {
    background-color: #FFFFFF !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
    transition: transform 0.2s, box-shadow 0.2s;
}
:root:not(.dark) .modern-table tbody tr:hover {
    box-shadow: 0 4px 6px rgba(0,0,0,0.08) !important;
    transform: translateY(-1px);
}
:root:not(.dark) .modern-table tbody td {
    padding: 12px 16px !important;
    border-top: 1px solid #F1F5F9 !important;
    border-bottom: 1px solid #F1F5F9 !important;
    border-left: none !important;
    border-right: none !important;
    color: #475569 !important;
}
:root:not(.dark) .modern-table tbody td:first-child { border-left: 1px solid #F1F5F9 !important; border-top-left-radius: 8px; border-bottom-left-radius: 8px; }
:root:not(.dark) .modern-table tbody td:last-child { border-right: 1px solid #F1F5F9 !important; border-top-right-radius: 8px; border-bottom-right-radius: 8px; }

/* --- DARK MODE (Premium Neon/Tech) --- */
:root.dark .modern-table thead th {
    /* Fundo gradiente sutil simulando bloco tecnológico */
    background: linear-gradient(180deg, rgba(30,41,59,1) 0%, rgba(15,23,42,1) 100%) !important;
    color: #38BDF8 !important; /* Cyan claro brilhante */
    border-top: 1px solid #0EA5E9 !important; /* Borda Cyan Neon no topo */
    border-bottom: 1px solid #0369A1 !important;
}
:root.dark .modern-table thead th:first-child { border-left: 1px solid #0EA5E9 !important; }
:root.dark .modern-table thead th:last-child { border-right: 1px solid #0EA5E9 !important; }

:root.dark .modern-table tbody tr {
    background-color: #1E293B !important; /* Fundo bloco para a linha */
    box-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
    transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s;
}
:root.dark .modern-table tbody tr:hover {
    background-color: #334155 !important;
    box-shadow: 0 4px 6px rgba(0,0,0,0.5) !important;
    transform: translateY(-1px);
}
:root.dark .modern-table tbody td {
    padding: 12px 16px !important;
    border: none !important;
    color: #CBD5E1 !important; /* Cinza claro elegante */
}
:root.dark .modern-table tbody td:first-child { border-top-left-radius: 8px; border-bottom-left-radius: 8px; }
:root.dark .modern-table tbody td:last-child { border-top-right-radius: 8px; border-bottom-right-radius: 8px; }

/* Cores e bordas dos campos (Apenas no Light Mode) para garantir alto contraste */
:root:not(.dark) input[type="text"], 
:root:not(.dark) input[type="email"], 
:root:not(.dark) input[type="password"], 
:root:not(.dark) input[type="number"], 
:root:not(.dark) input[type="date"], 
:root:not(.dark) select, 
:root:not(.dark) textarea {
    color: #1C2434 !important; /* Texto escuro */
    border-color: #AEB7C0 !important; /* Borda mais visível */
    background-color: #FFFFFF !important; /* Fundo branco pra caixa de texto */
}

/* 
 * -------------------------------------------------------------
 * PROTEÇÃO DOS MODAIS
 * -------------------------------------------------------------
 * Como os modais permanecem com fundo branco fixo, garantimos
 * que suas fontes permaneçam escuras e os inputs brancos, 
 * mesmo que o body inteiro esteja no dark mode.
 */

:root.dark [id^="modal-"] h1,
:root.dark [id^="modal-"] h2,
:root.dark [id^="modal-"] h3,
:root.dark [id^="modal-"] h4,
:root.dark [id^="modal-"] p,
:root.dark [id^="modal-"] label,
:root.dark [id^="modal-"] .text-black,
:root.dark [id^="modal-"] .text-body,
:root.dark [id^="modal-"] .text-bodydark1 {
    color: #1C2434 !important;
}

:root.dark [id^="modal-"] input, 
:root.dark [id^="modal-"] select, 
:root.dark [id^="modal-"] textarea {
    background-color: #FFFFFF !important;
    color: #1C2434 !important;
    border-color: #CBD5E1 !important;
}
