/* FORCE TEXT VISIBILITY - ULTIMATE FIX */
/* This CSS file forces ALL text to be visible with maximum priority */

/* Universal text color override */
*, *::before, *::after,
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    color: #ffffff !important;
}

/* Body and HTML */
html, body {
    background-color: #191A1F !important;
    color: #ffffff !important;
}

/* All text elements */
h1, h2, h3, h4, h5, h6,
p, span, div, label, a, li, small, strong, em, b, i, u,
td, th, caption, legend, option, optgroup {
    color: #ffffff !important;
}

/* Table elements - FORCE VISIBILITY */
table, .table, .table-dark, .table-striped, .table-hover {
    background-color: #222328 !important;
    color: #ffffff !important;
}

table *, .table *, .table-dark *, .table-striped *, .table-hover * {
    color: #ffffff !important;
}

table td, table th,
.table td, .table th,
.table-dark td, .table-dark th,
.table-striped td, .table-striped th,
.table-hover td, .table-hover th {
    color: #ffffff !important;
    background-color: transparent !important;
    border-color: #444 !important;
}

table tbody tr td,
table thead tr th,
.table tbody tr td,
.table thead tr th,
.table-dark tbody tr td,
.table-dark thead tr th {
    color: #ffffff !important;
    background-color: transparent !important;
}

/* Table striped rows */
.table-striped > tbody > tr:nth-of-type(odd),
.table-striped > tbody > tr:nth-of-type(even) {
    background-color: rgba(255, 255, 255, 0.02) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) > td,
.table-striped > tbody > tr:nth-of-type(odd) > th,
.table-striped > tbody > tr:nth-of-type(even) > td,
.table-striped > tbody > tr:nth-of-type(even) > th {
    color: #ffffff !important;
    background-color: transparent !important;
}

/* Table hover */
.table-hover tbody tr:hover,
.table-hover tbody tr:hover td,
.table-hover tbody tr:hover th {
    background-color: rgba(58, 215, 131, 0.1) !important;
    color: #ffffff !important;
}

/* DataTables - FORCE VISIBILITY */
.dataTables_wrapper,
.dataTables_wrapper *,
.dataTables_length,
.dataTables_filter,
.dataTables_info,
.dataTables_paginate,
.dataTables_processing,
.dataTables_empty {
    color: #ffffff !important;
}

.dataTables_length label,
.dataTables_filter label,
.dataTables_info,
.dataTables_paginate .paginate_button {
    color: #ffffff !important;
}

.dataTables_paginate .paginate_button {
    background: #444 !important;
    border: 1px solid #666 !important;
    color: #ffffff !important;
}

.dataTables_paginate .paginate_button:hover,
.dataTables_paginate .paginate_button.current {
    background: #3AD783 !important;
    border-color: #3AD783 !important;
    color: #ffffff !important;
}

.dataTables_paginate .paginate_button.disabled {
    background: #333 !important;
    border-color: #444 !important;
    color: #666 !important;
}

/* Form elements */
.form-control, .form-select, input, select, textarea {
    background-color: #191A1F !important;
    border-color: #444 !important;
    color: #ffffff !important;
}

.form-control:focus, .form-select:focus, input:focus, select:focus, textarea:focus {
    background-color: #191A1F !important;
    border-color: #3AD783 !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 0.2rem rgba(58, 215, 131, 0.25) !important;
}

.form-control::placeholder, input::placeholder, textarea::placeholder {
    color: #adb5bd !important;
}

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

/* Cards */
.card {
    background-color: #222328 !important;
    border-color: #444 !important;
    color: #ffffff !important;
}

.card-header, .card-body, .card-footer {
    background-color: transparent !important;
    color: #ffffff !important;
    border-color: #444 !important;
}

.card-title, .card-text {
    color: #ffffff !important;
}

/* Badges */
.badge {
    color: #ffffff !important;
}

.badge-primary, .bg-primary {
    background-color: #3AD783 !important;
    color: #ffffff !important;
}

.badge-success, .bg-success {
    background-color: #3AD783 !important;
    color: #ffffff !important;
}

.badge-danger, .bg-danger {
    background-color: #dc3545 !important;
    color: #ffffff !important;
}

.badge-warning, .bg-warning {
    background-color: #ffc107 !important;
    color: #000000 !important;
}

