/* CSS para corrigir problemas de contraste e cores claras */

/* Forçar tema escuro em todos os elementos */
* {
    box-sizing: border-box;
}

/* Override global para remover cores claras */
.bg-white,
.white,
[class*="bg-white"],
[class*="bg-gray-50"],
[class*="bg-gray-100"],
[class*="bg-gray-200"] {
    background-color: #2d3748 !important;
    color: #ffffff !important;
}

/* Textos com melhor contraste */
.text-gray-900,
.text-gray-800,
.text-gray-700,
.text-gray-600,
.text-gray-500,
.text-black,
[class*="text-gray-"] {
    color: #ffffff !important;
}

.text-gray-400 {
    color: #cbd5e0 !important;
}

.text-gray-300 {
    color: #e2e8f0 !important;
}

/* Formulários com tema escuro */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="time"],
input[type="week"],
textarea,
select {
    background-color: #374151 !important;
    border-color: #6b7280 !important;
    color: #ffffff !important;
}

input::placeholder,
textarea::placeholder {
    color: #9ca3af !important;
    opacity: 0.8 !important;
}

input:focus,
textarea:focus,
select:focus {
    background-color: #4a5568 !important;
    border-color: #14b8a6 !important;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.2) !important;
    outline: none !important;
}

/* Radio buttons e checkboxes */
input[type="radio"],
input[type="checkbox"] {
    accent-color: #14b8a6 !important;
    background-color: #374151 !important;
    border-color: #6b7280 !important;
}

/* Labels com contraste adequado */
label {
    color: #ffffff !important;
    font-weight: 500 !important;
}

/* Botões com tema escuro */
button,
.btn,
[class*="btn-"] {    
    border-color: #6b7280 !important;
    color: #ffffff !important;
    
}

.btn-primary {
    background-color: #14b8a6 !important;
    border-color: #14b8a6 !important;
    color: #ffffff !important;
}

.btn-secondary {
    background-color: #4a5568 !important;
    border-color: #6b7280 !important;
    color: #ffffff !important;
}

.btn-outline-secondary {
    background-color: transparent !important;
    border-color: #6b7280 !important;
    color: #ffffff !important;
}

.btn-outline-secondary:hover {
    background-color: #14b8a6 !important;
    border-color: #14b8a6 !important;
    color: #ffffff !important;
}

/* Cards e containers */
.card,
[class*="card-"] {
    background-color: #2d3748 !important;
    border-color: #4a5568 !important;
    color: #ffffff !important;
}

.card-body,
.card-header,
.card-footer {
    background-color: #2d3748 !important;
    color: #ffffff !important;
    border-color: #4a5568 !important;
}

/* Tabelas */
.table,
table {
    background-color: #2d3748 !important;
    color: #ffffff !important;
}

.table th,
.table td,
th,
td {
    background-color: #2d3748 !important;
    color: #ffffff !important;
    border-color: #4a5568 !important;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: #374151 !important;
}

/* Alertas */
.alert,
[class*="alert-"] {
    background-color: #2d3748 !important;
    border-color: #4a5568 !important;
    color: #ffffff !important;
}

.alert-success {
    background-color: rgba(16, 185, 129, 0.1) !important;
    border-color: #10b981 !important;
    color: #10b981 !important;
}

.alert-warning {
    background-color: rgba(245, 158, 11, 0.1) !important;
    border-color: #f59e0b !important;
    color: #f59e0b !important;
}

.alert-danger {
    background-color: rgba(239, 68, 68, 0.1) !important;
    border-color: #ef4444 !important;
    color: #ef4444 !important;
}

.alert-info {
    background-color: rgba(6, 182, 212, 0.1) !important;
    border-color: #06b6d4 !important;
    color: #06b6d4 !important;
}

/* Dropdown menus */
.dropdown-menu,
[class*="dropdown-"] {
    background-color: #2d3748 !important;
    border-color: #4a5568 !important;
    color: #ffffff !important;
}

.dropdown-item {
    background-color: #2d3748 !important;
    color: #ffffff !important;
}

.dropdown-item:hover {
    background-color: #4a5568 !important;
    color: #ffffff !important;
}

/* Modais */
.modal-content,
.modal-header,
.modal-body,
.modal-footer {
    background-color: #2d3748 !important;
    border-color: #4a5568 !important;
    color: #ffffff !important;
}

.modal-title {
    color: #ffffff !important;
}

/* Listas */
.list-group,
[class*="list-"] {
    background-color: #2d3748 !important;
    color: #ffffff !important;
}

.list-group-item {
    background-color: #2d3748 !important;
    border-color: #4a5568 !important;
    color: #ffffff !important;
}

.list-group-item:hover {
    background-color: #4a5568 !important;
    color: #ffffff !important;
}

/* Badges */
.badge,
[class*="badge-"] {
    color: #ffffff !important;
}

/* Progress bars */
.progress {
    background-color: #374151 !important;
}

.progress-bar {
    background-color: #14b8a6 !important;
}

/* Navs e tabs */
.nav,
.nav-tabs,
.nav-pills {
    background-color: #2d3748 !important;
    border-color: #4a5568 !important;
}

.nav-link {
    color: #ffffff !important;
    background-color: transparent !important;
}

.nav-link:hover,
.nav-link.active {
    background-color: #4a5568 !important;
    color: #ffffff !important;
}

/* Pagination */
.pagination {
    background-color: #2d3748 !important;
}

.page-link {
    background-color: #2d3748 !important;
    border-color: #4a5568 !important;
    color: #ffffff !important;
}

.page-link:hover {
    background-color: #4a5568 !important;
    color: #ffffff !important;
}

.page-item.active .page-link {
    background-color: #14b8a6 !important;
    border-color: #14b8a6 !important;
    color: #ffffff !important;
}

/* Breadcrumbs */
.breadcrumb {
    background-color: #2d3748 !important;
    color: #ffffff !important;
}

.breadcrumb-item {
    color: #ffffff !important;
}

.breadcrumb-item.active {
    color: #cbd5e0 !important;
}

/* Override específico para Livewire */
[wire\:loading] {
    color: #9ca3af !important;
}

[wire\:loading\.delay] {
    color: #9ca3af !important;
}

/* Garantir que todos os textos sejam visíveis */
h1, h2, h3, h4, h5, h6 {
    color: #ffffff !important;
}

p, span, div, a {
    color: inherit;
}

a {
    color: #14b8a6 !important;
}

a:hover {
    color: #0d9488 !important;
}

/* Forçar contraste em elementos específicos */
.text-muted {
    color: #9ca3af !important;
}

.text-secondary {
    color: #cbd5e0 !important;
}

.text-primary {
    color: #ffffff !important;
}

/* Override para elementos que podem ter cores claras */
.bg-light {
    background-color: #374151 !important;
    color: #ffffff !important;
}

.bg-dark {
    background-color: #1a202c !important;
    color: #ffffff !important;
}

/* Garantir que formulários específicos tenham contraste */
.form-group label {
    color: #ffffff !important;
    font-weight: 600 !important;
}

.form-text {
    color: #9ca3af !important;
}

.form-check-label {
    color: #ffffff !important;
}

/* Override para elementos que podem ter fundo branco */
.container,
.container-fluid {
    background-color: transparent !important;
}

.row {
    background-color: transparent !important;
}

.col,
[class*="col-"] {
    background-color: transparent !important;
}

/* Garantir que todos os elementos tenham contraste adequado */
* {
    color: inherit;
}

/* Override final para garantir contraste */
body, html {
    background-color: #1a202c !important;
    color: #ffffff !important;
}
