@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap');


body {
  margin: 0;
  padding: 0;
  background-color: rgba(5,5,15,255);
  color: #ffffff;
  font-family: 'Lato', sans-serif;
  font-weight: 500;
  animation: fadeIn 0.8s ease-in-out;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* RESPONSIVE DESIGN PARA EL NUEVO LAYOUT */

/* Diseño responsive para la sección de filtros y tabla */
@media (max-width: 1024px) {
  /* Filtros y tabla se vuelven verticales en tablets */
  .filters-table-container {
    flex-direction: column !important;
  }
  
  .filters-table-container > div {
    min-width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 768px) {
  /* Contenedor principal con menos padding en móvil */
  .main-container {
    padding: 10px 3vw !important;
  }
  
  /* Grid de gráficos adicionales en una sola columna */
  .additional-charts-grid {
    grid-template-columns: 1fr !important;
  }
  
  /* Ajustar títulos para móvil */
  h1 {
    font-size: clamp(28px, 8vw, 36px) !important;
  }
  
  h3 {
    font-size: clamp(16px, 4vw, 20px) !important;
  }
  
  /* Botones más pequeños en móvil */
  .dashboard-type-button {
    width: 70px !important;
    font-size: 10px !important;
    padding: 6px 4px !important;
  }
  
  /* KPIs overlay más pequeño en móvil */
  .kpi-overlay {
    width: 95% !important;
    top: 10px !important;
  }
}

@media (max-width: 480px) {
  /* Contenedor muy compacto para móviles pequeños */
  .main-container {
    padding: 5px 2vw !important;
    gap: 15px !important;
  }
  
  /* Secciones con menos padding */
  .section-container {
    padding: 10px !important;
  }
  
  /* Filtros en columna única */
  .filters-row {
    flex-direction: column !important;
    gap: 10px !important;
  }
}

/* ESTILOS PARA LOS BOTONES DEL TIPO DE TABLERO */
.dashboard-type-button {
    background-color: rgba(18,18,26,.5);
    color: white;
    border: 1px solid #4A4A4A;
    padding: 8px 12px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
    width: 100px;
    text-align: center;
    transition: background-color 0.2s, border-color 0.2s;
}

.dashboard-type-button:hover {
    background-color: rgba(0, 111, 255, 0.3);
    border-color: rgb(0, 111, 255);
}

/* ESTILOS PARA DROPDOWNS ACTIVOS */
.iracing-dropdown.active-filter .Select-control {
    background-color: rgba(0, 111, 255, 0.25) !important;
    border: 1px solid rgba(0, 111, 255, 0.7) !important;
    box-shadow: 0 0 10px rgba(0, 111, 255, 0.3) !important;
}

.iracing-dropdown.active-filter .Select-placeholder,
.iracing-dropdown.active-filter .Select-value-label {
    color: #FFFFFF !important;
}

.iracing-dropdown.active-filter .Select-arrow {
    border-top-color: #FFFFFF !important;
}

/* ESTILOS PARA LA TABLA INTERACTIVA */
#datatable-interactiva .dash-cell {
    font-size: clamp(8px, 0.6vw, 12px) !important;
    padding: 1px 1px !important;
}

#datatable-interactiva .dash-header {
    font-size: clamp(9px, 0.7vw, 10px) !important;
    padding: 2px 1px !important;
}

/* ESTILOS ESPECÍFICOS POR COLUMNA */
#datatable-interactiva .dash-cell[data-dash-column="REGION"] {
    font-size: 10px !important;
}

#datatable-interactiva .dash-cell[data-dash-column="DRIVER"] {
    font-size: 10px !important;
}

#datatable-interactiva .dash-cell[data-dash-column="CLASS"] {
    font-size: 12px !important;
}

#datatable-interactiva .dash-cell[data-dash-column="IRATING"] {
    font-size: 10px !important;
}

#datatable-interactiva .dash-cell[data-dash-column="STARTS"] {
    font-size: 10px !important;
}

#datatable-interactiva .dash-cell[data-dash-column="WINS"] {
    font-size: 10px !important;
}

/* ESTILOS PARA DROPDOWNS Y LABELS */
.iracing-dropdown, 
.iracing-dropdown .Select-value-label, 
.iracing-dropdown .Select-placeholder {
    font-size: clamp(10px, 0.8vw, 14px) !important;
}

label {
    font-size: clamp(11px, 0.8vw, 14px) !important;
}

/* ESTILOS PARA LAS TABLAS DE COMPETITIVIDAD */
#competitiveness-tables-container .pagination {
  justify-content: center;
  margin-top: 5px;
  margin-bottom: 0;
}

#competitiveness-tables-container .page-item .page-link {
  background-color: rgba(11,11,19,1);
  color: rgb(255, 255, 255, .8);
  border: 1px solid #4A4A4A;
  font-size: 12px;
  padding: 4px 10px;
  margin: 0 2px;
  border-radius: 4px;
}

#competitiveness-tables-container .page-item:not(.active) .page-link:hover {
  background-color: #323232;
  color: white;
}

#competitiveness-tables-container .page-item.active .page-link {
  background-color: rgba(0, 111, 255, 0.5);
  border-color: rgb(0, 111, 255);
  color: white;
  font-weight: bold;
}

#competitiveness-tables-container .page-item.disabled .page-link {
  background-color: rgba(11,11,19,1);
  color: #4A4A4A;
  border-color: #323232;
}

/* ESTILOS ESPECÍFICOS PARA LAS TABLAS DE COMPETITIVIDAD */
#competitiveness-tables-container .dash-table-container {
    border-radius: 10px !important;
    overflow: hidden !important;
    max-width: 100% !important;
}

