/* ============================================ */
/* Gestión de Usuarios > Usuarios (CRUD)         */
/* (usa select-btn/list-items de css/estilos.css */
/*  y Admin_toolbar/table-card/chip de admin.css)*/
/* ============================================ */

/* Encabezados ordenables de la tabla de usuarios */
.Admin_th-orden {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}
.Admin_th-orden i {
    opacity: 0.35;
    font-size: 0.75em;
    margin-left: 0.25rem;
}
.Admin_th-orden.is-sorted i {
    opacity: 1;
}

/* ============================================ */
/* Roles de la web: panel por Módulo › Sección   */
/* ============================================ */
.Usuario_Usuarios_roles-panel {
    border: 1px solid var(--bs-border-color);
    border-radius: 10px;
    padding: 0.6rem;
    background: var(--bs-body-bg);
}
.Usuario_Usuarios_roles-barra {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
}
.Usuario_Usuarios_roles-buscar { flex: 1 1 220px; max-width: 360px; }
.Usuario_Usuarios_roles-resumen { margin: 0.45rem 0.15rem 0.5rem; }
.Usuario_Usuarios_roles-modulos {
    max-height: 420px;
    overflow-y: auto;
    overscroll-behavior: contain;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.Usuario_Usuarios_rol-modulo {
    border: 1px solid var(--bs-border-color);
    border-radius: 8px;
    background: var(--bs-tertiary-bg);
}
.Usuario_Usuarios_rol-modulo-cabecera {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0 0.6rem 0 0;
}
.Usuario_Usuarios_rol-plegar {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    border: 0;
    background: transparent;
    color: var(--bs-body-color);
    padding: 0.55rem 0.7rem;
    text-align: left;
    font-weight: 600;
    min-height: 40px;
}
.Usuario_Usuarios_rol-plegar i { font-size: 0.75rem; color: var(--bs-secondary-color); transition: transform 0.15s ease; }
.Usuario_Usuarios_rol-modulo.abierto .Usuario_Usuarios_rol-plegar i { transform: rotate(90deg); }
.Usuario_Usuarios_rol-contador {
    margin-left: auto;
    font-size: 0.75rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    background: var(--bs-secondary-bg);
    color: var(--bs-secondary-color);
}
.Usuario_Usuarios_rol-contador.activo { background: var(--bs-primary-bg-subtle); color: var(--bs-primary-text-emphasis); }
.Usuario_Usuarios_rol-contador.aviso { background: var(--bs-warning-bg-subtle); color: var(--bs-warning-text-emphasis); }
.Usuario_Usuarios_rol-acciones { font-size: 0.8rem; white-space: nowrap; }
.Usuario_Usuarios_rol-modulo-cuerpo { display: none; padding: 0 0.7rem 0.6rem 2rem; }
.Usuario_Usuarios_rol-modulo.abierto .Usuario_Usuarios_rol-modulo-cuerpo { display: block; }
.Usuario_Usuarios_rol-seccion + .Usuario_Usuarios_rol-seccion { margin-top: 0.5rem; }
.Usuario_Usuarios_rol-seccion-titulo {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--bs-secondary-color);
    margin: 0.2rem 0 0.25rem;
}
.Usuario_Usuarios_rol {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.4rem 0.5rem;
    border-radius: 6px;
    cursor: pointer;
    margin: 0;
}
.Usuario_Usuarios_rol:hover { background: var(--bs-body-bg); }
.Usuario_Usuarios_rol.marcado { background: var(--bs-body-bg); }
.Usuario_Usuarios_rol input { margin-top: 0.2rem; flex: 0 0 auto; }
.Usuario_Usuarios_rol-tipo {
    flex: 0 0 auto;
    min-width: 62px;
    text-align: center;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
    margin-top: 0.1rem;
    background: var(--bs-secondary-bg);
}
.Usuario_Usuarios_rol-tipo-L { background: var(--bs-info-bg-subtle); color: var(--bs-info-text-emphasis); }
.Usuario_Usuarios_rol-tipo-M { background: var(--bs-warning-bg-subtle); color: var(--bs-warning-text-emphasis); }
.Usuario_Usuarios_rol-tipo-C { background: var(--bs-danger-bg-subtle); color: var(--bs-danger-text-emphasis); }
.Usuario_Usuarios_rol-texto { display: flex; flex-direction: column; min-width: 0; }
.Usuario_Usuarios_rol-nombre { font-weight: 600; font-size: 0.9rem; }
.Usuario_Usuarios_rol-texto small { color: var(--bs-secondary-color); line-height: 1.3; }
.Usuario_Usuarios_rol-aviso { display: none; color: var(--bs-warning); margin-left: 0.3rem; }
.Usuario_Usuarios_rol.sin-habilitar .Usuario_Usuarios_rol-aviso { display: inline; }
.Usuario_Usuarios_roles-bloqueado .Usuario_Usuarios_rol { cursor: default; opacity: 0.75; }

/* Tabla de usuarios: chips de clientes / roles en una línea y botones de acción en línea */
.Usuario_Usuarios_chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    align-items: center;
}
.Usuario_Usuarios_chips .Admin_chip { margin: 0; white-space: nowrap; }
#Usuario_Usuarios_tbody .Admin_row-actions {
    white-space: nowrap;
    width: 1%;
}
#Usuario_Usuarios_tbody .Admin_row-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
}
#Usuario_Usuarios_tbody .Admin_row-actions .btn + .btn { margin-left: 0.25rem; }
