/**
 * Cores Personalizadas da Empresa
 * Cor Principal: #8b53ff
 */

:root {
    /* Cores principais */
    --primary-color: #8b53ff;
    --primary-dark: #6b3fd9;
    --primary-darker: #5b2fc9;
    --primary-light: #a374ff;
    --primary-lighter: #c9adff;
    --primary-bg: #f5f0ff;
}

/* Sobrescrever cores do Tailwind para usar a cor da empresa */

/* === BACKGROUNDS === */
.bg-blue-50 { background-color: var(--primary-bg) !important; }
.bg-blue-100 { background-color: var(--primary-lighter) !important; }
.bg-blue-500 { background-color: var(--primary-color) !important; }
.bg-blue-600 { background-color: var(--primary-color) !important; }
.bg-blue-700 { background-color: var(--primary-dark) !important; }

/* === HOVER BACKGROUNDS === */
.hover\:bg-blue-50:hover { background-color: var(--primary-bg) !important; }
.hover\:bg-blue-200:hover { background-color: var(--primary-lighter) !important; }
.hover\:bg-blue-600:hover { background-color: var(--primary-dark) !important; }
.hover\:bg-blue-700:hover { background-color: var(--primary-darker) !important; }

/* === TEXT COLORS === */
.text-blue-500 { color: var(--primary-color) !important; }
.text-blue-600 { color: var(--primary-color) !important; }
.text-blue-700 { color: var(--primary-dark) !important; }
.text-blue-800 { color: var(--primary-dark) !important; }

/* === HOVER TEXT === */
.hover\:text-blue-700:hover { color: var(--primary-dark) !important; }
.hover\:text-blue-800:hover { color: var(--primary-darker) !important; }
.hover\:text-blue-900:hover { color: var(--primary-darker) !important; }

/* === BORDERS === */
.border-blue-200 { border-color: var(--primary-lighter) !important; }
.border-blue-300 { border-color: var(--primary-light) !important; }
.border-blue-500 { border-color: var(--primary-color) !important; }
.border-blue-600 { border-color: var(--primary-color) !important; }

/* === HOVER BORDERS === */
.hover\:border-blue-300:hover { border-color: var(--primary-light) !important; }

/* === FOCUS STATES === */
.focus\:ring-blue-500:focus { 
    --tw-ring-color: var(--primary-color) !important; 
}
.focus\:border-blue-500:focus { 
    border-color: var(--primary-color) !important; 
}
.focus\:ring-2:focus { 
    --tw-ring-color: var(--primary-color); 
}

/* === GRADIENTES === */
.gradient-primary {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
}

