.user-menu-container{position:relative;display:inline-block}.user-dropdown-menu{position:absolute;top:calc(100% + 10px);right:0;width:260px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{padding:var(--space-4);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.user-dropdown-name{font-weight:700;color:var(--text-main)}.user-role-badge{font-size:.75rem;color:var(--primary);background:rgba(99,102,241,.1);padding:2px 8px;border-radius:12px;display:inline-block;align-self:flex-start;font-weight:600}.menu-group{padding:var(--space-2) 0}.menu-group-title{font-size:.75rem;text-transform:uppercase;color:var(--text-muted);font-weight:700;padding:var(--space-2) var(--space-4);letter-spacing:.05em}.menu-item{display:block;width:100%;padding:8px var(--space-4);color:var(--text-main);text-decoration:none;font-size:.875rem;transition:background .2s;text-align:left;border:none;background:transparent;cursor:pointer}.menu-item:hover:not(.disabled){background:var(--bg-main);color:var(--primary)}.menu-item.disabled{color:var(--text-muted);opacity:.6;cursor:not-allowed}.menu-divider{height:1px;background:var(--border);margin:4px 0}.logout-btn{color:var(--error);font-weight:600;padding:12px var(--space-4)}.logout-btn:hover{background:rgba(239,68,68,.05);color:var(--error)}.user-badge{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0,#4f46e5 100%);color:white;font-weight:700;font-size:.95rem;display:flex;align-items:center;justify-content:center;border:2px solid white;box-shadow:0 2px 4px rgba(99,102,241,.2);transition:all .2s ease;cursor:pointer;padding:0}.user-badge:hover{transform:scale(1.05);box-shadow:0 4px 8px rgba(99,102,241,.3)}.user-badge:focus{outline:none;box-shadow:0 0 0 2px var(--primary-hover)}.user-badge.cursor-not-allowed{cursor:not-allowed}