.badge-info, .bg-info {
    background-color: #17a2b8 !important;
    color: #ffffff !important;
}

/* Buttons */
.btn {
    color: #ffffff !important;
}

.btn-primary {
    background-color: #3AD783 !important;
    border-color: #3AD783 !important;
    color: #ffffff !important;
}

.btn-outline-primary {
    color: #3AD783 !important;
    border-color: #3AD783 !important;
}

.btn-outline-primary:hover {
    background-color: #3AD783 !important;
    border-color: #3AD783 !important;
    color: #ffffff !important;
}

/* Navigation */
.navbar, .nav, .navbar-nav {
    background-color: #222328 !important;
}

.navbar-brand, .nav-link {
    color: #ffffff !important;
}

.nav-link:hover {
    color: #3AD783 !important;
}

/* Sidebar */
.sidebar {
    background-color: #222328 !important;
    color: #ffffff !important;
}

.sidebar * {
    color: #ffffff !important;
}

.sidebar a {
    color: #ffffff !important;
}

.sidebar a:hover {
    color: #3AD783 !important;
    background-color: rgba(58, 215, 131, 0.1) !important;
}

/* Alerts */
.alert {
    color: #ffffff !important;
}

.alert-success {
    background-color: rgba(58, 215, 131, 0.2) !important;
    border-color: #3AD783 !important;
    color: #ffffff !important;
}

.alert-danger {
    background-color: rgba(220, 53, 69, 0.2) !important;
    border-color: #dc3545 !important;
    color: #ffffff !important;
}

.alert-warning {
    background-color: rgba(255, 193, 7, 0.2) !important;
    border-color: #ffc107 !important;
    color: #ffffff !important;
}

.alert-info {
    background-color: rgba(23, 162, 184, 0.2) !important;
    border-color: #17a2b8 !important;
    color: #ffffff !important;
}

/* Links */
a {
    color: #3AD783 !important;
    text-decoration: none !important;
}

a:hover {
    color: #32c374 !important;
}

/* Text utilities */
.text-muted {
    color: #adb5bd !important;
}

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

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

.text-success {
    color: #3AD783 !important;
}

.text-danger {
    color: #dc3545 !important;
}

.text-warning {
    color: #ffc107 !important;
}

.text-info {
    color: #17a2b8 !important;
}

/* Dropdowns */
.dropdown-menu {
    background-color: #222328 !important;
    border-color: #444 !important;
}

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

.dropdown-item:hover {
    background-color: rgba(58, 215, 131, 0.1) !important;
    color: #3AD783 !important;
}

/* Modals */
.modal-content {
    background-color: #222328 !important;
    color: #ffffff !important;
}

.modal-header, .modal-body, .modal-footer {
    color: #ffffff !important;
    border-color: #444 !important;
}

/* List groups */
.list-group-item {
    background-color: #222328 !important;
    border-color: #444 !important;
    color: #ffffff !important;
}

/* Pagination */
.page-link {
    background-color: #222328 !important;
    border-color: #444 !important;
    color: #ffffff !important;
}

.page-link:hover {
    background-color: #3AD783 !important;
    border-color: #3AD783 !important;
    color: #ffffff !important;
}

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

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

.progress-bar {
    background-color: #3AD783 !important;
}

/* Tooltips and popovers */
.tooltip-inner {
    background-color: #222328 !important;
    color: #ffffff !important;
}

.popover {
    background-color: #222328 !important;
    border-color: #444 !important;
}

.popover-body, .popover-header {
    color: #ffffff !important;
}

/* Table responsive wrapper */
.table-responsive {
    background-color: #222328 !important;
    border: 1px solid #444 !important;
    border-radius: 8px !important;
}

/* Override any remaining white text on white background */
.table-responsive .table,
.table-responsive .table-dark {
    background-color: transparent !important;
    margin-bottom: 0 !important;
}

/* Final catch-all for any missed elements */
[class*="table"] *,
[class*="dataTables"] *,
[class*="card"] *,
[class*="form"] *,
[class*="btn"] *,
[class*="nav"] *,
[class*="alert"] *,
[class*="badge"] *,
[class*="dropdown"] *,
[class*="modal"] *,
[class*="list"] *,
[class*="page"] *,
[class*="progress"] *,
[class*="tooltip"] *,
[class*="popover"] * {
    color: #ffffff !important;
}