.gradient-text {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* === BOTÕES === */
.btn-primary {
    background-color: var(--primary-color);
    color: white;
    transition: background-color 0.2s;
}

.btn-primary:hover {
    background-color: var(--primary-dark);
}

.btn-primary:active {
    background-color: var(--primary-darker);
}

/* === LINKS === */
a.link-primary {
    color: var(--primary-color);
    transition: color 0.2s;
}

a.link-primary:hover {
    color: var(--primary-dark);
}

/* === FORMULÁRIOS === */
input:focus,
textarea:focus,
select:focus {
    --tw-ring-color: var(--primary-color);
    border-color: var(--primary-color);
}

/* === CHECKBOX E RADIO === */
input[type="checkbox"]:checked,
input[type="radio"]:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

/* === PROGRESS BAR === */
.progress-bar {
    background-color: var(--primary-color);
}

/* === BADGES === */
.badge-primary {
    background-color: var(--primary-lighter);
    color: var(--primary-dark);
}

/* === ALERTS === */
.alert-primary {
    background-color: var(--primary-bg);
    border-color: var(--primary-lighter);
    color: var(--primary-dark);
}

/* ============================================
   TEMA ESCURO - Overrides globais quando .dark no html
   ============================================ */
.dark {
    color-scheme: dark;
}

/* Backgrounds no tema escuro */
.dark .bg-white {
    background-color: #1f2937 !important;
}
.dark .bg-gray-50 {
    background-color: #111827 !important;
}
.dark .bg-gray-100 {
    background-color: #1f2937 !important;
}
.dark .bg-blue-100 {
    background-color: rgba(139, 83, 255, 0.25) !important;
}
.dark .bg-green-100 {
    background-color: rgba(22, 101, 52, 0.4) !important;
}
.dark .bg-red-100 {
    background-color: rgba(127, 29, 29, 0.4) !important;
}
.dark .bg-yellow-100 {
    background-color: rgba(113, 63, 18, 0.45) !important;
}
.dark .bg-orange-100 {
    background-color: rgba(124, 45, 18, 0.45) !important;
}
.dark .bg-blue-50 {
    background-color: rgba(139, 83, 255, 0.12) !important;
}
.dark .bg-green-50 {
    background-color: rgba(22, 101, 52, 0.2) !important;
}
.dark .bg-red-50 {
    background-color: rgba(127, 29, 29, 0.2) !important;
}
.dark .bg-amber-50 {
    background-color: rgba(120, 53, 15, 0.2) !important;
}
/* Botões tipo "Limpar" (bg-gray-200 / bg-gray-300) - fundo escuro para o texto aparecer */
.dark .bg-gray-200 {
    background-color: #374151 !important;
}
.dark .bg-gray-300 {
    background-color: #4b5563 !important;
}
.dark .hover\:bg-gray-200:hover {
    background-color: #4b5563 !important;
}
.dark .hover\:bg-gray-300:hover {
    background-color: #6b7280 !important;
}
/* Kanban e stats: colunas amarelo/laranja no modo escuro */
.dark .bg-yellow-50 {
    background-color: rgba(113, 63, 18, 0.35) !important;
}
.dark .bg-orange-50 {
    background-color: rgba(124, 45, 18, 0.35) !important;
}
.dark .bg-yellow-200 {
    background-color: rgba(113, 63, 18, 0.5) !important;
}
.dark .bg-orange-200 {
    background-color: rgba(124, 45, 18, 0.5) !important;
}
.dark .bg-green-200 {
    background-color: rgba(22, 101, 52, 0.4) !important;
}
.dark .bg-blue-200 {
    background-color: rgba(139, 83, 255, 0.25) !important;
}
.dark .bg-red-200 {
    background-color: rgba(127, 29, 29, 0.4) !important;
}
.dark .bg-gray-200.text-gray-700,
.dark .bg-gray-200.text-gray-800,
.dark a.bg-gray-200 {
    color: #e5e7eb !important;
}
.dark .hover\:bg-white:hover {
    background-color: #374151 !important;
}
.dark .hover\:bg-gray-50:hover {
    background-color: #374151 !important;
}
.dark .hover\:bg-gray-100:hover {
    background-color: #4b5563 !important;
}
.dark .hover\:bg-blue-50:hover {
    background-color: rgba(139, 83, 255, 0.2) !important;
}

/* Texto no tema escuro */
.dark .text-gray-900 {
    color: #f9fafb !important;
}
.dark .text-gray-800 {
    color: #f3f4f6 !important;
}
.dark .text-gray-700 {
    color: #e5e7eb !important;
}
.dark .text-gray-600 {
    color: #d1d5db !important;
}
.dark .text-gray-500 {
    color: #9ca3af !important;
}
.dark .text-gray-400 {
    color: #9ca3af !important;
}
.dark .text-black {
    color: #f9fafb !important;
}
.dark .hover\:text-gray-900:hover {
    color: #ffffff !important;
}
.dark .hover\:text-gray-800:hover {
    color: #f9fafb !important;
}
.dark .hover\:text-gray-700:hover {
    color: #e5e7eb !important;
}
.dark .hover\:text-gray-600:hover {
    color: #d1d5db !important;
}
/* Kanban / stats: títulos e badges coloridos em modo escuro (texto legível) */
.dark .text-yellow-800 {
    color: #fcd34d !important;
}
.dark .text-yellow-600 {
    color: #fde047 !important;
}
.dark .text-orange-800 {
    color: #fdba74 !important;
}
.dark .text-orange-600 {
    color: #fb923c !important;
}
.dark .text-green-800 {
    color: #86efac !important;
}
.dark .text-green-600 {
    color: #4ade80 !important;
}
.dark .text-red-800 {
    color: #fca5a5 !important;
}
.dark .text-red-600 {
    color: #f87171 !important;
}
.dark .text-blue-800 {
    color: #c4b5fd !important;
}
.dark .text-blue-600 {
    color: var(--primary-light) !important;
}

/* Bordas no tema escuro */
.dark .border-gray-200 {
    border-color: #374151 !important;
}
.dark .border-gray-300 {
    border-color: #4b5563 !important;
}
.dark .border-gray-100 {
    border-color: #374151 !important;
}
.dark .divide-gray-200 > * + * {
    border-color: #374151 !important;
}
.dark .ring-gray-300 {
    --tw-ring-color: #4b5563;
}
.dark .divide-y > * + * {
    border-color: #374151;
}
/* Kanban: bordas das colunas coloridas no modo escuro */
.dark .border-yellow-200 {
    border-color: rgba(113, 63, 18, 0.6) !important;
}
.dark .border-orange-200 {
    border-color: rgba(124, 45, 18, 0.6) !important;
}
.dark .border-green-200 {
    border-color: rgba(22, 101, 52, 0.5) !important;
}
.dark .border-blue-200 {
    border-color: rgba(139, 83, 255, 0.4) !important;
}
.dark .border-red-200 {
    border-color: rgba(127, 29, 29, 0.5) !important;
}

/* Cards, painéis e sombras */
.dark .shadow-sm {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.dark .shadow {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}
.dark .shadow-md {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.4);
}
.dark .shadow-lg {
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.4);
}

/* Formulários no tema escuro */
.dark input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.dark textarea,
.dark select {
    background-color: #374151 !important;
    border-color: #4b5563 !important;
    color: #f3f4f6 !important;
}
.dark input::placeholder,
.dark textarea::placeholder {
    color: #9ca3af !important;
}
.dark input:focus,
.dark textarea:focus,
.dark select:focus {
    border-color: var(--primary-color);
    --tw-ring-color: var(--primary-color);
}

/* Tabelas no tema escuro */
.dark table {
    border-color: #374151;
}
.dark th {
    background-color: #374151 !important;
    color: #e5e7eb !important;
    border-color: #4b5563 !important;
}
.dark td {
    border-color: #4b5563;
    color: #d1d5db;
}
.dark tbody tr:hover td {
    background-color: rgba(55, 65, 81, 0.6) !important;
}

/* Badge e alert no tema escuro */
.dark .badge-primary {
    background-color: rgba(139, 83, 255, 0.3);
    color: #c9adff;
}
.dark .alert-primary {
    background-color: rgba(139, 83, 255, 0.15);
    border-color: rgba(139, 83, 255, 0.3);
    color: #c9adff;
}
