/* Paleta de colores estandarizada */
:root {
    --primary-color: #22002d;
    --secondary-color: #ffffff;
    --primary-light: #4a0a5c;
    --primary-dark: #1a0022;
    --text-on-primary: #ffffff;
    --text-on-secondary: #22002d;
    --text-on-light: #22002d;
    --text-on-dark: #ffffff;
    --border-color: #e0e0e0;
    --hover-color: #f5f5f5;
    --light-bg: #f8f9fa;
    --dark-bg: #22002d;
    --success-color: #28a745;
    --warning-color: #ffc107;
    --danger-color: #dc3545;
    --info-color: #17a2b8;
}

/* Botones primarios */
.btn-primary {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
}

.btn-primary:hover {
    background-color: var(--primary-light) !important;
    border-color: var(--primary-light) !important;
    color: var(--text-on-primary) !important;
}

.btn-outline-primary {
    color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.btn-outline-primary:hover {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
}

/* Botones secundarios */
.btn-secondary {
    background-color: var(--light-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-on-light) !important;
}

.btn-secondary:hover {
    background-color: var(--hover-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--text-on-light) !important;
}

/* Botones de éxito */
.btn-success {
    background-color: var(--success-color) !important;
    border-color: var(--success-color) !important;
    color: var(--text-on-primary) !important;
}

.btn-success:hover {
    background-color: #218838 !important;
    border-color: #1e7e34 !important;
    color: var(--text-on-primary) !important;
}

/* Botones de peligro */
.btn-danger {
    background-color: var(--danger-color) !important;
    border-color: var(--danger-color) !important;
    color: var(--text-on-primary) !important;
}

.btn-danger:hover {
    background-color: #c82333 !important;
    border-color: #bd2130 !important;
    color: var(--text-on-primary) !important;
}

/* Botones de advertencia */
.btn-warning {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
}

.btn-warning:hover {
    background-color: var(--primary-light) !important;
    border-color: var(--primary-light) !important;
    color: var(--text-on-primary) !important;
}

/* Botones de información */
.btn-info {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
}

.btn-info:hover {
    background-color: var(--primary-light) !important;
    border-color: var(--primary-light) !important;
    color: var(--text-on-primary) !important;
}

/* Navbar */
.navbar {
    background-color: var(--primary-color) !important;
}

.navbar-brand,
.navbar-nav .nav-link {
    color: var(--text-on-primary) !important;
}

.navbar-nav .nav-link:hover {
    color: var(--text-on-primary) !important;
    background-color: var(--primary-light);
    border-radius: 4px;
}

/* Tabs */
.nav-tabs .nav-link {
    color: var(--text-on-secondary) !important;
    border-color: var(--border-color) !important;
}

.nav-tabs .nav-link.active {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
}

.nav-tabs .nav-link:hover {
    border-color: var(--primary-color) !important;
    color: var(--primary-color) !important;
}

/* Cards */
.card {
    border-color: var(--border-color) !important;
    background-color: var(--secondary-color) !important;
    color: var(--text-on-light) !important;
}

.card-header {
    background-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
    border-bottom-color: var(--primary-color) !important;
}

.card-body {
    background-color: var(--secondary-color) !important;
    color: var(--text-on-light) !important;
}

.card-footer {
    background-color: var(--light-bg) !important;
    color: var(--text-on-light) !important;
    border-top-color: var(--border-color) !important;
}

/* Forzar texto oscuro en cards blancas */
.card.bg-white, .card.bg-light, .card[style*="background-color: white"], .card[style*="background-color: #fff"] {
    background-color: var(--secondary-color) !important;
    color: var(--text-on-light) !important;
}

.card.bg-white h1, .card.bg-white h2, .card.bg-white h3, .card.bg-white h4, .card.bg-white h5, .card.bg-white h6,
.card.bg-light h1, .card.bg-light h2, .card.bg-light h3, .card.bg-light h4, .card.bg-light h5, .card.bg-light h6,
.card[style*="background-color: white"] h1, .card[style*="background-color: white"] h2, .card[style*="background-color: white"] h3, .card[style*="background-color: white"] h4, .card[style*="background-color: white"] h5, .card[style*="background-color: white"] h6,
.card[style*="background-color: #fff"] h1, .card[style*="background-color: #fff"] h2, .card[style*="background-color: #fff"] h3, .card[style*="background-color: #fff"] h4, .card[style*="background-color: #fff"] h5, .card[style*="background-color: #fff"] h6 {
    color: var(--text-on-light) !important;
}

.card.bg-white p, .card.bg-white span, .card.bg-white div, .card.bg-white label,
.card.bg-light p, .card.bg-light span, .card.bg-light div, .card.bg-light label,
.card[style*="background-color: white"] p, .card[style*="background-color: white"] span, .card[style*="background-color: white"] div, .card[style*="background-color: white"] label,
.card[style*="background-color: #fff"] p, .card[style*="background-color: #fff"] span, .card[style*="background-color: #fff"] div, .card[style*="background-color: #fff"] label {
    color: var(--text-on-light) !important;
}

/* Tables */
.table thead th {
    background-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
    border-color: var(--primary-color) !important;
}

/* Tablas con fondo oscuro - mejorar contraste */
.table-dark {
    background-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
}

.table-dark th,
.table-dark td {
    background-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
    border-color: var(--primary-light) !important;
}

.table-dark thead th {
    background-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
    border-color: var(--primary-light) !important;
}

.table-dark tbody tr:hover {
    background-color: var(--primary-light) !important;
    color: var(--text-on-primary) !important;
}

.table-dark tbody tr:hover td {
    background-color: var(--primary-light) !important;
    color: var(--text-on-primary) !important;
}

/* DataTables específico */
.dataTable thead th {
    background-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
    border-color: var(--primary-light) !important;
}

.dataTable tbody td {
    color: var(--text-on-light) !important;
    background-color: var(--secondary-color) !important;
}

.dataTable tbody tr:hover td {
    background-color: var(--hover-color) !important;
    color: var(--text-on-light) !important;
}

.dataTable tbody tr:nth-child(even) td {
    background-color: #f8f9fa !important;
    color: var(--text-on-light) !important;
}

.dataTable tbody tr:nth-child(odd) td {
    background-color: var(--secondary-color) !important;
    color: var(--text-on-light) !important;
}

/* Form controls */
.form-control:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 0.2rem rgba(34, 0, 45, 0.25) !important;
}

