body { font-family: 'Inter', sans-serif; }

.modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 50;
}

.modal-content {
    max-height: 90vh;
    overflow-y: auto;
}

.table-container {
     max-height: calc(100vh - 250px);
     overflow-y: auto;
}

.dragging {
    opacity: 0.5;
    background: #4f46e5;
}

.toast-message {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    padding: 12px 24px;
    border-radius: 8px;
    color: white;
    font-weight: 500;
    z-index: 100;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.toast-message.show {
    opacity: 1;
}

/* ----- ESTILOS DEL SIDEBAR ----- */
.sidebar-transition {
    transition: width 0.3s ease, transform 0.3s ease;
}

.sidebar-expanded { 
    width: 16rem; /* 256px */
}

.sidebar-collapsed { 
    width: 5rem; /* 80px */
}

.sidebar-collapsed .sidebar-text,
.sidebar-collapsed .sidebar-logo-text,
.sidebar-collapsed .sidebar-user-info,
.sidebar-collapsed .sidebar-group-title {
    display: none;
}

.sidebar-collapsed .sidebar-item-container {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
    border-left-width: 0px !important;
}

.sidebar-collapsed .sidebar-icon {
    margin-right: 0;
}

.custom-scrollbar::-webkit-scrollbar { width: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #475569; }

/* ----- ESTILOS DEL LOGIN (COMPORTAMIENTO RESPONSIVO) ----- */

/* 1. Fondo por defecto (Para móviles - carga una imagen más ligera) */
.login-bg-modern {
    background-image: 
        linear-gradient(rgba(15, 23, 42, 0.75), rgba(30, 41, 59, 0.85)), 
        url('../img/fondo-antenas-movil.webp'); /* Imagen de 800x600px, peso < 100kb */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

/* 2. Fondo para Tablets y Desktop (Pantallas mayores a 768px) */
@media (min-width: 768px) {
    .login-bg-modern {
        background-image: 
            linear-gradient(rgba(15, 23, 42, 0.75), rgba(30, 41, 59, 0.85)), 
            url('../img/fondo-antenas.webp'); /* Imagen Full HD 1920x1080px */
    }
}

.login-input { 
    background-color: #1e293b; 
    border-color: #334155; 
}