#competitiveness-tables-container .dash-spreadsheet-container {
    max-height: 350px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

#competitiveness-tables-container .dash-cell {
    font-size: 12px !important;
    padding: 6px 8px !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
}

#competitiveness-tables-container .dash-header {
    font-size: 13px !important;
    font-weight: bold !important;
    padding: 8px 6px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important;
}

/* SCROLL PERSONALIZADO PARA LAS TABLAS DE COMPETITIVIDAD */
#competitiveness-tables-container .dash-spreadsheet-container::-webkit-scrollbar {
    width: 6px;
}

#competitiveness-tables-container .dash-spreadsheet-container::-webkit-scrollbar-track {
    background: rgba(30,30,38,1);
    border-radius: 3px;
}

#competitiveness-tables-container .dash-spreadsheet-container::-webkit-scrollbar-thumb {
    background: #4A4A4A;
    border-radius: 3px;
}

#competitiveness-tables-container .dash-spreadsheet-container::-webkit-scrollbar-thumb:hover {
    background: #6c6c6c;
}

/* RESPONSIVE: En móvil las tablas se vuelven verticales */
@media (max-width: 768px) {
    #competitiveness-tables-container > div {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }
    
    #competitiveness-tables-container .dash-spreadsheet-container {
        max-height: 300px !important;
    }
}

/* ASEGURAR QUE LOS CONTENEDORES NO SE SALGAN */
.chart-card {
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.chart-card > div {
    max-width: 100% !important;
    overflow: hidden !important;
}

/* UTILIDADES RESPONSIVE */
.container-fluid {
  max-width: 100%;
  padding: 0;
}

.no-gutters {
  margin: 0;
  padding: 0;
}

/* SCROLLBAR PERSONALIZADO */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: rgba(18,18,26,.5);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: #4A4A4A;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #6c6c6c;
}

/* ESTILOS MEJORADOS PARA LA TABLA CON SCROLL */
#datatable-interactiva .dash-table-container {
    border-radius: 15px !important;
    overflow: hidden !important;
    max-height: 450px !important;
}

#datatable-interactiva .dash-spreadsheet-container {
    max-height: 450px !important;
    overflow-y: auto !important;
    overflow-x: auto !important;
}

/* SCROLL PERSONALIZADO PARA LA TABLA PRINCIPAL */
#datatable-interactiva .dash-spreadsheet-container::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

#datatable-interactiva .dash-spreadsheet-container::-webkit-scrollbar-track {
    background: rgba(30,30,38,1);
    border-radius: 4px;
}

#datatable-interactiva .dash-spreadsheet-container::-webkit-scrollbar-thumb {
    background: #4A4A4A;
    border-radius: 4px;
}

#datatable-interactiva .dash-spreadsheet-container::-webkit-scrollbar-thumb:hover {
    background: #6c6c6c;
}

#datatable-interactiva .dash-spreadsheet-container::-webkit-scrollbar-corner {
    background: rgba(30,30,38,1);
}

/* ASEGURAR QUE EL HEADER PERMANEZCA VISIBLE */
#datatable-interactiva .dash-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important;
    background-color: rgba(30,30,38,1) !important;
}

/* ESTILOS MEJORADOS PARA LOS KPIs VERTICALES DEL PILOTO */
#kpi-pilot .main-svg {
    background: rgba(0,0,0,0) !important;
}

#kpi-pilot .indicator {
    text-align: center !important;
}

/* RESPONSIVE: Ajustar en móvil */
@media (max-width: 768px) {
    #datatable-interactiva .dash-spreadsheet-container {
        max-height: 400px !important;
    }
    
    /* KPIs del piloto más compactos en móvil */
    #kpi-pilot {
        height: 220px !important;
    }
}

/* ESTILOS PARA LA TABLA KPI DEL PILOTO */
#kpi-pilot .dash-table-container {
    background: transparent !important;
    border: none !important;
}

#kpi-pilot .dash-spreadsheet-container {
    background: transparent !important;
    border: none !important;
}

#kpi-pilot .dash-cell {
    background: transparent !important;
    border: none !important;
    font-family: 'Lato, sans-serif' !important;
}

#kpi-pilot .dash-header {
    display: none !important;
}

/* Hover effect sutil para las filas de KPI */
#kpi-pilot tr:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-radius: 8px;
    transition: background-color 0.2s ease;
}

/* Responsive para la tabla KPI */
@media (max-width: 768px) {
    #kpi-pilot {
        height: 220px !important;
    }
    
    #kpi-pilot .dash-cell {
        padding: 8px 4px !important;
        font-size: 12px !important;
    }
    
    #kpi-pilot .dash-cell[data-dash-column="value"] {
        font-size: 18px !important;
    }
}
#pilot-search-dropdown .Select-input > input,
#pilot-search-dropdown .Select-input input {
    color: #FFFFFF !important;
    background-color: transparent !important;
    border: none !important;
    outline: none !important;
    font-family: 'Lato', sans-serif !important;
    caret-color: #FFFFFF !important; /* Color del cursor de texto */
}

#pilot-search-dropdown .Select-input > input::placeholder {
    color: #A0A0A0 !important;
    opacity: 1 !important;
}

#pilot-search-dropdown .Select-placeholder {
    color: #A0A0A0 !important;
}

#pilot-search-dropdown .Select-input > input:focus {
    color: #FFFFFF !important;
    background-color: rgba(11,11,19,1) !important;
}