.form-select:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 0.2rem rgba(34, 0, 45, 0.25) !important;
}

/* Alerts */
.alert-primary {
    background-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
    border-color: var(--primary-color) !important;
}

/* Badges */
.badge-primary {
    background-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
}

/* Texto general */
body {
    color: var(--text-on-light) !important;
    background-color: var(--light-bg) !important;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--text-on-light) !important;
}

p, span, div, label {
    color: var(--text-on-light) !important;
}

/* Links */
a {
    color: var(--primary-color) !important;
}

a:hover {
    color: var(--primary-light) !important;
}

/* Texto en fondos oscuros */
.bg-dark, .bg-primary, .navbar, .card-header, .modal-header {
    color: var(--text-on-primary) !important;
}

.bg-dark h1, .bg-dark h2, .bg-dark h3, .bg-dark h4, .bg-dark h5, .bg-dark h6,
.bg-primary h1, .bg-primary h2, .bg-primary h3, .bg-primary h4, .bg-primary h5, .bg-primary h6,
.navbar h1, .navbar h2, .navbar h3, .navbar h4, .navbar h5, .navbar h6,
.card-header h1, .card-header h2, .card-header h3, .card-header h4, .card-header h5, .card-header h6,
.modal-header h1, .modal-header h2, .modal-header h3, .modal-header h4, .modal-header h5, .modal-header h6 {
    color: var(--text-on-primary) !important;
}

