/* Estilos generales */
body {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    background-color: #121212;
    color: #b5b5b5;
    overflow-x: hidden; /* Evita el desbordamiento horizontal */
}

/* Contenedor del dashboard */
.dashboard-container {
    display: flex;
    flex-direction: column; /* Cambia la dirección a columna en dispositivos móviles */
    min-height: 100vh; /* Asegúrate de que el contenedor ocupe al menos el alto de la pantalla */
    box-sizing: border-box;
}

/* Columna izquierda */
.left-column {
    width: 100%; /* Ocupa todo el ancho en dispositivos móviles */
    background-color: #1f1f1f;
    color: #ffffff;
    padding: 20px;
    box-sizing: border-box;
    border-bottom: 1px solid #333; /* Cambia el borde derecho por borde inferior */
    transition: background-color 0.3s ease;
}

/* Imagen del perfil */
.profile-pic {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    margin-bottom: 10px;
    border: 3px solid #007bff;
    transition: transform 0.3s ease;
}

.profile-pic:hover {
    transform: scale(1.1);
}

/* Información del usuario */
.user-info {
    text-align: center;
    margin-bottom: 20px; /* Reduce el margen para mejor visualización en móviles */
}

.user-info h3 {
    margin: 10px 0;
    font-size: 22px; /* Ajusta el tamaño de la fuente */
    color: #ffffff;
}

.user-info p {
    margin: 5px 0;
    font-size: 16px; /* Ajusta el tamaño de la fuente */
    color: #b0b0b0;
}

/* Menú */
.menu {
    display: flex;
    flex-direction: column;
    gap: 10px; /* Reduce el espacio entre botones */
}

.menu button {
    padding: 15px;
    font-size: 14px; /* Ajusta el tamaño de la fuente */
    color: #007bff;
    background-color: #2c2c2c;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.menu button:hover {
    background-color: #007bff;
    color: #ffffff;
    transform: scale(1.05);
}

/* Columna derecha */
.right-column {
    flex: 1; /* Permite que esta columna ocupe el espacio disponible */
    padding: 20px;
    box-sizing: border-box;
    background-color: #181818;
    overflow-y: auto; /* Permite el desplazamiento vertical si el contenido es más grande que el área visible */
    opacity: 1;
    transform: translateX(0);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

/* Efectos de entrada para el contenido */
.right-column.loading {
    opacity: 0.5;
}

/* Títulos y párrafos en la columna derecha */
.right-column h2 {
    font-size: 24px; /* Ajusta el tamaño de la fuente */
    color: #ffffff;
    margin-bottom: 10px; /* Agrega margen inferior para espacio */
}

.right-column p {
    font-size: 14px; /* Ajusta el tamaño de la fuente */
    color: #a0a0a0;
    margin-bottom: 15px; /* Agrega margen inferior para espacio */
}

/* Sección de campañas */
table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    background-color: #1c1c1c;
    border-radius: 10px;
    overflow: hidden;
}

table thead {
    background-color: #007bff;
}

table th, table td {
    padding: 10px; /* Ajusta el padding */
    text-align: left;
    color: #ffffff;
}

table th {
    font-size: 16px; /* Ajusta el tamaño de la fuente */
}

table tbody tr:hover {
    background-color: #333;
}

table tbody tr {
    border-bottom: 1px solid #333;
}

/* Enlace para cambiar el plan */
.change-plan-link {
    display: block; /* Cambia a bloque para mejor disposición en móviles */
    margin-top: 15px;
    color: #007bff;
    text-decoration: none;
    font-weight: bold;
    transition: color 0.3s ease;
}

.change-plan-link:hover {
    color: #0056b3;
}

/* Sección de campañas */
.campaigns-section {
    margin-top: 20px;
    padding: 20px;
    background-color: #202020;
    border-radius: 10px;
}

/* Sección de tips */
.tips-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    background-color: #1c1c1c;
    border-radius: 10px;
    overflow: hidden;
}

.tips-table thead {
    background-color: #007bff;
}

.tips-table th, .tips-table td {
    padding: 10px; /* Ajusta el padding */
    text-align: left;
    color: #ffffff;
}

.tips-table th {
    font-size: 16px; /* Ajusta el tamaño de la fuente */
}

.tips-table tbody tr:hover {
    background-color: #333;
}

.tips-table tbody tr {
    border-bottom: 1px solid #333;
}

/* Loader */
.loader {
    border: 8px solid #f3f3f3;
    border-top: 8px solid #007bff;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
    margin: 0 auto;
    margin-top: 20px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Estilos para los íconos en los enlaces */
.link-icon {
    width: 20px; /* Ajusta el ancho según sea necesario */
    height: 20px; /* Ajusta la altura según sea necesario */
    vertical-align: middle; /* Alinea el ícono con el texto del enlace */
    margin-left: 10px; /* Espacio entre el enlace y el ícono */
}

.filter-buttons {
    margin-bottom: 20px;
}

.filter-button {
    background-color: #007bff;
    color: white;
    padding: 10px 15px;
    margin-right: 10px;
    text-decoration: none;
    border-radius: 5px;
}

.filter-button:hover {
    background-color: #0056b3;
}


/* Responsividad */
@media (max-width: 768px) {
    .left-column {
        width: 100%; /* Ajusta el ancho para pantallas pequeñas */
        border-right: none; /* Elimina el borde derecho */
        border-bottom: 1px solid #333; /* Añade borde inferior en pantallas pequeñas */
    }
    
    .right-column {
        width: 100%; /* Ajusta el ancho para pantallas pequeñas */
    }

    .menu button {
        padding: 12px; /* Ajusta el padding en botones para pantallas pequeñas */
        font-size: 12px; /* Ajusta el tamaño de la fuente */
    }

    /* Ajusta el tamaño del footer en pantallas pequeñas */
    footer {
        padding: 15px;
    }
}
