/* Contenedor principal */
.users {
    margin: 20px 0;
}

/* Contenedor unificado (título + tabla) */
.users .tabla-contenedor {
    background-color: #1E1E2F;
    padding: 20px;
    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

/* Título dentro del contenedor */
.users .tabla-contenedor h2 {
    font-size: 22px;
    margin-bottom: 15px;
    color: #FFD700;
}

/* Tabla mejorada para usuarios */
.users table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 3px 3px; /* 3px entre columnas, 3px entre filas */
    font-family: 'Segoe UI', sans-serif;
}

/* Encabezados */
.users thead th {
    background-color: #2C2C50; /* un gris más oscuro para diferenciar */
    text-align: left;
    padding: 12px 25px; /* aumentamos el padding horizontal */
    font-weight: 600;
    font-size: 15px;
    color: #FFD700;
    border-radius: 10px 10px 0 0;
    letter-spacing: 0.5px;
}

/* Filas */
.users tbody tr {
    background-color: #2A2A3C;
    border-radius: 8px;
    transition: transform 0.2s, background-color 0.2s, box-shadow 0.2s;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.users tbody tr:hover {
    background-color: #3C3C50;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

/* Celdas */
.users tbody td {
    padding: 14px 20px; /* más espaciado */
    font-size: 14px;
    color: #EEE;
}

/* Columna ID pequeña */
.users tbody td:first-child {
    width: 50px;
    font-weight: 600;
}

/* Columna rol centrada */
.users tbody td:nth-child(4) {
    text-align: center;
}

/* Última columna: acciones centradas con íconos */
.users tbody td:last-child {
    text-align: center;
}

.users td.acciones {
    display: flex;
    justify-content: center;
    gap: 12px;
}

.users td.acciones .icon {
    font-size: 17px;
    cursor: pointer;
    transition: transform 0.2s, color 0.2s;
}

.users td.acciones .icon.editar:hover {
    color: #FFD700;
    transform: scale(1.3);
}

.users td.acciones .icon.eliminar:hover {
    color: #FF4C4C;
    transform: scale(1.3);
}


/* MODALES */
.modal {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(0,0,0,0.6);
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

/* Contenido del modal */
.modal-content {
    background-color: #2C2C3E;
    padding: 25px 30px;
    border-radius: 15px;
    width: 400px;
    max-width: 90%;
    color: #FFF;
    display: flex;
    flex-direction: column;
    gap: 15px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.3);
    animation: modalFadeIn 0.3s ease-out;
}

/* Animación de aparición */
@keyframes modalFadeIn {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Título */
.modal-content h3 {
    color: #FFD700;
    text-align: center;
    margin-bottom: 15px;
    font-size: 20px;
}

/* Labels e Inputs/Select */
.modal-content label {
    display: flex;
    flex-direction: column;
    font-size: 14px;
    margin-bottom: 8px;
    color: #EEE;
}

.modal-content input,
.modal-content select {
    padding: 10px 12px;
    border-radius: 8px;
    border: none;
    outline: none;
    font-size: 14px;
    margin-top: 5px;
    background-color: #1E1E2F;
    color: #FFF;
}

/* Botones */
.modal-buttons {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    gap: 10px;
}

.modal-buttons button {
    flex: 1;             /* Cada botón ocupa el mismo ancho automáticamente */
    margin: 0 5px;       /* Separación entre ellos */
    padding: 10px;       /* Altura cómoda */
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    font-size: 14px;

    border: 1px solid #444;   /* Contorno más fino y sutil */
    outline: none;             /* Quita el borde azul de foco del navegador */
    transition: all 0.2s;      /* Suaviza hover y cambios */
}

.modal-buttons button:hover {
    transform: scale(1.03);    /* Efecto leve al pasar el mouse */
    filter: brightness(1.1);   /* Resalta el botón ligeramente */
}


.btn-amarillo {
    background-color: #FFD700;
    color: #1E1E2F;
    border: none;
    border-radius: 8px;
    padding: 10px 15px;
    font-weight: 600;
    cursor: pointer;
}

.btn-gris {
    background-color: #555;
    color: #FFF;
    border: none;
    border-radius: 8px;
    padding: 10px 15px;
    font-weight: 600;
    cursor: pointer;
}

#btn-confirmar {
    background-color: #FF4C4C;
    color: #FFF;
}

/* Estilo moderno para el select del Nivel */
#editar-nivel {
    appearance: none;           /* Quita estilo nativo del navegador */
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #2C2C3E; /* Mismo color que el modal */
    color: #FFF;                /* Texto blanco */
    padding: 10px 40px 10px 12px; /* Espaciado interno (derecha más para la flecha) */
    border: 1px solid #444;     /* Borde fino */
    border-radius: 6px;          /* Bordes redondeados */
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    outline: none;               /* Quita borde azul de foco */
    background-image: url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="5"><polygon points="0,0 10,0 5,5" fill="white"/></svg>'); /* Flecha personalizada */
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 10px 5px;
    transition: all 0.2s;
}

#editar-nivel:hover {
    filter: brightness(1.1);
}

#editar-nivel:focus {
    border-color: #FFD700; /* Resalta al seleccionar */
    box-shadow: 0 0 6px rgba(255,215,0,0.5);
}

/* Opciones desplegables */
#editar-nivel option {
    background-color: #2C2C3E; /* Mismo color que modal */
    color: #FFF;
    padding: 8px 12px;
}