.bg-dark p, .bg-dark span, .bg-dark div, .bg-dark label,
.bg-primary p, .bg-primary span, .bg-primary div, .bg-primary label,
.navbar p, .navbar span, .navbar div, .navbar label,
.card-header p, .card-header span, .card-header div, .card-header label,
.modal-header p, .modal-header span, .modal-header div, .modal-header label {
    color: var(--text-on-primary) !important;
}

/* Modal headers */
.modal-header {
    background-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
}

.modal-header .btn-close {
    filter: invert(1);
}

/* DataTables */
.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
    border-color: var(--border-color) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background-color: var(--primary-light) !important;
    border-color: var(--primary-light) !important;
    color: var(--text-on-primary) !important;
}

/* Toast */
.toast-header {
    background-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
}

/* Custom dashboard cards */
.dashboard-card {
    background: linear-gradient(135deg, var(--primary-color), var(--primary-light));
    color: var(--text-on-primary);
    border: none;
}

.dashboard-card .card-body {
    color: var(--text-on-primary);
}

.dashboard-card h1, .dashboard-card h2, .dashboard-card h3, .dashboard-card h4, .dashboard-card h5, .dashboard-card h6 {
    color: var(--text-on-primary);
}

.dashboard-card p, .dashboard-card span, .dashboard-card div, .dashboard-card label {
    color: var(--text-on-primary);
}

/* Stats cards */
.stats-card {
    background-color: var(--secondary-color);
    border-left: 4px solid var(--primary-color);
    box-shadow: 0 2px 4px rgba(34, 0, 45, 0.1);
    color: var(--text-on-light);
}

.stats-card .stats-number {
    color: var(--primary-color);
    font-weight: bold;
}

.stats-card .stats-label {
    color: var(--text-on-light);
}

.stats-card h1, .stats-card h2, .stats-card h3, .stats-card h4, .stats-card h5, .stats-card h6 {
    color: var(--text-on-light);
}

.stats-card p, .stats-card span, .stats-card div, .stats-card label {
    color: var(--text-on-light);
}

/* Company cards */
.company-card {
    border: 1px solid var(--border-color);
    transition: all 0.3s ease;
    background-color: var(--secondary-color);
    color: var(--text-on-light);
}

.company-card:hover {
    border-color: var(--primary-color);
    box-shadow: 0 4px 8px rgba(34, 0, 45, 0.1);
}

.company-card .card-header {
    background-color: var(--primary-color);
    color: var(--text-on-primary);
}

.company-card h1, .company-card h2, .company-card h3, .company-card h4, .company-card h5, .company-card h6 {
    color: var(--text-on-light);
}

.company-card p, .company-card span, .company-card div, .company-card label {
    color: var(--text-on-light);
}

/* Global finances specific */
.finance-summary {
    background: linear-gradient(135deg, var(--primary-color), var(--primary-light));
    color: var(--text-on-primary);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}

.finance-summary h1, .finance-summary h2, .finance-summary h3, .finance-summary h4, .finance-summary h5, .finance-summary h6 {
    color: var(--text-on-primary);
}

.finance-summary p, .finance-summary span, .finance-summary div, .finance-summary label {
    color: var(--text-on-primary);
}

.finance-summary .summary-item {
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 15px;
    margin: 10px 0;
    color: var(--text-on-primary);
}

.finance-summary .summary-item .value {
    font-size: 1.5em;
    font-weight: bold;
    color: var(--text-on-primary);
}

.finance-summary .summary-item h1, .finance-summary .summary-item h2, .finance-summary .summary-item h3, 
.finance-summary .summary-item h4, .finance-summary .summary-item h5, .finance-summary .summary-item h6 {
    color: var(--text-on-primary);
}

.finance-summary .summary-item p, .finance-summary .summary-item span, .finance-summary .summary-item div, 
.finance-summary .summary-item label {
    color: var(--text-on-primary);
}

/* Estilos adicionales para contraste */
.list-group-item {
    background-color: var(--secondary-color) !important;
    color: var(--text-on-light) !important;
    border-color: var(--border-color) !important;
}

