/* Google Fonts Import Link */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

/* TEMSA Metallic Theme Variables */
:root {
  /* TEMSA Metallic Gray Theme - Tema Claro */
  --primary-color: #666f6f;
  --primary-light: #fff5eb;
  --accent-color: #ff7f00;
  --notification-color: #dc3545;
  --text-primary: #2c3e50;
  --text-secondary: #5d6d7e;
  --bg-color: #f8f9fa;
  --sidebar-bg: linear-gradient(135deg, #ecf0f1 0%, #d5dbdb 100%);
  --border-color: #bdc3c7;
  --hover-color: rgba(249, 162, 59, 0.08);
  --active-color: rgba(249, 162, 59, 0.15);
  --metallic-accent: #95a5a6;
  --metallic-dark: #34495e;
  --metallic-light: #ecf0f1;
  --shadow-metallic: 0 2px 8px rgba(52, 73, 94, 0.15);
}

[data-theme="dark"] {
  /* TEMSA Metallic Gray Theme - Tema Oscuro */
  --primary-color: #666f6f;
  --primary-light: #2c3e50;
  --notification-color: #e74c3c;
  --text-primary: #ecf0f1;
  --text-secondary: #bdc3c7;
  --bg-color: #2c3e50;
  --sidebar-bg: linear-gradient(135deg, #34495e 0%, #2c3e50 100%);
  --border-color: #4a6741;
  --hover-color: rgba(243, 156, 18, 0.12);
  --active-color: rgba(243, 156, 18, 0.25);
  --metallic-accent: #7f8c8d;
  --metallic-dark: #2c3e50;
  --metallic-light: #5d6d7e;
  --shadow-metallic: 0 4px 12px rgba(0, 0, 0, 0.3);
}

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Inter', 'Poppins', sans-serif;
}

/* ==== ESTILOS PARA SIDEBAR TRADICIONAL (Compatibilidad) ==== */
.sidebar{
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 260px;
  background: #11101d;
  z-index: 100;
  transition: all 0.5s ease;
}

.sidebar.close{
  width: 78px;
}

.sidebar .logo-details{
  height: 60px;
  width: 100%;
  display: flex;
  align-items: center;
}

.sidebar .logo-details i{
  font-size: 30px;
  color: #fff;
  height: 50px;
  min-width: 78px;
  text-align: center;
  line-height: 50px;
}

.sidebar .logo-details .logo_name{
  font-size: 22px;
  color: #fff;
  font-weight: 600;
  transition: 0.3s ease;
  transition-delay: 0.1s;
}

.sidebar.close .logo-details .logo_name{
  transition-delay: 0s;
  opacity: 0;
  pointer-events: none;
}

.sidebar .nav-links{
  height: 100%;
  padding: 30px 0 150px 0;
  overflow: auto;
}

.sidebar.close .nav-links{
  overflow: visible;
}

.sidebar .nav-links::-webkit-scrollbar{
  display: none;
}

.sidebar .nav-links li{
  position: relative;
  list-style: none;
  transition: all 0.4s ease;
}

.sidebar .nav-links li:hover{
  background: #1d1b31;
}

.sidebar .nav-links li .iocn-link{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.sidebar.close .nav-links li .iocn-link{
  display: block
}

.sidebar .nav-links li i{
  height: 50px;
  min-width: 78px;
  text-align: center;
  line-height: 50px;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.sidebar .nav-links li.showMenu i.arrow{
  transform: rotate(-180deg);
}

.sidebar.close .nav-links i.arrow{
  display: none;
}

.sidebar .nav-links li a{
  display: flex;
  align-items: center;
  text-decoration: none;
}

.sidebar .nav-links li a .link_name{
  font-size: 18px;
  font-weight: 400;
  color: #fff;
  transition: all 0.4s ease;
}

.sidebar.close .nav-links li a .link_name{
  opacity: 0;
  pointer-events: none;
}

.sidebar .nav-links li .sub-menu{
  padding: 6px 6px 14px 80px;
  margin-top: -10px;
  background: #1d1b31;
  display: none;
}

.sidebar .nav-links li.showMenu .sub-menu{
  display: block;
}

.sidebar .nav-links li .sub-menu a{
  color: #fff;
  font-size: 15px;
  padding: 5px 0;
  white-space: nowrap;
  opacity: 0.6;
  transition: all 0.3s ease;
}

.sidebar .nav-links li .sub-menu a:hover{
  opacity: 1;
}

.sidebar.close .nav-links li .sub-menu{
  position: absolute;
  left: 100%;
  top: -10px;
  margin-top: 0;
  padding: 10px 20px;
  border-radius: 0 6px 6px 0;
  opacity: 0;
  display: block;
  pointer-events: none;
  transition: 0s;
}

.sidebar.close .nav-links li:hover .sub-menu{
  top: 0;
  opacity: 1;
  pointer-events: auto;
  transition: all 0.4s ease;
}

.sidebar .nav-links li .sub-menu .link_name{
  display: none;
}

.sidebar.close .nav-links li .sub-menu .link_name{
  font-size: 18px;
  opacity: 1;
  display: block;
}

.sidebar .nav-links li .sub-menu.blank{
  opacity: 1;
  pointer-events: auto;
  padding: 3px 20px 6px 16px;
  opacity: 0;
  pointer-events: none;
}

.sidebar .nav-links li:hover .sub-menu.blank{
  top: 50%;
  transform: translateY(-50%);
}

.sidebar .profile-details{
  position: fixed;
  bottom: 0;
  width: 260px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #1d1b31;
  padding: 12px 0;
  transition: all 0.5s ease;
}

.sidebar.close .profile-details{
  background: none;
  width: 78px;
}

.sidebar .profile-details .profile-content{
  display: flex;
  align-items: center;
}

.sidebar .profile-details img{
  height: 52px;
  width: 52px;
  object-fit: cover;
  border-radius: 16px;
  margin: 0 14px 0 12px;
  background: #1d1b31;
  transition: all 0.5s ease;
}

.sidebar.close .profile-details img{
  padding: 10px;
}

.sidebar .profile-details .profile_name,
.sidebar .profile-details .job{
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  white-space: nowrap;
}

.sidebar.close .profile-details i,
.sidebar.close .profile-details .profile_name,
.sidebar.close .profile-details .job{
  display: none;
}

.sidebar .profile-details .job{
  font-size: 12px;
}

/* ==== HOME-SECTION PARA SIDEBAR MODERNO TEMSA ==== */
.home-section{
  position: relative;
  background: var(--bg-color);
  /* Usando variable del tema metálico */
  min-height: 100vh;
  left: 280px; /* Ancho del sidebar moderno expandido */
  width: calc(100% - 280px);
  transition: all 0.3s ease;
  overflow-x: hidden;
  color: var(--text-primary);
  /* Color de texto metálico */
}

/* Cuando el sidebar moderno está colapsado */
.sidebar-modern.collapsed ~ .home-section {
  left: 80px;
  width: calc(100% - 80px);
}

/* Compatibilidad con sidebar tradicional */
.sidebar.close ~ .home-section{
  left: 78px;
  width: calc(100% - 78px);
}

/* Home-content dentro del home-section */
.home-content{
  padding: 0;
  /* Removemos padding aquí porque el home page ya tiene su propio padding */
}

.home-section .home-content .bx-menu,
.home-section .home-content .text{
  color: #1a202c;
  font-size: 35px;
}

.home-section .home-content .bx-menu{
  cursor: pointer;
  margin-right: 10px;
}

.home-section .home-content .text{
  font-size: 26px;
  font-weight: 600;
}

/* ==== RESPONSIVE DESIGN ==== */
@media (max-width: 1200px) {
  .home-section {
    left: 280px;
    width: calc(100% - 280px);
  }
  
  .sidebar-modern.collapsed ~ .home-section {
    left: 80px;
    width: calc(100% - 80px);
  }
}

@media (max-width: 992px) {
  .home-section {
    left: 0 !important;
    width: 100% !important;
    transition: all 0.3s ease;
  }
  
  /* Cuando el sidebar está visible en móvil */
  .sidebar-modern.visible-mobile ~ .home-section {
    transform: translateX(280px);
  }
  
  .sidebar-modern.collapsed.visible-mobile ~ .home-section {
    transform: translateX(80px);
  }
}

@media (max-width: 768px) {
  .home-section {
    padding: 0;
  }
}

@media screen and (max-width: 400px){
  .sidebar{
    width: 240px;
  }
  
  .sidebar.close{
    width: 78px;
  }
  
  .sidebar .profile-details{
    width: 240px;
  }
  
  .sidebar.close .profile-details{
    background: none;
    width: 78px;
  }
  
  .home-section{
    left: 240px;
    width: calc(100% - 240px);
  }
  
  .sidebar.close ~ .home-section{
    left: 78px;
    width: calc(100% - 78px);
  }
}

/* ==== ESTILOS ADICIONALES PARA INTEGRACIÓN ==== */

/* Overlay para móvil cuando el sidebar está abierto */
@media (max-width: 992px) {
  .sidebar-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
  }
  
  .sidebar-overlay.show {
    opacity: 1;
    visibility: visible;
  }
}

/* Transiciones suaves para todos los cambios de layout */
.home-section * {
  transition: inherit;
}

/* Scroll suave para contenido largo */
.home-section {
  scroll-behavior: smooth;
}

/* Evitar que el contenido se corte durante las transiciones */
.home-section {
  overflow-x: hidden;
  overflow-y: visible;
}

/* Asegurar que el contenido sea accesible en todos los tamaños */
@media (min-width: 993px) {
  .home-section {
    min-height: 100vh;
  }
}

/* Mejorar la legibilidad del texto */
.home-section {
  color: #1a202c;
  line-height: 1.6;
}

/* Compatibilidad con el tema oscuro si se implementa */
[data-theme="dark"] .home-section {
  background: #1a202c;
  color: #f7fafc;
}