.list-group-item.active {
    background-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
    border-color: var(--primary-color) !important;
}

.dropdown-menu {
    background-color: var(--secondary-color) !important;
    border-color: var(--border-color) !important;
}

.dropdown-item {
    color: var(--text-on-light) !important;
}

.dropdown-item:hover {
    background-color: var(--hover-color) !important;
    color: var(--text-on-light) !important;
}

.form-control, .form-select {
    background-color: var(--secondary-color) !important;
    color: var(--text-on-light) !important;
    border-color: var(--border-color) !important;
}

.form-control::placeholder, .form-select::placeholder {
    color: #6c757d !important;
}

/* Override para elementos específicos que puedan tener colores conflictivos */
.text-muted {
    color: #6c757d !important;
}

.text-white {
    color: var(--text-on-primary) !important;
}

.text-dark {
    color: var(--text-on-light) !important;
}

/* Corregir títulos con colores warning, info, success */
.text-warning, .text-info, .text-success, .text-danger {
    color: var(--text-on-light) !important;
}

/* Corregir títulos en general */
h1.text-warning, h2.text-warning, h3.text-warning, h4.text-warning, h5.text-warning, h6.text-warning,
h1.text-info, h2.text-info, h3.text-info, h4.text-info, h5.text-info, h6.text-info,
h1.text-success, h2.text-success, h3.text-success, h4.text-success, h5.text-success, h6.text-success,
h1.text-danger, h2.text-danger, h3.text-danger, h4.text-danger, h5.text-danger, h6.text-danger {
    color: var(--text-on-light) !important;
}

/* Corregir elementos con clases de color */
.bg-warning, .bg-info, .bg-success, .bg-danger {
    background-color: var(--primary-color) !important;
    color: var(--text-on-primary) !important;
}

.bg-warning h1, .bg-warning h2, .bg-warning h3, .bg-warning h4, .bg-warning h5, .bg-warning h6,
.bg-info h1, .bg-info h2, .bg-info h3, .bg-info h4, .bg-info h5, .bg-info h6,
.bg-success h1, .bg-success h2, .bg-success h3, .bg-success h4, .bg-success h5, .bg-success h6,
.bg-danger h1, .bg-danger h2, .bg-danger h3, .bg-danger h4, .bg-danger h5, .bg-danger h6 {
    color: var(--text-on-primary) !important;
}

.bg-warning p, .bg-warning span, .bg-warning div, .bg-warning label,
.bg-info p, .bg-info span, .bg-info div, .bg-info label,
.bg-success p, .bg-success span, .bg-success div, .bg-success label,
.bg-danger p, .bg-danger span, .bg-danger div, .bg-danger label {
    color: var(--text-on-primary) !important;
}

/* Asegurar que los badges tengan contraste */
.badge {
    color: var(--text-on-primary) !important;
}

.badge.bg-light {
    background-color: var(--light-bg) !important;
    color: var(--text-on-light) !important;
}

/* Forzar contraste en todos los elementos */
* {
    color: inherit;
}

/* Asegurar que elementos con fondo blanco tengan texto oscuro */
.bg-white, .bg-light, [style*="background-color: white"], [style*="background-color: #fff"] {
    color: var(--text-on-light) !important;
}

.bg-white h1, .bg-white h2, .bg-white h3, .bg-white h4, .bg-white h5, .bg-white h6,
.bg-light h1, .bg-light h2, .bg-light h3, .bg-light h4, .bg-light h5, .bg-light h6,
[style*="background-color: white"] h1, [style*="background-color: white"] h2, [style*="background-color: white"] h3, [style*="background-color: white"] h4, [style*="background-color: white"] h5, [style*="background-color: white"] h6,
[style*="background-color: #fff"] h1, [style*="background-color: #fff"] h2, [style*="background-color: #fff"] h3, [style*="background-color: #fff"] h4, [style*="background-color: #fff"] h5, [style*="background-color: #fff"] h6 {
    color: var(--text-on-light) !important;
}

.bg-white p, .bg-white span, .bg-white div, .bg-white label,
.bg-light p, .bg-light span, .bg-light div, .bg-light label,
[style*="background-color: white"] p, [style*="background-color: white"] span, [style*="background-color: white"] div, [style*="background-color: white"] label,
[style*="background-color: #fff"] p, [style*="background-color: #fff"] span, [style*="background-color: #fff"] div, [style*="background-color: #fff"] label {
    color: var(--text-on-light) !important;
}

/* Asegurar que elementos con fondo oscuro tengan texto claro */
.bg-dark, .bg-primary, .navbar, .card-header, .modal-header {
    color: var(--text-on-primary) !important;
}

.bg-dark h1, .bg-dark h2, .bg-dark h3, .bg-dark h4, .bg-dark h5, .bg-dark h6,
.bg-primary h1, .bg-primary h2, .bg-primary h3, .bg-primary h4, .bg-primary h5, .bg-primary h6,
.navbar h1, .navbar h2, .navbar h3, .navbar h4, .navbar h5, .navbar h6,
.card-header h1, .card-header h2, .card-header h3, .card-header h4, .card-header h5, .card-header h6,
.modal-header h1, .modal-header h2, .modal-header h3, .modal-header h4, .modal-header h5, .modal-header h6 {
    color: var(--text-on-primary) !important;
}

.bg-dark p, .bg-dark span, .bg-dark div, .bg-dark label,
.bg-primary p, .bg-primary span, .bg-primary div, .bg-primary label,
.navbar p, .navbar span, .navbar div, .navbar label,
.card-header p, .card-header span, .card-header div, .card-header label,
.modal-header p, .modal-header span, .modal-header div, .modal-header label {
    color: var(--text-on-primary) !important;
}

/* Asegurar que las cards tengan el contraste correcto - Mayor especificidad */
body .card {
    background-color: #ffffff !important;
    color: #22002d !important;
}

body .card-header {
    background-color: #22002d !important;
    color: #ffffff !important;
}

body .card-body {
    background-color: #ffffff !important;
    color: #22002d !important;
}

/* Forzar contraste en todos los elementos de cards */
body .card h1, body .card h2, body .card h3, body .card h4, body .card h5, body .card h6 {
    color: #22002d !important;
}

body .card p, body .card span, body .card div, body .card label, body .card td, body .card th {
    color: #22002d !important;
}

body .card-header h1, body .card-header h2, body .card-header h3, body .card-header h4, body .card-header h5, body .card-header h6 {
    color: #ffffff !important;
}

body .card-header p, body .card-header span, body .card-header div, body .card-header label {
    color: #ffffff !important;
}

/* Override específico para elementos problemáticos */
body .bg-white, body .bg-light {
    background-color: #ffffff !important;
    color: #22002d !important;
}

body .bg-white h1, body .bg-white h2, body .bg-white h3, body .bg-white h4, body .bg-white h5, body .bg-white h6,
body .bg-light h1, body .bg-light h2, body .bg-light h3, body .bg-light h4, body .bg-light h5, body .bg-light h6 {
    color: #22002d !important;
}

body .bg-white p, body .bg-white span, body .bg-white div, body .bg-white label,
body .bg-light p, body .bg-light span, body .bg-light div, body .bg-light label {
    color: #22002d !important;
}

/* Estilos específicos para tablas de ventas */
#tablaVentas thead th,
#tablaProductosModal thead th,
#listaVenta thead th,
#listaVentaEdicion thead th {
    background-color: #22002d !important;
    color: #ffffff !important;
    border-color: #4a0a5c !important;
    font-weight: 600 !important;
}

#tablaVentas tbody td,
#tablaProductosModal tbody td {
    background-color: #ffffff !important;
    color: #22002d !important;
    border-color: #e0e0e0 !important;
}

#tablaVentas tbody tr:hover td,
#tablaProductosModal tbody tr:hover td {
    background-color: #f5f5f5 !important;
    color: #22002d !important;
}

#tablaVentas tbody tr:nth-child(even) td,
#tablaProductosModal tbody tr:nth-child(even) td {
    background-color: #f8f9fa !important;
    color: #22002d !important;
}

#tablaVentas tbody tr:nth-child(odd) td,
#tablaProductosModal tbody tr:nth-child(odd) td {
    background-color: #ffffff !important;
    color: #22002d !important;
}

/* Asegurar que los botones en las tablas sean visibles */
#tablaVentas .btn,
#tablaProductosModal .btn {
    color: #ffffff !important;
}

#tablaVentas .btn-primary,
#tablaProductosModal .btn-primary {
    background-color: #22002d !important;
    border-color: #22002d !important;
    color: #ffffff !important;
}

#tablaVentas .btn-danger,
#tablaProductosModal .btn-danger {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #ffffff !important;
}

#tablaVentas .btn-success,
#tablaProductosModal .btn-success {
    background-color: #28a745 !important;
    border-color: #28a745 !important;
    color: #ffffff !important;
}

/* Estilos específicos para el carrito de productos */
.card .table-responsive .table thead.table-dark th {
    background-color: #22002d !important;
    color: #ffffff !important;
    border-color: #4a0a5c !important;
    font-weight: 600 !important;
    text-align: center !important;
    vertical-align: middle !important;
    padding: 12px 8px !important;
}

/* Forzar texto blanco en encabezados de tabla oscura */
.table-dark th,
.table-dark thead th {
    color: #ffffff !important;
    background-color: #22002d !important;
}

/* Específico para la tabla del carrito */
.card .table thead.table-dark th {
    color: #ffffff !important;
    background-color: #22002d !important;
    border-color: #4a0a5c !important;
}

#listaVenta {
    background-color: #ffffff !important;
}

#listaVenta thead th {
    background-color: #22002d !important;
    color: #ffffff !important;
    border-color: #4a0a5c !important;
    font-weight: 600 !important;
    text-align: center !important;
    vertical-align: middle !important;
    padding: 12px 8px !important;
}

#listaVenta tbody td {
    background-color: #ffffff !important;
    color: #22002d !important;
    border-color: #e0e0e0 !important;
    padding: 10px 8px !important;
    vertical-align: middle !important;
    font-size: 14px !important;
    text-align: center !important;
}

#listaVenta tbody tr:hover td {
    background-color: #f5f5f5 !important;
    color: #22002d !important;
    text-align: center !important;
}

#listaVenta tbody tr:nth-child(even) td {
    background-color: #f8f9fa !important;
    color: #22002d !important;
    text-align: center !important;
}

#listaVenta tbody tr:nth-child(odd) td {
    background-color: #ffffff !important;
    color: #22002d !important;
    text-align: center !important;
}

/* Asegurar que todas las celdas de la tabla del carrito estén centradas */
#listaVenta td {
    text-align: center !important;
    vertical-align: middle !important;
}

/* Forzar centrado específico para columnas de valores monetarios */
#listaVenta tbody tr td:nth-child(3),
#listaVenta tbody tr td:nth-child(4),
#listaVenta tbody tr td:nth-child(5),
#listaVenta tbody tr td:nth-child(6) {
    text-align: center !important;
    vertical-align: middle !important;
}

/* Sobrescribir cualquier estilo que pueda estar interfiriendo */
#listaVenta tbody tr td[class*="text-end"],
#listaVenta tbody tr td[class*="text-right"] {
    text-align: center !important;
}

/* Estilos para el contenedor de la tabla del carrito */
.card .table-responsive {
    background-color: #ffffff !important;
}

.card .table-responsive .table {
    margin-bottom: 0 !important;
    background-color: #ffffff !important;
}

/* Estilos para los botones en el carrito */
#listaVenta .btn {
    font-size: 12px !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
}

#listaVenta .btn-danger {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #ffffff !important;
}

#listaVenta .btn-danger:hover {
    background-color: #c82333 !important;
    border-color: #bd2130 !important;
    color: #ffffff !important;
}

/* Asegurar que los números estén alineados correctamente */
#listaVenta .text-end {
    text-align: center !important;
    font-weight: 500 !important;
}

#listaVenta .text-center {
    text-align: center !important;
}

/* Forzar centrado en todas las celdas de la tabla del carrito */
#listaVenta td,
#listaVenta tbody td,
#listaVenta tbody tr td {
    text-align: center !important;
    vertical-align: middle !important;
}

/* Estilos para el encabezado del carrito */
.card-header.bg-success {
    background-color: #28a745 !important;
    color: #ffffff !important;
}

.card-header.bg-success h5 {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Forzar texto blanco en TODOS los encabezados de tabla oscura - Máxima especificidad */
body .card .table-responsive .table thead.table-dark th,
body .table-dark th,
body .table-dark thead th,
body .card .table thead.table-dark th {
    color: #ffffff !important;
    background-color: #22002d !important;
    border-color: #4a0a5c !important;
}

/* Específico para el carrito de productos - Sobrescribir cualquier otro estilo */
body .card .table-responsive .table thead.table-dark th {
    color: #ffffff !important;
    background-color: #22002d !important;
    border-color: #4a0a5c !important;
    font-weight: 600 !important;
}

/* Asegurar que el texto sea blanco en todos los elementos th dentro de table-dark */
.table-dark th,
.table-dark thead th,
.table-dark thead tr th {
    color: #ffffff !important;
    background-color: #22002d !important;
}

/* Estilos para la tabla de edición */
#listaVentaEdicion tbody td {
    background-color: #ffffff !important;
    color: #22002d !important;
    border-color: #e0e0e0 !important;
}

#listaVentaEdicion tbody tr:hover td {
    background-color: #f5f5f5 !important;
    color: #22002d !important;
}

#listaVentaEdicion tbody tr:nth-child(even) td {
    background-color: #f8f9fa !important;
    color: #22002d !important;
}

#listaVentaEdicion tbody tr:nth-child(odd) td {
    background-color: #ffffff !important;
    color: #22002d !important;
}

/* Forzar contraste en todos los elementos de tabla */
.table td, .table th {
    color: inherit !important;
}

/* Asegurar que los badges en las tablas sean visibles */
.badge {
    color: #ffffff !important;
}

.badge.bg-success {
    background-color: #28a745 !important;
    color: #ffffff !important;
}

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

/* SOLUCIÓN FINAL - Forzar texto blanco en encabezados de tabla oscura */
/* Usar máxima especificidad para sobrescribir cualquier otro estilo */
html body .card .table-responsive .table thead.table-dark th,
html body .table-dark th,
html body .table-dark thead th,
html body .table-dark thead tr th,
html body .card .table thead.table-dark th {
    color: #ffffff !important;
    background-color: #22002d !important;
    border-color: #4a0a5c !important;
}

/* Específico para el carrito de productos con máxima prioridad */
html body .card .table-responsive .table thead.table-dark th {
    color: #ffffff !important;
    background-color: #22002d !important;
    border-color: #4a0a5c !important;
    font-weight: 600 !important;
    text-align: center !important;
    vertical-align: middle !important;
    padding: 12px 8px !important;
}

/* MÁXIMA ESPECIFICIDAD - Forzar centrado en todas las celdas del carrito */
html body .card .table-responsive .table tbody tr td,
html body .card .table-responsive .table tbody tr td.text-center,
html body .card .table-responsive .table tbody tr td.text-end {
    text-align: center !important;
    vertical-align: middle !important;
}

/* Print styles */
@media print {
    .btn, .nav-tabs, .navbar {
        display: none !important;
    }
    
    .card {
        border: 1px solid #000 !important;
        break-inside: avoid;
    }
    
    .card-header {
        background-color: #f8f9fa !important;
        color: #000 !important;
    }
}
